Script läuft jetzt. Vielen Dank.
Aus akademischen Interesse, weil ich es verstehen will: ich habe in dem Script jetzt nochmal testweise das direkte Senden über die pushover function deaktiviert:
var timer = null;
on(ErschSensorGaesteLinks, function (dp) {
let anwesend = getState(IDAnwesend).val;
let beschreibung = "";
if (dp.state.val) {
log("ErschSensorGaesteLinks ist wahr");
timer = setTimeout(function() {
setState(FnstrGaesteUntLinksLangOFFEN, true);
log("lang offen TRUE");
timer = null;
if(anwesend) {
let ton = "spacealarm";
let beschreibung = "OFFEN!";
// pushoverSenden (titel, beschreibung, ton, prioritaet );
}
}, 3000);
} else if (timer) {
clearTimeout(timer);
setState(FnstrGaesteUntLinksEINBRUCH, true);
log("FnstrGaesteUntLinksEINBRUCH ist wahr");
beschreibung = "EINBRUCH!";
let ton = "updown";
} else {
setState(FnstrGaesteUntLinksLangOFFEN, false);
log("lang offen FALSE")
if(anwesend) {
beschreibung = "GESCHLOSSEN!";
};
}
if(beschreibung) {
let ton = "spacealarm";
// pushoverSenden(titel, beschreibung, ton, prioritaet);
}
});
und mein "altes" pushover Script (zusätzlich) wieder aktiviert
on({id: IDAusloeser, val: true}, function () {
if (IDAnwesend) {
sendTo("pushover.0",
in der Annahme, dass ja die WebUI Variable
IDAusloeser ='hm-rega.0.43334'/*FnstrGaesteUntLinks lang OFFEN*/;
im ersten Script auf wahr gesetzt wird, dass nun auch dieses alte pushover Script getriggert wird. Und, ja, es wird ausgelöst.
Aber zweimal. Und das verstehe ich nicht.
Ändere ich aber das alte pushover Script wie folgt ab
on(IDAusloeser, function (dp) {
if (dp.state.val && IDAnwesend) {
sendTo("pushover.0", {
dann wird es nur einmal, ergo richtig ausgelöst.
Mit anderen Worten meine Frage: Was ist der Unterschied zwischen
on(IDAusloeser, function (dp) {
if (dp.state.val && IDAnwesend) {
und
on({id: IDAusloeser, val: true}, function () {
if (IDAnwesend) {