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
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?
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