Eventhandler
An dieser Seite wird momentan noch gearbeitet. |
Begriff
Der englische Begriff event handler steht im Zusammenhang mit ereignisorientierten Programmiersprachen[1]. Als deutsche Begriffe werden Ereignisbehandler[2] oder Ereignishandler verwendet. Zur Abgrenzung wird im Zusammenhang mit FHEM die Schreibung Eventhandler verwendet.
Definition
Eventhandler reagieren auf Ereignisse, verarbeiten sie und liefern ein Ergebnis.
Benutzersicht
Aus Benutzersicht sind es Module, bzw. deren Geräte, die es erlauben Eingangsfilter, die Ereignisverarbeitung, das Ergebnis oder Teilaspekte dieser Parameter selbst zu bestimmen
Allgemeine Eventhandler
Allgemeine Eventhandler geben dem Benutzer die Möglichkeit den Eingangsfilter, die Verarbeitung und das Ergebnis selbst zu bestimmen. Das ist bei den folgenden Modulen der Fall.
Spezielle Eventhandler
Spezielle Eventhandler bieten dem Benutzer nur eingeschränkte Möglichkeiten die Verarbeitung und das Ergebnis selbst zu bestimmen. Das ist bei den folgenden Modulen der Fall.
Bei dem Modul FileLog z.B. kann der Eingangsfilter selbst bestimmt werden und im Ergebnis wird in eine Textdatei geschrieben, das Modul bietet nicht die Möglichkeit in eine Datenbank zu schreiben. Diese Möglichkeit bietet der spezielle Eventhandler DbLog.
Bedienung
Es sind Ereignisfilter oder Suchmuster festzulegen. Die Verarbeitung ist zu beschreiben und das daraus resultierenden Ergebnis ist festzulegen.
Suchmuster oder Ereignisfilter
Die im System aktuell entstehenden Ereignisse können mit dem Eventmonitor angezeigt werden. Die angzeigten Ereignisse sind die Grundlage zur Erstellung von Ereignisfiltern oder Suchmustern als Eingangsparameter für einen Eventhandler. Wenn Ereignisse zu dem Filter passen, dann startet die Verarbeitung und ein Ergebnis wird geliefert.
Der Eventmonitor stellt einen Assistenten bereit, der für einige Module das Erstellen von Ereignisfiltern oder Suchmustern unterstützt.
Die genaue Syntax der Filter oder Suchmuster eines Eventhandler ist in der Befehlereferenz beschrieben.
Verarbeitung
Ergebnis
Als Ergebnis der Eventverarbeitung werden Befehle ausgeführt, die Befehlstypen sind in der Befehlereferenz beschrieben werden.
- FHEM-Befehle, sie werden direkt angegben.
- Shellbefehle, sie werden durch doppelte Anführungszeichen
"<Shellbefehle>"
eingeschlossen. - Perlausdrücke, sie werden von geschweiften Klammern
{Perlausdrücke}
eingeschlossen.
Entwicklungssicht
Aus Modulsicht sind Modulfunktionen die Hardwareereignisse oder Systemereignisse behandeln.