FHEM Forum

FHEM => Anfängerfragen => Thema gestartet von: heikoh81 am 28 Dezember 2014, 10:31:47

Titel: Log auf bestimmte Readings beschränken?
Beitrag von: heikoh81 am 28 Dezember 2014, 10:31:47
Hallo zusammen,

ich habe bei den Logs das Problem, dass die Werte für das reading immer doppelt erscheinen, und zwar einmal mit und einmal ohne : im Log:
Siehe die letzten beiden Zeilen.

2014-12-28_10:28:32 Vorlauf.Hz VL.T: 55.00 °C
2014-12-28_10:28:32 Vorlauf.Hz RL.T: 40.50 °C
2014-12-28_10:28:32 Vorlauf.Hz Brenner Status: Brenner An (Heizbetrieb)
2014-12-28_10:28:32 Vorlauf.Hz Wert3_unbekannt: 96
2014-12-28_10:28:32 Vorlauf.Hz Wert4_unbekannt: 253
2014-12-28_10:28:32 Vorlauf.Hz Vorlauf: VL.T 55.00 °C, RL.T 40.50 °C, Brenner An (Heizbetrieb)
2014-12-28_10:28:32 Vorlauf.Hz Vorlauf VL.T 55.00 °C, RL.T 40.50 °C, Brenner An (Heizbetrieb)


Nun dachte ich, dass ich das Logging auf bestimmte Readings beschränken kann:

define FileLog_Vorlauf.Hz FileLog ./log/Vorlauf.Hz-%Y-%m.log Vorlauf.Hz:(Brenner Status|RL.T|VL.T).*
attr FileLog_Vorlauf.Hz logtype text
attr FileLog_Vorlauf.Hz room Logs_Vaillant


Das liefert aber folgenden Fehler:

wrong syntax: define FileLog filename regexp Please define FileLog_Vorlauf.Hz first Please define FileLog_Vorlauf.Hz first


Wo liegt mein Fehler?
Bzw. wie könnte man das doppelte Logging (siehe oben) unterdrücken?

Viele Grüße,
Heiko
Titel: Antw:Log auf bestimmte Readings beschränken?
Beitrag von: ritter_runkel am 02 Januar 2015, 19:42:53
Hallo,
ich bin auch nur ein Rookie aber probiere doch mal die gewünschten Werte nicht in eine Klammer zu schreiben, sondern einzeln. Allerdings kann ich nicht sagen, wie Du mir dem Freizeichen bei dem Brenner-Status umgehen musst.
Bei mir sieht das Logging verschiedener Werte so aus:

define FileLog_BadKlima FileLog log/BadKlima-%Y-%m.log BadKlima:humidity|BadKlima:temperature_T.*


In Deiner Fehlermeldung stehen auch 3 Fehler drin - der erste könnte mit dem Dateinamen, der bei Dir einen " . " enthält zusammen hängen. Benenne die Datei mal anders.
Grüße
Erik
Titel: Antw:Log auf bestimmte Readings beschränken?
Beitrag von: geek am 02 Januar 2015, 20:08:12
Hi,

wenn du keine Überraschung willst, solltest du die () Klammer auf jeden Fall beibehalten: Intern benutzt fhem /^$deine_regexp$/ - wenn du die Klammern um deine |-Alternativen weglässt werden also ^ und $ Teil der Alternativen. Kann Funktionieren - kann aber auch unerwartete Ergebnisse liefern.

Statt dem Leerzeichen kannst du entweder einen Punkt (. - sehr unspezifisch) oder \s verwenden.

Rainer
Titel: Antw:Log auf bestimmte Readings beschränken?
Beitrag von: stromer-12 am 02 Januar 2015, 20:30:15
In deiner Regex darf kein Leerzeichen vorkommen.
Wo kommt eigentlich "Brenner Status" her?
Readingnamen mit Leerzeichen sind nicht gut.

Du kannst für das Leerzeichen einen Punkt(beliebiges Zeichen) verwenden.

Vorlauf.Hz:(Brenner.Status|RL.T|VL.T).*