bthome 0.02: Fix double-button press if you press the next button within 30s (#3243)
parent
905a7b11b2
commit
306ccb3fe3
|
|
@ -1 +1,2 @@
|
||||||
0.01: New App!
|
0.01: New App!
|
||||||
|
0.02: Fix double-button press if you press the next button within 30s (#3243)
|
||||||
|
|
@ -19,12 +19,16 @@ Bangle.btHomeData = [];
|
||||||
|
|
||||||
/* Global function to allow advertising BTHome adverts
|
/* Global function to allow advertising BTHome adverts
|
||||||
extras = array of extra data, see require("BTHome").getAdvertisement - can add {n:0/1/2} for different instances
|
extras = array of extra data, see require("BTHome").getAdvertisement - can add {n:0/1/2} for different instances
|
||||||
options = { event : an event - advertise fast, and when connected
|
options = {
|
||||||
|
event : an event - advertise fast, and when connected
|
||||||
}
|
}
|
||||||
*/
|
*/
|
||||||
Bangle.btHome = function(extras, options) {
|
Bangle.btHome = function(extras, options) {
|
||||||
options = options||{};
|
options = options||{};
|
||||||
if(extras) { // update with extras
|
// clear any existing events
|
||||||
|
Bangle.btHomeData.forEach(d => {if (d.type=="button_event") d.v="none";});
|
||||||
|
// update with extras
|
||||||
|
if (extras) {
|
||||||
extras.forEach(extra => {
|
extras.forEach(extra => {
|
||||||
var n = Bangle.btHomeData.find(b=>b.type==extra.type && b.n==extra.n);
|
var n = Bangle.btHomeData.find(b=>b.type==extra.type && b.n==extra.n);
|
||||||
if (n) Object.assign(n, extra);
|
if (n) Object.assign(n, extra);
|
||||||
|
|
@ -60,9 +64,7 @@ Bangle.btHome = function(extras, options) {
|
||||||
if (Bangle.btHomeTimeout) clearTimeout(Bangle.btHomeTimeout);
|
if (Bangle.btHomeTimeout) clearTimeout(Bangle.btHomeTimeout);
|
||||||
Bangle.btHomeTimeout = setTimeout(function() {
|
Bangle.btHomeTimeout = setTimeout(function() {
|
||||||
delete Bangle.btHomeTimeout;
|
delete Bangle.btHomeTimeout;
|
||||||
// clear events
|
|
||||||
Bangle.btHomeData.forEach(d => {if (d.type=="button_event") d.v="none";});
|
|
||||||
// update
|
// update
|
||||||
Bangle.btHome();
|
Bangle.btHome();
|
||||||
},updateTimeout);
|
}, updateTimeout);
|
||||||
};
|
};
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,7 @@
|
||||||
{ "id": "bthome",
|
{ "id": "bthome",
|
||||||
"name": "BTHome",
|
"name": "BTHome",
|
||||||
"shortName":"BTHome",
|
"shortName":"BTHome",
|
||||||
"version":"0.01",
|
"version":"0.02",
|
||||||
"description": "Allow your Bangle to advertise with BTHome and send events to Home Assistant via Bluetooth",
|
"description": "Allow your Bangle to advertise with BTHome and send events to Home Assistant via Bluetooth",
|
||||||
"icon": "icon.png",
|
"icon": "icon.png",
|
||||||
"type": "app",
|
"type": "app",
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue