Watchdog: Unterschied zwischen den Versionen
(Erste Version der Seite) |
Sledge (Diskussion | Beiträge) KKeine Bearbeitungszusammenfassung |
||
(9 dazwischenliegende Versionen von 4 Benutzern werden nicht angezeigt) | |||
Zeile 10: | Zeile 10: | ||
}} | }} | ||
[[watchdog]] ist ein Fhem-Erweiterungsmodul, mit dem z. B. zeitverzögert auf das Ausbleiben von Ereignissen reagiert werden kann. In Verbindung mit [[THRESHOLD]] kann auch auf das Über- oder Unterschreiten von | [[watchdog]] ist ein Fhem-Erweiterungsmodul, mit dem z. B. zeitverzögert auf das Ausbleiben von Ereignissen reagiert werden kann. In Verbindung mit [[THRESHOLD]] kann auch auf das Über- oder Unterschreiten von Schwellenwerten reagiert werden. | ||
== Voraussetzungen == | == Voraussetzungen == | ||
Zeile 16: | Zeile 16: | ||
== Anwendung == | == Anwendung == | ||
{{Randnotiz|RNText=Die Reaktivierung des watchdog hat mit dem Befehl <code><nowiki>trigger <device> .</nowiki></code> (Achtung, den Punkt nicht vergessen!) oder durch Setzen des Attributs <code>autoRestart</code> zu erfolgen. Die in Blogs und Forumsbeiträgen häufiger zu findende Variante mit <code><nowiki>setstate</nowiki></code> entspricht nicht und entsprach nie der commandref. Sie funktioniert nur "aus Versehen". Es existiert dafür kein Bestandsschutz und unerwünschte Seiteneffekte sind nicht auszuschließen!}} | |||
:<code>define <name> watchdog <regexp1> <timespec> <regexp2> <command> </code> | |||
=== Define === | === Define === | ||
Führe Befehl <command> aus, wenn nach Ereignis <regexp1> nicht innerhalb der Zeitspanne <timespec> das Ereignis <regexp2> auftritt. | Führe Befehl <command> aus, wenn nach Ereignis <regexp1> nicht innerhalb der Zeitspanne <timespec> das Ereignis <regexp2> auftritt. | ||
Zeile 23: | Zeile 24: | ||
== Anwendungsbeispiele == | == Anwendungsbeispiele == | ||
{{ | === Heizungsabschaltung bei geöffnetem Fenster === | ||
Wenn der Tür-/Fensterkontakt an der Balkontür (MAX_WZ_SK) länger als 15 Sekunden geöffnet ist, wird die Heizung im Wohnzimmer (MAX_WZ) ausgeschaltet: | |||
<code>define wd_WZ_SK_opened watchdog MAX_WZ_SK:opened.* 00:00:15 MAX_WZ_SK:closed.* set MAX_WZ desiredTemperature off;; trigger wd_WZ_SK_opened .</code> | |||
Der Befehl <code>trigger wd_WZ_SK_opened .</code> schaltet den watchdog nach einem Auslösen wieder in den Ursprungszustand. Ohne diesen Befehl würde der watchdog nur genau einmal auslösen. Statt über den angehängten Befehl <code>trigger wd_WZ_SK_opened .</code> könnte man auch durch Setzen des Attributes <code>autoRestart</code> für den watchdog (<code>attr wd_WZ_SK_opened autoRestart 1</code>) ein automatisches Rücksetzen in den Ursprungszustand (state = "defined") erreichen. | |||
Quelle: {{Link2Forum|Topic=51387}} | |||
=== Unterstützung der Statusermittlung für die Module RESIDENTS, ROOMMATE, GUEST === | |||
Ein watchdog kann bei der Statusermittlung eines Bewohners im Rahmen der Modulfamilie {{Link2CmdRef|Anker=RESIDENTS|Label=RESIDENTS}}, {{Link2CmdRef|Anker=ROOMMATE|Label=ROOMMATE}} und {{Link2CmdRef|Anker=GUEST|Label=GUEST}} genutzt werden. Mit folgender watchdog-Defintion wird der Status von Resident Ralf (rr_Ralf) automatisch 10 Minuten nach Umschalten auf den Status gotosleep auf asleep gesetzt, wenn keine andere Statusmeldung kommt: | |||
<code>define wd_Ralf_gotosleep_asleep watchdog rr_Ralf:gotosleep.* 00:10:00 rr_Ralf:(home|absent|gone|none|asleep|awoken) set rr_Ralf asleep;; trigger wd_Ralf_gotosleep_asleep .</code> | |||
Quelle: {{Link2Forum|Topic=51387}} | |||
== Links == | == Links == | ||
* ... | * Vorstellung einer Lösung im {{Link2Forum|Topic=23260}}, zeitverzögert auf das Ausbleiben von Temperaturwerten eines Sensors zu reagieren. (HINWEIS: Die Reaktivierung des watchdog im verlinkten Thema mit <code><nowiki>setstate <device> defined</nowiki></code> ist entsprechend commandref durch <code><nowiki>trigger <device> .</nowiki></code> oder Aktivierung des Attributs <code>autoRestart</code> zu ersetzen.) | ||
* [[Watchdog kombiniert mit Threshold]] |
Aktuelle Version vom 4. Januar 2019, 14:08 Uhr
watchdog | |
---|---|
Zweck / Funktion | |
Zeitverzögerte Ausführung von Aktionen beim Ausbleiben von Ereignissen | |
Allgemein | |
Typ | Hilfsmodul |
Details | |
Dokumentation | EN / DE |
Modulname | 91_watchdog.pm |
Ersteller | rudolfkoenig / rudolfkoenig |
Wichtig: sofern vorhanden, gilt im Zweifel immer die (englische) Beschreibung in der commandref! |
watchdog ist ein Fhem-Erweiterungsmodul, mit dem z. B. zeitverzögert auf das Ausbleiben von Ereignissen reagiert werden kann. In Verbindung mit THRESHOLD kann auch auf das Über- oder Unterschreiten von Schwellenwerten reagiert werden.
Voraussetzungen
Keine.
Anwendung
trigger <device> .
(Achtung, den Punkt nicht vergessen!) oder durch Setzen des Attributs autoRestart
zu erfolgen. Die in Blogs und Forumsbeiträgen häufiger zu findende Variante mit setstate
entspricht nicht und entsprach nie der commandref. Sie funktioniert nur "aus Versehen". Es existiert dafür kein Bestandsschutz und unerwünschte Seiteneffekte sind nicht auszuschließen!define <name> watchdog <regexp1> <timespec> <regexp2> <command>
Define
Führe Befehl <command> aus, wenn nach Ereignis <regexp1> nicht innerhalb der Zeitspanne <timespec> das Ereignis <regexp2> auftritt.
Attribute
Anwendungsbeispiele
Heizungsabschaltung bei geöffnetem Fenster
Wenn der Tür-/Fensterkontakt an der Balkontür (MAX_WZ_SK) länger als 15 Sekunden geöffnet ist, wird die Heizung im Wohnzimmer (MAX_WZ) ausgeschaltet:
define wd_WZ_SK_opened watchdog MAX_WZ_SK:opened.* 00:00:15 MAX_WZ_SK:closed.* set MAX_WZ desiredTemperature off;; trigger wd_WZ_SK_opened .
Der Befehl trigger wd_WZ_SK_opened .
schaltet den watchdog nach einem Auslösen wieder in den Ursprungszustand. Ohne diesen Befehl würde der watchdog nur genau einmal auslösen. Statt über den angehängten Befehl trigger wd_WZ_SK_opened .
könnte man auch durch Setzen des Attributes autoRestart
für den watchdog (attr wd_WZ_SK_opened autoRestart 1
) ein automatisches Rücksetzen in den Ursprungszustand (state = "defined") erreichen.
Quelle: Thema
Unterstützung der Statusermittlung für die Module RESIDENTS, ROOMMATE, GUEST
Ein watchdog kann bei der Statusermittlung eines Bewohners im Rahmen der Modulfamilie RESIDENTS, ROOMMATE und GUEST genutzt werden. Mit folgender watchdog-Defintion wird der Status von Resident Ralf (rr_Ralf) automatisch 10 Minuten nach Umschalten auf den Status gotosleep auf asleep gesetzt, wenn keine andere Statusmeldung kommt:
define wd_Ralf_gotosleep_asleep watchdog rr_Ralf:gotosleep.* 00:10:00 rr_Ralf:(home|absent|gone|none|asleep|awoken) set rr_Ralf asleep;; trigger wd_Ralf_gotosleep_asleep .
Quelle: Thema
Links
- Vorstellung einer Lösung im Thema, zeitverzögert auf das Ausbleiben von Temperaturwerten eines Sensors zu reagieren. (HINWEIS: Die Reaktivierung des watchdog im verlinkten Thema mit
setstate <device> defined
ist entsprechend commandref durchtrigger <device> .
oder Aktivierung des AttributsautoRestart
zu ersetzen.) - Watchdog kombiniert mit Threshold