Das Hilfsmodul watchdog erlaubt es, gewisse Dinge - wie der Name schon sagt - wie ein Wachhund zu überwachen. Dabei kann zum einen nach einem Event nach einer gewissen Zeiten eine Aktion ausgelöst werden, diese aber bei Eintreffen eines anderen Ereignisses auch eben nicht ausgeführt werden. Ebenso kann auch das Ausbleiben von Ereignissen überwacht werden.
Beispiel 1
Ein Thermostat soll auf eine bestimmte Temperatur gesetzt werden, sobald ein Fenster mehr als 90 Sekunden offen ist. Wird es innerhalb dieser Zeit wieder geschlossen, so soll der Watchdog natürlich nicht auslösen (und damit die Temperatur beibehalten). Als praktischer Anwendungsfall wäre eine Gartentür zu nennen. Der Grillmeister rennt ständig rein und raus und will nur kurz nach dem Grill sehen - hier lohnt es sich nicht, die Heizung permanent rauf und runter zu drehen. Vergisst er aber die Türe zu schließen, so wird ausgelöst.
Definition wäre (Angelehnt an COMMANDREF und mit meiner Namenskonvention):
|
|
Nun haben wir also das Fenster mindestens 90 Sekunden offen gelassen und der Watchdog hat auch reagiert. Nun wird das Fenster wieder geschlossen - der Watchdog hier soll ebenfalls 90 Sekunden warten. Dies sieht dann so aus (Angelehnt an COMMANDREF und mit meiner Namenskonvention):
|
|
Gehen wir kurz die Attribute durch:
- room, group & icon: Lediglich zur Sortierung und Verschönerung des Interfaces
- verbose: Wird hier auf 0 gesetzt, da bei Fehlen dieses Attributes (und bei Default verbose-Level 3 in FHEM) jede Auslösung einen Logeintrag erzeugt
- regexp1WontReactivate: Dieses Attribut bewirkt, dass die Zeit bei erneutem Eintreffen des Events (in diesem Falle z.B. BA_STRUC_SHUTTERCONTACTS:closed) nicht zurückgesetzt wird. Trifft jedoch BA_STRUC_SHUTTERCONTACTS:opened ein, so läuft der Watchdog wieder von vorne los.
Beispiel 2
Ein Sensor sendet lediglich Messdaten, jedoch keine Batteriewerte. Bleiben dessen Daten für mehr als 1 Stunde aus, so soll ein Alarm ausgelöst werden.
|
|
Weitere Links
Für die weiteren Attribute des watchdogs empfehle ich einen Blick in die deutsche oder englische Commandref. Ebenso hält das Wiki nützliche Hinweise bereit.