NEWS
Zustand einer Variable wird dauerhaft per Telegram gesendet
-
Guten Abend,
für das folgende Problem habe ich mich hier schon komplett durch das Skripting-Forum gelesen, komme aber dennoch nicht ans Ziel.
Der installierte hm_pdetect in der Homematic ändert eine Systemvariable bei Anwesenheit auf "TRUE". Diese wird über den unten stehenden Code abgefragt
und wenn der Wert "TRUE" ist, ein Text über Telegram versendet.
Mein Problem:
Mit "on" wird die Variable durchgehend belauscht & ich bekomme unendlich viele Nachrichten per Telegram.
Gibt es eine Funktion, die nur bei Änderung der Variable von TRUE/FALSE auslöst?
on({id:"hm-rega.0.1237"/*Anwesenheit.Klaus*/, val: true}, function() { sendTo('telegram', "Klaus ist zu Hause"); });Meine Idee wäre ansonsten noch die letzte Änderungszeit der Variable zu vergleichen und darüber dann nur einmal auszulösen.
Das kann ich mit meinen schlechten Java-Script Kenntnissen aber nicht umsetzen.
Bin um jede Hilfe dankbar.
Gruß Micha 8-)
-
Guten Abend,
für das folgende Problem habe ich mich hier schon komplett durch das Skripting-Forum gelesen, komme aber dennoch nicht ans Ziel.
Der installierte hm_pdetect in der Homematic ändert eine Systemvariable bei Anwesenheit auf "TRUE". Diese wird über den unten stehenden Code abgefragt
und wenn der Wert "TRUE" ist, ein Text über Telegram versendet.
Mein Problem:
Mit "on" wird die Variable durchgehend belauscht & ich bekomme unendlich viele Nachrichten per Telegram.
Gibt es eine Funktion, die nur bei Änderung der Variable von TRUE/FALSE auslöst?
on({id:"hm-rega.0.1237"/*Anwesenheit.Klaus*/, val: true}, function() { sendTo('telegram', "Klaus ist zu Hause"); });Meine Idee wäre ansonsten noch die letzte Änderungszeit der Variable zu vergleichen und darüber dann nur einmal auszulösen.
Das kann ich mit meinen schlechten Java-Script Kenntnissen aber nicht umsetzen.
Bin um jede Hilfe dankbar.
Gruß Micha 8-) `
So sollte gehen:on("hm-rega.0.1237"/*Anwesenheit.Klaus*/, function(obj) { if (obj.state.val) sendTo('telegram', "Klaus ist zu Hause"); }); -
So sollte gehen:
on("hm-rega.0.1237"/*Anwesenheit.Klaus*/, function(obj) { if (obj.state.val) sendTo('telegram', "Klaus ist zu Hause"); }); ```` `oder so:
on({id:"hm-rega.0.1237"/*Anwesenheit.Klaus*/, val: true, change: "ne"}, function() { sendTo('telegram', "Klaus ist zu Hause"); });
Hey! Du scheinst an dieser Unterhaltung interessiert zu sein, hast aber noch kein Konto.
Hast du es satt, bei jedem Besuch durch die gleichen Beiträge zu scrollen? Wenn du dich für ein Konto anmeldest, kommst du immer genau dorthin zurück, wo du zuvor warst, und kannst dich über neue Antworten benachrichtigen lassen (entweder per E-Mail oder Push-Benachrichtigung). Du kannst auch Lesezeichen speichern und Beiträge positiv bewerten, um anderen Community-Mitgliedern deine Wertschätzung zu zeigen.
Mit deinem Input könnte dieser Beitrag noch besser werden 💗
Registrieren Anmelden