Läuft der Gefrierschrank noch? OH3 UI only
Verfasst: 31. Okt 2022 21:33
Nach einem hektischen Wochenende mit Verarbeitung einer großen Menge angetauten Gefrierguts habe ich entschieden, dass unser Gefrierschrank im Keller engmaschiger Überwachung Bedarf.
Das Gerät habe ich dazu an einem Shelly Plug mit Verbrauchsmessung gehängt.
Die Beobachtung hat ergeben, dass er im "Erhaltungsbetrieb" (also wenn der Inhalt bereits eingefroren ist, nicht gerade Gefriergut neu eingelegt wurde) immer noch spätestens nach einer guten Viertelstunde wieder anspringt und dann mit ca. 30 W für ein Weilchen läuft. Die Leistungsaufnahme wird vom Shelly während dieser Phase alle paar Sekunden aktualisiert.
Ich habe bislang alles über die UI angelegt und möchte auch gerne dabei bleiben. Ich habe hier nach Anregungen gesucht und einige Beispiele gefunden, wie man das über Rules lösen kann. Das Problem ist, dass bei über die UI erstellten Rules kein Timer initialisiert werden kann.
Bei einer textbasierten Rule würde man "var Timer meinTimer = null" zu Beginn der Regeldatei schreiben.
Die gefundene Lösung möchte ich zur Diskussion stellen und bin für Anregungen dankbar.
Ich habe ein nicht an ein Thing gebundenes Item "Watchdog" vom Typ Switch angelegt und ihm mit "Add Metadata" einen Expiration Timer von 30 Minuten zugewiesen. (Falls es später Fehlalarme gibt, kann ich diese Spanne noch hochsetzen.) In dem Dialog zum Setzen des Timers habe ich unter "Do" die Option "Send Command" gewählt und in der Zeile Command "OFF" eingegeben.
Den Shelly Plug habe ich im semantischen Modell als Equipment angelegt, weil ich den Verbrauch und die Zählerstände persitieren lasse. (Hierzu läuft gerade ein interessanter Thread, den tanzehn gestartet hat.)
Meine erste Rule wird getriggert von einer Statusänderung des Items, das die Leistungsaufnahme des Shelly Plug angibt.
Sie sendet das Kommando ON an mein Watchdog-Item. Dessen Expiration Timer beginnt zu laufen, wird aber bei jeder Statusänderung zurückgesetzt.
Eine weitere Rule wird getriggert, wenn das Watchdog-Item ein Update nach "OFF" erfährt. Sie schickt mir eine Mail oder lässt das Licht blinken.
Diese Lösung fängt sowohl den Fall ab, dass der Strom ausfällt, als auch den Fall, dass der TK-Schrank aufgrund eines Defekts keine Leistung mehr aufnimmt. (Natürlich nur solange OH noch weiterläuft; einen Ausfall im gesamten Haus müsste ich anders behandeln. Bespw. mit einer zweiten OH-Instanz an einem anderen Ort, der per VPN angebunden ist.)
Da sich die Shelly Plugs nicht gegen unbeabsichtigte Fehlbedienung sperren lassen, habe ich zusätzlich eine Rule angelegt, die benachrichtigt, sobald das Item "Betrieb" des Geräts auf "OFF" wechselt.
Allen einen schönen Feiertag.
Das Gerät habe ich dazu an einem Shelly Plug mit Verbrauchsmessung gehängt.
Die Beobachtung hat ergeben, dass er im "Erhaltungsbetrieb" (also wenn der Inhalt bereits eingefroren ist, nicht gerade Gefriergut neu eingelegt wurde) immer noch spätestens nach einer guten Viertelstunde wieder anspringt und dann mit ca. 30 W für ein Weilchen läuft. Die Leistungsaufnahme wird vom Shelly während dieser Phase alle paar Sekunden aktualisiert.
Ich habe bislang alles über die UI angelegt und möchte auch gerne dabei bleiben. Ich habe hier nach Anregungen gesucht und einige Beispiele gefunden, wie man das über Rules lösen kann. Das Problem ist, dass bei über die UI erstellten Rules kein Timer initialisiert werden kann.
Bei einer textbasierten Rule würde man "var Timer meinTimer = null" zu Beginn der Regeldatei schreiben.
Die gefundene Lösung möchte ich zur Diskussion stellen und bin für Anregungen dankbar.
Ich habe ein nicht an ein Thing gebundenes Item "Watchdog" vom Typ Switch angelegt und ihm mit "Add Metadata" einen Expiration Timer von 30 Minuten zugewiesen. (Falls es später Fehlalarme gibt, kann ich diese Spanne noch hochsetzen.) In dem Dialog zum Setzen des Timers habe ich unter "Do" die Option "Send Command" gewählt und in der Zeile Command "OFF" eingegeben.
Den Shelly Plug habe ich im semantischen Modell als Equipment angelegt, weil ich den Verbrauch und die Zählerstände persitieren lasse. (Hierzu läuft gerade ein interessanter Thread, den tanzehn gestartet hat.)
Meine erste Rule wird getriggert von einer Statusänderung des Items, das die Leistungsaufnahme des Shelly Plug angibt.
Sie sendet das Kommando ON an mein Watchdog-Item. Dessen Expiration Timer beginnt zu laufen, wird aber bei jeder Statusänderung zurückgesetzt.
Eine weitere Rule wird getriggert, wenn das Watchdog-Item ein Update nach "OFF" erfährt. Sie schickt mir eine Mail oder lässt das Licht blinken.
Diese Lösung fängt sowohl den Fall ab, dass der Strom ausfällt, als auch den Fall, dass der TK-Schrank aufgrund eines Defekts keine Leistung mehr aufnimmt. (Natürlich nur solange OH noch weiterläuft; einen Ausfall im gesamten Haus müsste ich anders behandeln. Bespw. mit einer zweiten OH-Instanz an einem anderen Ort, der per VPN angebunden ist.)
Da sich die Shelly Plugs nicht gegen unbeabsichtigte Fehlbedienung sperren lassen, habe ich zusätzlich eine Rule angelegt, die benachrichtigt, sobald das Item "Betrieb" des Geräts auf "OFF" wechselt.
Allen einen schönen Feiertag.