NEWS
Meldung wenn Zeitstempel nicht geändert wurde
-
Hallo.
Über ein bash-Script lese ich über telnet die Werte vom Hargassner Pelletsofen aus und diese werden dann in den iobroker übertragen. Das funktioniert soweit ganz gut.
Jetzt hatte ich jedoch ein paar Mal das Problem, dass scheinbar irrtümlich der Hauptschalter vom Ofen ausgeschaltet wurde.Das heisst, das script läuft zwar weiter, überträgt aber keine Daten in den Iobroker.
Wie kann ich nun über ein Blockly-Script einen dieser Werte abfragen und zwar nach dem Zeitstempel, sodass mir z.B. über Alexa mitgeteilt wird, wenn sich dieser Wert über einen Zeitraum von z.B. 30 Minuten nicht mehr geändert hat.
Kann mir bitte hier jemand helfen ?
DANKE. -
@manfredh-1 sagte in Meldung wenn Zeitstempel nicht geändert wurde:
Hallo.
Über ein bash-Script lese ich über telnet die Werte vom Hargassner Pelletsofen aus und diese werden dann in den iobroker übertragen. Das funktioniert soweit ganz gut.
Jetzt hatte ich jedoch ein paar Mal das Problem, dass scheinbar irrtümlich der Hauptschalter vom Ofen ausgeschaltet wurde.Das heisst, das script läuft zwar weiter, überträgt aber keine Daten in den Iobroker.
Wie kann ich nun über ein Blockly-Script einen dieser Werte abfragen und zwar nach dem Zeitstempel, sodass mir z.B. über Alexa mitgeteilt wird, wenn sich dieser Wert über einen Zeitraum von z.B. 30 Minuten nicht mehr geändert hat.
Kann mir bitte hier jemand helfen ?
DANKE.Man nehme:
einen Trigger auf den zu beschreibenden Datenpunkt, trigger auf "wurde geändert"
Darin:- Stop Timeout
- Timeout x minuten - wenn Timeout abgelaufen Meldung an wen auch immer du informieren willst.
Den Zeitstempel brauchst du nicht. Sobald innerhalb des Intervalls keine Änderung des Wertes registriert wurde bekommst du deine Nachricht.
A.
-
@asgothian
Das funktioniert leider nicht. Der zu überwachende Wert wird auch nicht bei jeder Abfrage geändert (wenn er gleich bleibt ändert sich ja nur der Zeitstempel).Möglicherweise hab ich auch irgendwas falsch im Script gemacht.
-
@manfredh-1
Jetzt muss ich mal Fragen: Dein Bash skript läuft auch wenn die Hardware aus ist. Wird dann ein alter Wert an den iobroker übertragen oder erkennt das Skript das kein Wert gelesen wurde und schreibt nichts.
Wenn letzteres der Fall ist kannst Du den Trigger auf "wurde aktualisiert" anpassen.
A.
-
@asgothian
Wenn der Kessel ausgeschaltet ist oder die Netzwerkverbindung nicht geht, dann werden keine Daten übertragen, d.h. der alte Wert bleibt so lange bestehen bis es wieder funktioniert.Mit "wurde aktualisiert" hat es jetzt funktioniert. Wenn ich dann die Meldung öfters haben möchte (z.B. alle 15 Minuten) muss ich dann statt Timeout vermutlich Intervall verwenden oder ?
-
@manfredh-1 sagte in Meldung wenn Zeitstempel nicht geändert wurde:
Wenn ich dann die Meldung öfters haben möchte (z.B. alle 15 Minuten) muss ich dann statt Timeout vermutlich Intervall verwenden oder ?
Nein.
Wenn du nach mindestens 5 Minuten ohne Werteänderung alle 15 Minuten eine Nachricht haben willst das der Kessel immer noch nicht geht:
setTimeout mit 5 Minuten
dadrin: Meldung, dann setTimeout mit 15 Minuten.Bei jeder Meldung wird der Timeout neu gestartet. Sobald ein neuer Wert kommt wird der Timeout gelöscht.
A.
-
@asgothian
Danke für deine Hilfe funktioniert jetzt. Allerdings musste ich statt dem zweiten Timeout dann ein Intervall mit 15 Minuten machen. Denn beim Timeout bekam ich die Meldung nur 1x und nicht alle 15 Minuten. -
@manfredh-1
So etwas habe ich für eine andere Anwendung gesucht - kannst du bitte das funktionierende Blockly teilen/posten!?Vielen Dank
-
@revobobo said in Meldung wenn Zeitstempel nicht geändert wurde:
@manfredh-1
So etwas habe ich für eine andere Anwendung gesucht - kannst du bitte das funktionierende Blockly teilen/posten!?Vielen Dank
Also mein Script schaut nun so aus. Es funktioniert ich bekomme nach 15 Minuten die erste Meldung und danach alle 30 Minuten eine Folgemeldung, solange bis der überwachte Datenpunkt wieder aktualisiert wird.