FHEM Forum

FHEM => Anfängerfragen => Thema gestartet von: PeMue am 09 April 2015, 16:53:10

Titel: (vermutlich saudumme) Frage zu FileLog (gelöst)
Beitrag von: PeMue am 09 April 2015, 16:53:10
Hallo zusammen,

ich habe eine Frage zu FileLog:

* Definition/Beispiel in der commandref:
define <name> FileLog <filename> <regexp> [readonly]
define wzlog FileLog ./log/wz-%Y-%U.log wz:(measured-temp|actuator).*

* Thread und Erklärung von Ici
http://forum.fhem.de/index.php?topic=31201.0

* mein FileLog, dass eine Weile (vermutlich zufällig) ging
define Brenner_h_day_log FileLog ./log/brenner_h_day-%Y.log Heizung.BrennerStundenLastDay:.*

und jetzt meine Frage:
a.) Ich dachte eigentlich, dass man per <regexp> aus einem Event die Ereignisse extrahiert. Dazu nimmt man den Namen des Ereignisses und filtert sie:
Heizung.BrennerStundenLastDay:.*
- nimm alles von Heizung, dann ein beliebiges Zeichen(.), dann BrennerStundenLastDay:, dann beliebig viele Zeichen (.*)

b.) Wenn ich mit das mit den Doppelpunkt so anschaue, müsste das heißen
Heizung:BrennerStundenLastDay:.*
- nimm von Heizung das Reading BrennerStundenLastDay mit : und beliebig vielen folgenden Zeichen (.*)
a.) funktioniert manchmal, aber mit nervender Regelmäßigkeit halt auch nicht, so dass ich denke, es müsste b.) richtig sein. Warum dann a.) manchmal funktioniert und manchmal nicht, weiß ich nicht  :-[

Wenn b.) richtig ist, dann sollte m.E. die Erklärung in der commanref so aussehen:
define <name> FileLog <filename> <readingname>:<regexp>
Oder habe ich gerade (wegen der vielen ungewohnten Sonne) einen Knoten im Hirn?

Danke + Gruß

PeMue
Titel: Antw:(vermutlich saudumme) Frage zu FileLog
Beitrag von: nesges am 10 April 2015, 11:54:37
Zitat von: PeMue am 09 April 2015, 16:53:10
a.) Ich dachte eigentlich, dass man per <regexp> aus einem Event die Ereignisse extrahiert.

Filtert, nicht extrahiert. Ist das evtl. schon das Missverständnis? Ansonsten steht in http://fhem.de/commandref.html#FileLog eigentlich alles dazu:

ZitatThe regexp will be checked against the device name, devicename:event or timestamp:devicename:event combination. The regexp must match the complete string, not just a part of it.

Das Komma hinter "device name" habe ich ergänzt, es fehlt leider in der commandref und macht das ganze mMn ziemlich missverständlich ;) Du schaust also einfach in den Eventmonitor und beobachtest wie die Events deines Devices dort auftauchen. Demnach stellst du den Regexp-Filter ein.

Habe ich deine Frage richtig verstanden?
Titel: Antw:(vermutlich saudumme) Frage zu FileLog
Beitrag von: PeMue am 04 Juni 2015, 11:44:49
Hallo,

das Komma in der Commandref hat geholfen. Also entweder
- device name oder
- device name:event usw.

Warum das bei mir aber ab und zu funktioniert hat, weiß ich nicht.

Danke + Gruß

PeMue