FHEM Forum

FHEM => Anfängerfragen => Thema gestartet von: thgorjup am 02 November 2018, 22:28:49

Titel: [Gelöst] DBLOG Plot - welches RegEx?
Beitrag von: thgorjup am 02 November 2018, 22:28:49
Hallo, ich logge folgende Zeilen mittels DBLOG und bekomme aber nicht alle Werte im Plot angezeigt.
Wie muss ich die RegEx für den Regensensor und den Helligkeitssensor aussehen?
Wer kann mir helfen?

DBLOG Datenbank-Auszug:

2018-11-02 08:18:16|ESPEasy_WS_Luftdrucksensor|ESPEASY|state: P: 1006.56 T: 10.14|state|P: 1006.56 T: 10.14|
2018-11-02 08:19:15|ESPEasy_WS_Regensensor|ESPEASY|state: R: 113.00|state|R|113.00
2018-11-02 08:19:16|ESPEasy_WS_Temperatur_Luftfeuchte_Sensor|ESPEASY|state: H: 88.00 T: 9.00|state|H: 88.00 T: 9.00|
2018-11-02 08:19:16|ESPEasy_WS_Helligkeitssensor|ESPEASY|state: L: 9967.08|state|L|9967.08



SVG-Code:

# Created by FHEM/98_SVG.pm, 2018-11-02 22:26:10
set terminal png transparent size <SIZE> crop
set output '<OUT>.png'
set xdata time
set timefmt "%Y-%m-%d_%H:%M:%S"
set xlabel " "
set title '<L1>'
set ytics
set y2tics
set grid
set ylabel " % / Lux / hPA"
set y2label "Temperatur °C"
set yrange [0:110]
set y2range [0:50]

#DBLOG ESPEasy_WS_Helligkeitssensor:state:::$val=~s/.*L:\s([-\.\d]+).*/$1\/100/eg
#DBLOG ESPEasy_WS_Temperatur_Luftfeuchte_Sensor:state:::$val=~s/.*T:\s([-\.\d]+).*/$1/eg
#DBLOG ESPEasy_WS_Temperatur_Luftfeuchte_Sensor:state:::$val=~s/.*H:\s([-\.\d]+).*/$1/eg
#DBLOG ESPEasy_WS_Luftdrucksensor:state:::$val=~s/.*P:\s([-\.\d]+).*/$1\/10/eg
#DBLOG ESPEasy_WS_Regensensor:state:::$val=~s/.*R:\s([-\.\d]+).*/$1/eg

plot "<IN>" using 1:2 axes x1y1 title 'Helligkeit (Lux)' ls l3fill lw 1 with lines,\
     "<IN>" using 1:2 axes x1y2 title 'Temperatur (°C)' ls l0 lw 1 with lines,\
     "<IN>" using 1:2 axes x1y1 title 'Luftfeuchtigkeit (%)' ls l2 lw 1 with lines,\
     "<IN>" using 1:2 axes x1y1 title 'Luftdruck (1/10 hPa)' ls l4 lw 1 with lines,\
     "<IN>" using 1:2 axes x1y1 title 'Regen' ls l2fill lw 1 with steps


EDIT:
Der Unterschied der beiden Zeilen ist folgender:

state|H: 88.00 T: 9.00|
state|L|9967.08

In dem Fall, in dem ich keinen Wert erhalten, steht der PIPE "|" direkt nach dem "L" und fehlt hinter dem Wert....?


Danke und Gruß
Thomas
Titel: Antw:DBLOG Plot - welches RegEx?
Beitrag von: thgorjup am 06 November 2018, 09:39:59
Problem gelöst:

Ich habe die RegEx in DBLOG geändert und jetzt bekomme ich ordentliche Werte geloggt. Diese kann ich ohne RegEx in SVG verwenden.


2018-11-06 09:36:15|ESPEasy_WS_Regensensor|ESPEASY|R: 4|R|4|
2018-11-06 09:36:15|ESPEasy_WS_Temperatur_Luftfeuchte_Sensor|ESPEASY|H: 88|H|88|
2018-11-06 09:36:15|ESPEasy_WS_Temperatur_Luftfeuchte_Sensor|ESPEASY|T: 9.0|T|9.0|
2018-11-06 09:36:15|ESPEasy_WS_Helligkeitssensor|ESPEASY|L: 5812|L|5812|
2018-11-06 09:36:16|ESPEasy_WS_Luftdrucksensor|ESPEASY|T: 12.5|T|12.5|
2018-11-06 09:36:16|ESPEasy_WS_Luftdrucksensor|ESPEASY|P: 995|P|995|
Titel: (NEU) DbLog - PlotEditor => DefaultValue,Function fehlt!?
Beitrag von: myhome am 19 April 2019, 01:25:25
Hallo, habe das Problem wie im Thema "DbLog - PlotEditor => DefaultValue,Function fehlt!?" beschrieben. Wenn ich nur auf History stelle (DBlogtype), kann ich die Funktion eingeben, obwohl mir hier das Funktionsfeld fehlt, wie es  das bei FileLog gibt. Durch das Umstellen dbLogtype auf nur History fehlt mir die Parameteranzeige im PlotEditor. Ok kann ich mit leben. Stell ich es aber wieder auf current/History und führe "Write"  aus ist mein Funktion weg, hinter den ::: . Gibt es hier noch einen Fehler? Im WIKI zu dbLog steht man soll auf Current/History stellen. Nacht man dies, dann kann ich keine Funktion im PlotEditor eingeben (hinter dem LogFile:::...). Das geht nur im Editor. Beim klicken auf "Write im Ploteditor ist die Funktion dann wieder weg. Stelle ich auf nur HISTORY sehe ich keine Parameter mehr (Meldung wie  Current missing). Kann man den Ploteditor nicht so wie bei Filelog bauen? In WIKI steht zwar was man im gplot File machen muss, aber es sollte doch der Umgang  eigentlich so einfach wie mit FileLog sein.  Schade das man sich durch WIKI und Forum wühlen muss, für mich OK, ärgerlich aber naja. Für den einfachen Anwender ist das nicht praxistauglich. Eigentlich SCHADE! Aber gibt es eine Lösung für dieses Problem. Ich bin im FHEM auf dem NEUSTEN STAND!! Daran kann es nicht liegen. Und was ist nun richtig. DbLogType Current/History oder DbLogType History? Was ist für die Plotfunktion mit Funktion (Z.B für on/off Darstellung) die richtige Vorgehensweise?