Automatisierung
An dieser Seite wird momentan noch gearbeitet. |
Begriff
Mit Bezug auf FHEM, ist Automatisierung die Verknüpfung von Geräten, mit der sie befähigt werden ohne menschlichen Eingriff Handlungen auszuführen.[1]
Wirkungsweise
Die Automatisierung erfolgt entlang zweier Wirkungsketten, der Ereignissteuerung und der Zeitsteuerung
Ereignissteuerung
externes Objekt -> Gerät -> Zustandsaktualisierung -> Event -> Eventhandler -> Verarbeitung -> Befehl -> Gerät -> externes Objekt
Zeitsteuerung
Timehandler -> Verarbeitung -> Befehl -> Gerät -> externes Objekt
externes Objekt
Ein externes Objekt existiert außerhalb des FHEM-Servers, z.B. Türkontakte, I2C-Sensoren, Heizungsventile, eine Spracherzeugung, eine Webseite, usw.
Gerät
Ein Gerät kann ein externes Objekt abbilden oder als Hilfsgerät für sich selbst stehen, z.B. ein Dummy oder ein Eventhandler. In Readings werden die Zustände des externen Objektes dargestellt, z.B. der Zustand einer Funksteckdose im Reading state, der Batteriezustand im Reading batteryLevel. Ein Reading ist mit einem Zeitstempel versehen, der den Zeitpunkt der letzten Aktualisierung enthält.
Zustandsaktualisierung
Empfängt ein Gerät Zustandsdaten von einem externen Objekt oder erhält es einen Befehl, kann das zu einer Zustandsaktualisierung im Gerät führen. Diese Aktualisierungen können Events auslösen. Befehle können eine Interaktion des Gerätes mit dem externen Objekt auslösen, wie Zustände setzen oder Daten abholen und dadurch eine Zustandsaktualisierung bewirken.
Event
Ein Event ist eine Nachricht, die von einem Gerät ausgelöst wird. Die Nachricht beinhaltet Informationen über den Zustand des Gerätes. Events werden von Eventhandlern verarbeitet.
Eventhandler
Ein Eventhandler filtert bestimmte Ereignisse und verarbeitet sie.
Timehandler
Ein Timehandler löst über Zeitangaben eine Verarbeitung aus.
Verarbeitung
Die Verarbeitung stellt die Automatisierungslogik dar. Sie kann die Verknüpfung verschiedener Geräte über Gerätevariablen beinhalten, so wie deren Verknüpfung mit Zeitangaben. Im Ergebnis werden Befehle abgesetzt.
Befehl
Befehle können unmittelbar auf Geräte wirken und dann mittelbar auf externe Objekte. Es sind drei Befehlstypen zu unterscheiden, FHEM-Befehle, Befehle auf Betriebssystemebene und Perl-Ausdrücke.