Probleme mit LogProxy

Begonnen von Markus-Mech, 19 April 2021, 10:27:18

Vorheriges Thema - Nächstes Thema

Markus-Mech

Guten Tag,
ich steuere die Heizlampe für unsere Schildkröten über FHEM. Um den Temperaturverlauf zu Visualisieren habe ich einen FileLog angelegt
defmod FileLog_Schildis_Temp FileLog ./log/Schildis_Temp-%Y-%W.log Schildis_Heizung_OR:.*|Schildis_Heizung_UL:.*|Schildis_Temp:temperature:.*
attr FileLog_Schildis_Temp logtype text
attr FileLog_Schildis_Temp room Schildkröten

Der Inhalt sieht dann folgendermaßen aus:
2021-04-19_00:40:32 Schildis_Temp temperature: 18.187
2021-04-19_00:40:32 Schildis_Heizung_OR off
2021-04-19_00:41:33 Schildis_Temp temperature: 18.25
.....
2021-04-19_01:04:53 Schildis_Temp temperature: 13.937
2021-04-19_01:04:53 Schildis_Heizung_OR on
2021-04-19_01:05:54 Schildis_Temp temperature: 13.812
.....
2021-04-19_01:24:11 Schildis_Temp temperature: 18.187
2021-04-19_01:24:11 Schildis_Heizung_OR off
2021-04-19_01:25:12 Schildis_Temp temperature: 18.375

Dazu habe ich mir einen SVGplot erstellt um dort die Temperatur und das Schalten der Relais anzuzeigen.
# Created by FHEM/98_SVG.pm, 2021-04-18 22:48:00
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 '<TL>'
set ytics ("off" 0, "on" 1)
set y2tics
set grid y2tics
set ylabel "Ein / Aus"
set y2label "Temperature"
set yrange [0:15]

#FileLog_Schildis_Temp ConstX:Schildis_Temp.*::
#FileLog_Schildis_Temp ConstX:Schildis_Heizung_OR.*::$fld[2]=~"on"?1:0

plot "<IN>" using 1:2 axes x1y2 title 'Temperatur' ls l0 lw 1 with lines,\
     "<IN>" using 1:2 axes x1y1 title 'Relais' ls l1fill lw 3 with steps

Das geht auch alles soweit super. Jetzt wollte ich aber mit Logproxy das Diagramm erweitern, dass die Schaltzustände am Tagesanfang auch mit dargestellt werden und nicht erst ab dem ersten Wechsel des Schaldzustandes des Relais. Hier scheitere ich allerdings. Mit Folgendem Code habe ich es zumindest geschafft das gleiche Diagramm wie ohne Logproxy zu erstellen. Allerdings nur mit viel Probieren und warum ich der Zeile "#Temp_Schild_LP FileLog:FileLog_Schildis_Temp::Schildis_Heizung_OR.*::$fld[2]=~"on"?1:0"" zwischen _Temp und Schildis zwei Doppelpunkte machen muss, habe ich bis jetzt nicht verstanden und war ein Zufall das ich die reingemacht habe. Sobald ich versuche den Zeitbereich zu erweitern wie in der folgeZeile bekomme ich keine Ausgabe mehr.
# Created by FHEM/98_SVG.pm, 2021-04-19 09:42:15
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 '<TL>'
set ytics ("off" 0, "on" 1)
set y2tics
set grid y2tics
set ylabel "Ein / Aus"
set y2label "Temperature"
set yrange [0:20]

#Temp_Schild_LP FileLog:FileLog_Schildis_Temp:Schildis_Temp.*::
#Temp_Schild_LP FileLog:FileLog_Schildis_Temp::Schildis_Heizung_OR.*::$fld[2]=~"on"?1:0
#Temp_Schild_LP FileLog:FileLog,offset=-60*60*24,extend=60*60*24:FileLog_Schildis_Temp:Schildis_Heizung_OR.*::$fld[2]=~"on"?2:0

plot "<IN>" using 1:2 axes x1y2 title 'Temperatur' ls l0 lw 1 with lines,\
     "<IN>" using 1:2 axes x1y1 title 'Relais' ls l1fill lw 3 with steps,\
     "<IN>" using 1:2 axes x1y1 title 'TT' ls l0 lw 1 with steps


Habt ihr igendwelche Tips für mich, was ich da falsch mache. "update" habe ich gerade auch noch mal durchlaufen lassen.

rudolfkoenig

Zitatwarum ich der Zeile "#Temp_Schild_LP FileLog:FileLog_Schildis_Temp::Schildis_Heizung_OR.*::$fld[2]=~"on"?1:0"" zwischen _Temp und Schildis zwei Doppelpunkte machen muss, habe ich bis jetzt nicht verstanden
Womoeglich kann hier das Lesen der Doku helfen: https://fhem.de/commandref_modular.html#FileLogget Stichwort column_spec.
Oder man verwendet den Plot Editor aus der SVG-DetailAnsicht, und man fuellt die Felder ein.