NEWS
"Kühlschrank offen" Benachrichtigung über Telegram
-
Hallo,
ich möchte eine Benachrichtigung über Telegram erhalten, falls der Kühlschrank mal offen steht.
Dazu soll z.B. bei einer gewissen Leistungsaufnahme über einen längeren Zeitraum eine Telegram Nachricht gesendet werden, diese sollte dann auch immer wieder wiederholt werden.
Leider bekomme ich beim aktuellen Blockly dauernd Benachrichtigungen, da natürlich ständig getriggert wird.
Was muss ich ändern, damit ich die Benachrichtigung einmalig erhalte und anschließend z.B. alle 30 Minuten, solange die Leistung nicht abfällt? -
@hans_m sagte: Benachrichtigung einmalig erhalte und anschließend z.B. alle 30 Minuten
Man benötigt eine Sperre, die einen Mehrfachstart des Intervalls verhindert. Dazu kann die Timer-Variable selbst dienen:
Das Intervall enthält eine erstmalige Verzögerung.
-
@paul53 vielen Dank für den Gedankenanstoß...scheint nach einem ersten Test zu funktionieren.
-
Du schreibst "Kühlschrank offen" ... warum nimmst du nicht einen Türsensor (zigbee xiaomi u.a.) und nutzt diesen? So hab ich es gelöst und bin sehr zufrieden. Ich trigger auf 3 und 10 Minuten und bekomme dann ein push Nachricht.
Der Verbrauch / Laufzeit wird große Schwankungen haben und Fehlalarme produzieren: Wochenendeinkauf und du räumst viel ein, dann läuft er länger / Sommerhitze und er läuft länger. Es gibt wohl inzwischen auch Kühlgeräte, die ständig (mit geringer) Leistung laufen.
-
@paul53 kannst du mir die Logik des mittleren Teils erklären?
"sonst falls nicht Intervall Intervall"Der Anfang ist klar: es wird auf Leistung getriggert und bei Unterschreitung des Werts 50 wird der Zyklus "Intervall" gestoppt. Aber dann?
-
@lobomau sagte: bei Unterschreitung des Werts 50 wird der Zyklus "Intervall" gestoppt.
... und die Timer-Variable
Intervall
auf null gesetzt.@lobomau sagte in "Kühlschrank offen" Benachrichtigung über Telegram:
die Logik des mittleren Teils erklären?
Wenn der Timer (Intervall) läuft, sperrt "falls nicht Intervall Intervall" einen erneuten Start des Intervalls. Wurde im oberen Teil die Timer-Variable auf null gesetzt, kann das Intervall bei
Wert
>= 50 (sonst) wieder starten.
Die Bedingung "falls nicht Intervall Intervall" ist erfüllt beiIntervall
= null und auch beiIntervall
= undefined (nach Skriptstart).
Siehe auch