Hallo,
ich habe einen Innen-Feuchtigkeitssensor HM-WDS40-TH-I, der jeweils drei Zeilen ins Log schreibt:
2014-02-01_00:01:02 CUL_HM_HM_WDS40_TH_I temperature: 21.9
2014-02-01_00:01:02 CUL_HM_HM_WDS40_TH_I humidity: 38
2014-02-01_00:01:02 CUL_HM_HM_WDS40_TH_I T: 21.9 H: 38
Nun sind diese Informationen ja redundant und ich würde am liebsten nur die unterste Zeile mit beiden Daten loggen.
Allerdings gelingt es mir nicht, aus dieser Zeile für den Plot die Feuchtigkeit auszulesen. Der Plot-Editor bietet mir nur
CUL_HM_HM_WDS40_TH_I.*
CUL_HM_HM_WDS40_TH_I.T:
CUL_HM_HM_WDS40_TH_I.humidity:
CUL_HM_HM_WDS40_TH_I.temperature:
an.
Ich habe schon versucht, eine passende Regex ("CUL_HM_HM_WDS40_TH_I.T.*.H.") direkt in die Plot-Konfigurationsdatei zu scheiben, aber die wird nicht akzeptiert.
Hat jemand einen Tipp, wie man das hinbekommen kann?
Hallo,
ZitatIch habe schon versucht, eine passende Regex ("CUL_HM_HM_WDS40_TH_I.T.*.H.") direkt in die Plot-Konfigurationsdatei zu scheiben, aber die wird nicht akzeptiert.
das regexp sieht mir nicht gerade passend aus aber ich kann mich auch täuschen.
Versuch mal als regexp
CUL_HM_HM_WDS40_TH_I:T.*.H.*
was passiert damit?
Zwischen dem Devicenamen und dem Reading ein : und am Ende bei H(umidity) nicht nur ein . sondern ein .*
Grüße
meist ist noch ein leerzeichen zwischen : und dem Inhalt.
Ich wuerde
CUL_HM_HM_WDS40_TH_I:.T.*.H.*
oder
CUL_HM_HM_WDS40_TH_I:.*T:.*.H:.*
CUL_HM_HM_WDS40_TH_I:.T:.*.H:.*
je genauer um so besser meine ich ...
ein event-on-change-reading .* wuerde ich trotzdem setzen - dann wird die sich selten(er) aendernde Feuchte nicht staendig durch die Trigger-parser gezogen
Gruss Martin
Hi,
Nimm einfach die Zeile mit dem T am Ende. Das loggt dann die komplette Zeile.
Gruß,
Thorsten
Nochmal: Es geht hier nicht um das Loggen, sondern darum, aus der geloggten Zeile
CUL_HM_HM_WDS40_TH_I T: 21.9 H: 38
den Wert für Feuchtigkeit auszulesen, also das, was hinter H: steht.
Der FHEM-Ploteditor bietet mir dafür keine passende RegEx an (siehe 1. Post).
Nun dachte ich, ich könnte eine passende RegEx direkt in die Konfigurationsdatei des Plots reinschreiben. Da steht derzeit
#FileLog 4:CUL_HM_HM_WDS40_TH_I.humidity\x3a:50:
#FileLog 4:CUL_HM_HM_WDS40_TH_I.temperature\x3a:20:
Laut http://regexpal.com/ (http://regexpal.com/) sollte meine RegEx klappen, aber wenn ich die in die Plot-Datei schreibe, wird sie mit der Standard-RegEx CUL_HM_HM_WDS40_TH_I.* überschrieben.
Ist es überhaupt sinnvoll, in der Plotdatei rumzufummeln oder wird das sowieso überschrieben?
Die anderen hier vorgeschlagenen RegEx-Varianten haben zumindest bei http://regexpal.com/ (http://regexpal.com/) nicht funktioniert. Außerdem verwendet die Plot-Datei den : (Doppelpunkt) als Trennzeichen für die verschiedenen Input-Parameter. Deshalb scheint es mir problematisch, innerhalb der RegEx mit : zu arbeiten, weil der Konfigurationseintrag dann vermutlich nicht korrekt interpretiert werden kann?
Nimm die Zeile mit dem T: und wähle als column im ploteditor die 6 aus.
Spalte 1: TimeStamp
Spalte 2: CUL_HM_HM_WDS40_TH_I
Spalte 3: T:
Spalte 4: 21.9
Spalte 5: H:
Spalte 6: 38
Wer bis zehn zählen kann, ist bei fhem klar im Vorteil 8)
Zitat von: betateilchen am 25 Februar 2014, 11:16:21
Nimm die Zeile mit dem T: und wähle als column im ploteditor die 6 aus.
Aah, jetzt habe ich es kapiert. Ja, so klappt es und gleich noch was über den Plot-Editor gelernt.
Danke! :D
Zitat von: Brockmann am 25 Februar 2014, 11:21:53und gleich noch was über den Plot-Editor gelernt.
ja... sozusagen die einfachste Grundlage endlich entdeckt...