Event monitor: Unterschied zwischen den Versionen
Trelle (Diskussion | Beiträge) (→Links) |
K (Haupt-Kategorie FHEM entfernt; ist bereits über Kategoriebaum abgedeckt.) |
||
(17 dazwischenliegende Versionen von 6 Benutzern werden nicht angezeigt) | |||
Zeile 1: | Zeile 1: | ||
[[Datei:EventMonitor.png|mini|400px|rechts|Event Monitor Anzeige mit Beispiel-Ereignissen]] | [[Datei:EventMonitor.png|mini|400px|rechts|Event Monitor Anzeige mit Beispiel-Ereignissen]] | ||
Der [[Event monitor]] (<code>/fhem?cmd=style%20eventMonitor</code>) ist eine Seite im [[PGM2|Standard Interface]] von | Der [[Event monitor]] (<code>/fhem?cmd=style%20eventMonitor</code>) ist eine Seite im [[PGM2|Standard Interface]] von FHEM, auf der alle von FHEM verarbeiteten Ereignisse angezeigt werden. Ereignisse im genannten Sinn sind neben eingehenden Funktelegrammen auch [[notify]]- und [[at]]-Anweisungen. | ||
Die Ereignisanzeige wird bei jedem Aufruf des Monitor-Fensters geleert, nur im Anschluss daran auftretende Ereignisse werden angezeigt, es können also keine Ereignisse der Vergangenheit angezeigt werden. Um einen längeren Zeitraum "aufzuzeichnen", muss das Monitor-Fenster demzufolge durchgehend geöffnet sein. | Die Ereignisanzeige wird bei jedem Aufruf des Monitor-Fensters geleert, nur im Anschluss daran auftretende Ereignisse werden angezeigt, es können also keine Ereignisse der Vergangenheit angezeigt werden. Um einen längeren Zeitraum "aufzuzeichnen", muss das Monitor-Fenster demzufolge durchgehend geöffnet sein. | ||
Zeile 9: | Zeile 9: | ||
== Events "filtern" == | == Events "filtern" == | ||
[[Datei: | [[Datei:Event-Monitor.png|mini|rechts|Event Monitor, zur Eingabe einer Devspec zur Filterung der Ereignisse auf '''.*''' klicken]] | ||
Um die Ausgabe im Event monitor auf eine Teilmenge zu begrenzen, kann | Um die Ausgabe im Event monitor auf eine Teilmenge zu begrenzen, kann direkt im Event Monitor dialogunterstützt eine {{Link2CmdRef|Anker=devspec|Lang=de|Label=devspec}}, also ein beliebiger regulärer Ausdruck in Perl, eingestellt werden. So kann z.B. ein Filter auf [[Device|Devices]] nur eines Typs oder einzelne Devices gesetzt werden. | ||
Bei Aufruf des Event Monitors werden zunächst weiterhin alle Events angezeigt. Erkennbar an der Titelzeile "Events (Filter:.*):". Durch Anklicken des ".*" in der Titelzeile öffnet sich eine Dialogbox in der man einen regulären Ausdruck eintragen kann. Nach Bestätigung der Dialogbox mit OK wird dieser reguläre Ausdruck zum Filtern der Events genutzt und in der Titelzeile angezeigt (bspw. "Events (Filter:pca.*):"). Weitere Beispiele zu den Filtermöglichkeiten enthält dieser {{Link2Forum|Topic=12398|Message=278553|LinkText=Forenbeitrag}}. | |||
== Geräte anlegen/ändern == | |||
Der [[Event monitor]] bietet die Möglichkeit aus einer markierten [[Event]]-Zeile Gerätedefinitionen abzuleiten und die [[Gerät|Geräte]] anzulegen. | |||
Es können Definitionen für folgende [[Eventhandler]] angelegt werden: | |||
* [[DOIF]] | |||
* [[FileLog]] | |||
* [[notify]] | |||
* [[sequence]] | |||
* [[watchdog]] | |||
Für einige [[Gerät|Geräte]] können die Definitionen auch geändert werden. Die [[Gerätename|Gerätenamen]] werden in einer Auswahlliste angezeigt. | |||
=== Vorgehensweise beim Anlegen eines Gerätes === | |||
* [[Event]]-Zeile komplett markieren | |||
* den Knopf {{Taste|Create/Modify Device}} betätigen | |||
* ein Gerätemodul auswählen | |||
* '''Create''' auswählen | |||
* die gewünschte Form des [[Event|Events]] auswählen | |||
* den Knopf {{Taste|OK}} betätigen | |||
Danach öffnet sich die Detailansicht des angelegten [[Gerät|Gerätes]], dort kann die Definition weiter bearbeitet werden. | |||
=== Vorgehensweise beim Ändern eines Gerätes === | |||
* [[Event]]-Zeile komplett markieren | |||
* den Knopf {{Taste|Create/Modify Device}} betätigen | |||
* '''Modify''' auswählen | |||
* ein [[Gerät]] auswählen | |||
* die gewünschte Form des [[Event|Events]] auswählen | |||
* den Knopf {{Taste|OK}} betätigen | |||
Danach öffnet sich die Detailansicht des angelegten [[Gerät|Gerätes]], dort kann die Definition weiter bearbeitet werden. | |||
=== Erweiterte Funktionen in DOIF und DOIFtools=== | |||
Der [[Event monitor]] kann in der in der Detailansicht eines [[DOIF]] oder [[DOIFtools]] aufgerufen werden und stellt dort zusätzliche Funktionen bereit, siehe [[DOIFtools#Zugriff_auf_den_Event-Monitor_in_der_Detailansicht_des_DOIF|Eventmonitor in DOIF]] und [[DOIFtools#Zugriff_auf_den_Event-Monitor_in_der_Detailansicht_von_DOIFtools|Eventmonitor in DOIFtools]]. | |||
* zusätzliche Varianten [[Regulärer Ausdruck|Regulärer Ausdrücke]] | |||
* Hilfetexte zu den einzelnen Varianten bei ''mouse over'' | |||
* Änderung des vorgeschlagenen [[Gerätename|Gerätenamen]] | |||
* Öffnen des [[DEF-Editor]] zum Einfügen der Auswahl in die Definition | |||
== Bekannte Probleme == | == Bekannte Probleme == | ||
=== Die eventMonitor-URL kann nicht erfolgreich aufgerufen werden === | |||
Der Event-Monitor kann bei aktiviertem CSRF<ref>[https://de.wikipedia.org/wiki/Cross-Site-Request-Forgery Cross-Site-Request-Forgery] - Wikipedia</ref>-Schutz (FHEMWEB Attribut <code>csrfToken</code>) nur aus dem FHEMWEB-Frontend heraus geöffnet werden. Es handelt sich hierbei um einen Sicherheitsmechanismus, welcher seit Feature-Level 5.8 standardmäßig aktiviert ist. Jeder Aufruf des Event-Monitors in FHEMWEB muss standardmäßig das aktuell gültige CSRF-Token im URL-Aufruf enthalten um den Event-Monitor angezeigt zu bekommen: | |||
<font color="grey">/fhem?cmd=style%20eventMonitor</font>'''&fwcsrf=csrf_193851249212150''' | |||
Dieses Verhalten kann durch das FHEMWEB Attribut <code>csrfToken</code> (siehe {{Link2CmdRef|Lang=de|Anker=csrfToken}}) verändert werden. Details dazu finden sich in dem Artikel [[CsrfToken-HowTo]]. | |||
=== Event Monitor schreibt keine Events === | === Event Monitor schreibt keine Events === | ||
Es sind diverse Situationen bekannt geworden, in denen der Event Monitor keine Events schreibt, z.B.: | Es sind diverse Situationen bekannt geworden, in denen der Event Monitor keine Events schreibt, z.B.: | ||
Zeile 25: | Zeile 68: | ||
* {{Link2Forum|Topic=12398}} ''Filter im Event Monitor'' | * {{Link2Forum|Topic=12398}} ''Filter im Event Monitor'' | ||
* [[Event|Event, Ereignis]] | * [[Event|Event, Ereignis]] | ||
==Hinweise== | |||
<references /> | |||
[[Kategorie:HOWTOS]] | [[Kategorie:HOWTOS]] | ||
[[Kategorie:FHEM-Verwendung]] |
Aktuelle Version vom 4. Dezember 2019, 12:29 Uhr
Der Event monitor (/fhem?cmd=style%20eventMonitor
) ist eine Seite im Standard Interface von FHEM, auf der alle von FHEM verarbeiteten Ereignisse angezeigt werden. Ereignisse im genannten Sinn sind neben eingehenden Funktelegrammen auch notify- und at-Anweisungen.
Die Ereignisanzeige wird bei jedem Aufruf des Monitor-Fensters geleert, nur im Anschluss daran auftretende Ereignisse werden angezeigt, es können also keine Ereignisse der Vergangenheit angezeigt werden. Um einen längeren Zeitraum "aufzuzeichnen", muss das Monitor-Fenster demzufolge durchgehend geöffnet sein.
In einer Telnet-Sitzung ist eine äquivalente Funktionalität über das "inform" Kommando verfügbar.
Im gezeigten Beispiel sind im überwachten Zeitraum vier Nachrichten eines FHT80TF-2 aufgetreten.
Events "filtern"
Um die Ausgabe im Event monitor auf eine Teilmenge zu begrenzen, kann direkt im Event Monitor dialogunterstützt eine devspec, also ein beliebiger regulärer Ausdruck in Perl, eingestellt werden. So kann z.B. ein Filter auf Devices nur eines Typs oder einzelne Devices gesetzt werden.
Bei Aufruf des Event Monitors werden zunächst weiterhin alle Events angezeigt. Erkennbar an der Titelzeile "Events (Filter:.*):". Durch Anklicken des ".*" in der Titelzeile öffnet sich eine Dialogbox in der man einen regulären Ausdruck eintragen kann. Nach Bestätigung der Dialogbox mit OK wird dieser reguläre Ausdruck zum Filtern der Events genutzt und in der Titelzeile angezeigt (bspw. "Events (Filter:pca.*):"). Weitere Beispiele zu den Filtermöglichkeiten enthält dieser Forenbeitrag.
Geräte anlegen/ändern
Der Event monitor bietet die Möglichkeit aus einer markierten Event-Zeile Gerätedefinitionen abzuleiten und die Geräte anzulegen. Es können Definitionen für folgende Eventhandler angelegt werden:
Für einige Geräte können die Definitionen auch geändert werden. Die Gerätenamen werden in einer Auswahlliste angezeigt.
Vorgehensweise beim Anlegen eines Gerätes
- Event-Zeile komplett markieren
- den Knopf Create/Modify Device betätigen
- ein Gerätemodul auswählen
- Create auswählen
- die gewünschte Form des Events auswählen
- den Knopf OK betätigen
Danach öffnet sich die Detailansicht des angelegten Gerätes, dort kann die Definition weiter bearbeitet werden.
Vorgehensweise beim Ändern eines Gerätes
- Event-Zeile komplett markieren
- den Knopf Create/Modify Device betätigen
- Modify auswählen
- ein Gerät auswählen
- die gewünschte Form des Events auswählen
- den Knopf OK betätigen
Danach öffnet sich die Detailansicht des angelegten Gerätes, dort kann die Definition weiter bearbeitet werden.
Erweiterte Funktionen in DOIF und DOIFtools
Der Event monitor kann in der in der Detailansicht eines DOIF oder DOIFtools aufgerufen werden und stellt dort zusätzliche Funktionen bereit, siehe Eventmonitor in DOIF und Eventmonitor in DOIFtools.
- zusätzliche Varianten Regulärer Ausdrücke
- Hilfetexte zu den einzelnen Varianten bei mouse over
- Änderung des vorgeschlagenen Gerätenamen
- Öffnen des DEF-Editor zum Einfügen der Auswahl in die Definition
Bekannte Probleme
Die eventMonitor-URL kann nicht erfolgreich aufgerufen werden
Der Event-Monitor kann bei aktiviertem CSRF[1]-Schutz (FHEMWEB Attribut csrfToken
) nur aus dem FHEMWEB-Frontend heraus geöffnet werden. Es handelt sich hierbei um einen Sicherheitsmechanismus, welcher seit Feature-Level 5.8 standardmäßig aktiviert ist. Jeder Aufruf des Event-Monitors in FHEMWEB muss standardmäßig das aktuell gültige CSRF-Token im URL-Aufruf enthalten um den Event-Monitor angezeigt zu bekommen:
/fhem?cmd=style%20eventMonitor&fwcsrf=csrf_193851249212150
Dieses Verhalten kann durch das FHEMWEB Attribut csrfToken
(siehe commandref/csrfToken) verändert werden. Details dazu finden sich in dem Artikel CsrfToken-HowTo.
Event Monitor schreibt keine Events
Es sind diverse Situationen bekannt geworden, in denen der Event Monitor keine Events schreibt, z.B.:
- aufgrund von Problemen mit dem Netzwerkkartentreiber E2200 KILLER
- Firewall (Sophos)
Links
- Thema Filter im Event Monitor
- Event, Ereignis
Hinweise
- ↑ Cross-Site-Request-Forgery - Wikipedia