Event monitor: Unterschied zwischen den Versionen

Aus FHEMWiki
(→‎Bekannte Probleme: Erklärung hins. nicht funktionierender URL)
K (Haupt-Kategorie FHEM entfernt; ist bereits über Kategoriebaum abgedeckt.)
 
(14 dazwischenliegende Versionen von 5 Benutzern werden nicht angezeigt)
Zeile 9: Zeile 9:


== Events "filtern" ==
== Events "filtern" ==
[[Datei:EventMonitorFiltered.png|mini|rechts|Event Monitor, gefilterte Ausgabe]]
[[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 an die URL ein Filter angehängt werden; im gezeigten Beispiel werden nur Ereignisse Devices angezeigt, die den Text ''pca'' in Namen enthalten. Die URL muss bis FHEM-Updatestand vom 26.03.2015 dafür auf <code>/fhem?cmd=style eventMonitor pca</code> abgeändert / ergänzt werden, der angewendete Filter wird unter dem Befehlseingabefeld angezeigt.
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.


Der Filter funktioniert bis FHEM-Updatestand vom 26.03.2015 nur auf den Device Namen bzw. Teile davon, nicht jedoch auf den Device Typ (im gezeigten Beispiel würde also ein Filtern auf PCA301 nicht funktionieren).
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}}.
 
Mit FHEM-Update vom 27.03.2015 wurde Aufruf und Bedienung des Event Monitors vereinfacht sowie die Filtermöglichkeiten ausgebaut. Der Filter muss nicht mehr über eine Anpassung der URL, sondern kann direkt im Event Monitor dialogunterstützt eingestellt werden. Es sind nun auch Filter auf Device Typ möglich und es kann ein beliebiger regulärer Ausdruck in Perl für den Filter genutzt 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):"). Beispiele zu den neuen Filtermöglichkeiten enthält dieser {{Link2Forum|Topic=12398|Message=278553|LinkText=Forenbeitrag}}.


== Geräte anlegen/ändern ==
== 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.
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 Gerätemodule angelegt werden:
Es können Definitionen für folgende [[Eventhandler]] angelegt werden:


* [[DOIF]]
* [[DOIF]]
Zeile 35: Zeile 33:
* die gewünschte Form des [[Event|Events]] auswählen
* die gewünschte Form des [[Event|Events]] auswählen
* den Knopf {{Taste|OK}} betätigen
* den Knopf {{Taste|OK}} betätigen
Danach öffnet sich die Detailansicht des angelegten [[Gerät|Gerätes]], dort kann die Definition weiter beatbeitet werden.
Danach öffnet sich die Detailansicht des angelegten [[Gerät|Gerätes]], dort kann die Definition weiter bearbeitet werden.


=== Vorgehensweise beim Ändern eines Gerätes ===
=== Vorgehensweise beim Ändern eines Gerätes ===
Zeile 44: Zeile 42:
* die gewünschte Form des [[Event|Events]] auswählen
* die gewünschte Form des [[Event|Events]] auswählen
* den Knopf {{Taste|OK}} betätigen
* den Knopf {{Taste|OK}} betätigen
Danach öffnet sich die Detailansicht des angelegten [[Gerät|Gerätes]], dort kann die Definition weiter beatbeitet werden.
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 o.a. eventMonitor-URL kann nicht erfolgreich aufgerufen werden===
=== Die eventMonitor-URL kann nicht erfolgreich aufgerufen werden ===


Aufruf des eventMonitors funktioniert u.U. (genaue Begründung, also root cause??) nur per Direkt-Link von innerhalb FHEMWEB aus.
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:
Dies, obwohl die FHEMWEB-seitige URL tatsächlich genauso aussieht (in einer aktuellen FHEM-Version) wie hier angegeben.
 
Dies liegt wohl daran, dass bei der URL in FHEMWEB noch ein Session-Parameter hinten angegeben ist (Eingabe dieser ''vollständigen'' URL funktioniert dann endlich erfolgreich, auch in einem ''separaten'' Browser-Fenster).
<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 ===
Zeile 61: 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, 13:29 Uhr

Event Monitor Anzeige mit Beispiel-Ereignissen

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"

Event Monitor, zur Eingabe einer Devspec zur Filterung der Ereignisse auf .* klicken

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.

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.:

Links

Hinweise