Event: Unterschied zwischen den Versionen
Trelle (Diskussion | Beiträge) |
Trelle (Diskussion | Beiträge) Keine Bearbeitungszusammenfassung |
||
Zeile 6: | Zeile 6: | ||
== Aufbau == | == Aufbau == | ||
Events | Aufbau eines Events: | ||
<pre><Datum> <Uhrzeit> <TYPE> <Gerätename> ⟨<Readingname>: ⟩<Wert></pre> | <pre><Datum> <Uhrzeit> <TYPE> <Gerätename> ⟨<Readingname>: ⟩<Wert></pre> | ||
===Beispiele=== | ===Beispiele=== | ||
Beispiel eines globalen Events, bei dem der Readingname fehlt: | Beispiel eines globalen Events, bei dem der Readingname fehlt: | ||
<pre>2016-12-13 11:40:33 | <pre>2016-12-13 11:40:33 Global global MODIFIED Test</pre> | ||
* Datum: 2016-12-13 | * Datum: 2016-12-13 | ||
* Uhrzeit: 11:40:33 | * Uhrzeit: 11:40:33 | ||
* TYPE: Global | * TYPE: Global | ||
* Gerätename: global | * Gerätename: global | ||
Zeile 21: | Zeile 21: | ||
Beispiel eines Geräte-Events mit Readingname: | Beispiel eines Geräte-Events mit Readingname: | ||
<pre>2016-12-13 11:48:26 | <pre>2016-12-13 11:48:26 PRESENCE LaptopAn presence: present</pre> | ||
* Datum: 2016-12-13 | * Datum: 2016-12-13 | ||
* Uhrzeit: 11:48:26 | * Uhrzeit: 11:48:26 | ||
* TYPE: PRESENCE | * TYPE: PRESENCE | ||
* Gerätename: LaptopAn | * Gerätename: LaptopAn | ||
Zeile 46: | Zeile 46: | ||
===Events des Reading '''state'''=== | ===Events des Reading '''state'''=== | ||
Wenn ein Gerät ein Event für das [[Readings|Reading]] '''state''' generiert, dann wird der Readingname weggelassen. | Wenn ein Gerät ein Event für das [[Readings|Reading]] '''state''' generiert, dann wird der Readingname weggelassen. | ||
===Beispiel=== | ====Beispiel==== | ||
<pre>2016-12-13 11:48:26 PRESENCE LaptopAn present</pre> | |||
* Datum: 2016-12-13 | |||
* Uhrzeit: 11:48:26 | |||
* TYPE: PRESENCE | |||
* Gerätename: LaptopAn | |||
* Readingname: N/A | |||
* Wert: present | |||
===Erweiterung des angezeigten Zeitstempels um Milisekunden=== | |||
Die Anzeige des Zeitstempels kann auf Millisekunden erweitert werden, wenn das globale Attribut '''mseclog''' auf '''1''' gesetzt wird. | |||
====Beispiel==== | |||
<pre>2016-12-13 11:48:26.836 PRESENCE LaptopAn present</pre> | <pre>2016-12-13 11:48:26.836 PRESENCE LaptopAn present</pre> | ||
* Datum: 2016-12-13 | * Datum: 2016-12-13 | ||
* Uhrzeit: 11:48:26.836 | * Uhrzeit: 11:48:26'''.836''' | ||
* TYPE: PRESENCE | * TYPE: PRESENCE | ||
* Gerätename: LaptopAn | * Gerätename: LaptopAn |
Version vom 14. Dezember 2016, 08:26 Uhr
Definition
Ein Event (Ereignis) ist eine ungerichtete Nachricht, die vom FHEM-Server gesendet wird.
Das Event enthält Informationen über den Zustand eines Gerätes (Device).
Der Anstoss zum Senden eines Events geht vom Gerät aus.
Ein Event beinhaltet den Zeitpunkt der Entstehung seines Inhalts.
Aufbau
Aufbau eines Events:
<Datum> <Uhrzeit> <TYPE> <Gerätename> ⟨<Readingname>: ⟩<Wert>
Beispiele
Beispiel eines globalen Events, bei dem der Readingname fehlt:
2016-12-13 11:40:33 Global global MODIFIED Test
- Datum: 2016-12-13
- Uhrzeit: 11:40:33
- TYPE: Global
- Gerätename: global
- Readingname: N/A
- Wert: MODIFIED Test
Beispiel eines Geräte-Events mit Readingname:
2016-12-13 11:48:26 PRESENCE LaptopAn presence: present
- Datum: 2016-12-13
- Uhrzeit: 11:48:26
- TYPE: PRESENCE
- Gerätename: LaptopAn
- Readingname: present
- Wert: present
Verwendung
Events stehen allen Geräten des FHEM-Servers zur Weiterverarbeitung zur Verfügung. Einige Gerätetypen erfordern die Angabe von Ereignisfiltern in Form eines regulären Ausdrucks. Im Gerät werden dann nur die gefilterten Events in die Weiterverarbeitung einbezogen, das sind z.B.
Zur Erstellung eines Ereignisfilter ist die genaue Kenntnis über den Inhalt eines Events erforderlich. Die aktuellen Ereignisse können im Eventmonitor angezeigt werden. Der Befehl trigger simuliert den Anstoss eines Gerätes an den FHEM-Server ein Event zu senden.
Besonderheiten
Events des Reading state
Wenn ein Gerät ein Event für das Reading state generiert, dann wird der Readingname weggelassen.
Beispiel
2016-12-13 11:48:26 PRESENCE LaptopAn present
- Datum: 2016-12-13
- Uhrzeit: 11:48:26
- TYPE: PRESENCE
- Gerätename: LaptopAn
- Readingname: N/A
- Wert: present
Erweiterung des angezeigten Zeitstempels um Milisekunden
Die Anzeige des Zeitstempels kann auf Millisekunden erweitert werden, wenn das globale Attribut mseclog auf 1 gesetzt wird.
Beispiel
2016-12-13 11:48:26.836 PRESENCE LaptopAn present
- Datum: 2016-12-13
- Uhrzeit: 11:48:26.836
- TYPE: PRESENCE
- Gerätename: LaptopAn
- Readingname: N/A
- Wert: present