hallo,
ich finde meinen Fehler nicht
Inhalt des log-files:
2022-07-04_08:23:09 HUEDevice8 off
2022-07-04_08:28:09 HUEDevice8 on
2022-07-04_08:28:39 HUEDevice8 off
Inhalt gplot File:
# Created by FHEM/98_SVG.pm, 2022-07-04 08:43:11
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 ("Auf" 1, "Zu" 0)
set y2tics ("Auf" 1, "Zu" 0)
set grid y2tics
set ylabel ""
set y2label "Ventil"
set yrange [-0.5:1.5]
set y2range [-0.5:1.5]
#lp FileLog:FileLog_BeregnungTest:3:HUEDevice8\x3a::$fld[3]=~"on"?0.8:0
plot "<IN>" using 1:2 axes x1y2 title 'Ventil' ls l0 lw 1 with steps
und hier noch show preprocessed input:
get lp CURRENT INT 2022-07-04_00:00:00 2022-07-04_23:59:59 FileLog:FileLog_BeregnungTest:3:HUEDevice8\x3a::$fld[3]=~"on"?0.8:0
#3:HUEDevice8\x3a::$fld[3]=~"on"?0.8:0
Was ich nicht verstehe, da steht doch was im log, müsste man das nicht sehen?
Jetzt noch mal neu angelegt:
# Created by FHEM/98_SVG.pm, 2022-07-04 09:01:59
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
set y2tics
set grid
set ylabel "Humidity"
set y2label "Temperature"
#FileLog_BeregnungTest 3:HUEDevice8.*::
plot "<IN>" using 1:2 axes x1y2 title 'Line 1' ls l0 lw 1 with lines
im SVG Device werden jetzt sogar einieg Werte angezeigt
Example lines for input:
2022-07-04_08:28:39 HUEDevice8 off
2022-07-04_08:28:09 HUEDevice8 on
nur die preprocessed wieder leer:
get FileLog_BeregnungTest CURRENT INT 2022-07-04_00:00:00 2022-07-04_23:59:59 3:HUEDevice8.*::
#3:HUEDevice8.*::
matze1999
die werte "on/off" stehen in spalte 3.
die erste spalte (timestamp) hat die nummer 0.
Zitatdie werte "on/off" stehen in spalte 3.
das dachte ich auch, deshalb:
#lp FileLog:FileLog_BeregnungTest:3:HUEDevice8\x3a::$fld[3]=~"on"?0.8:0
und
#FileLog_BeregnungTest 3:HUEDevice8.*::
matze1999
Zitat von: matze1999 am 04 Juli 2022, 11:53:27
#lp FileLog:FileLog_BeregnungTest:3:HUEDevice8\x3a::$fld[3]=~"on"?0.8:0
Die dritte Spalte hat die Nummer 2, also
$fld[2]=.......
das ändert nichts:
get lp CURRENT INT 2022-07-04_00:00:00 2022-07-04_23:59:59 FileLog:FileLog_BeregnungTest:2:HUEDevice8\x3a::$fld[2]=~"on"?0.8:0
#2:HUEDevice8\x3a::$fld[2]=~"on"?0.8:0
get FileLog_BeregnungTest CURRENT INT 2022-07-04_00:00:00 2022-07-04_23:59:59 2:HUEDevice8.*::
#2:HUEDevice8.*::
trotz Daten im Log:
2022-07-04_08:23:09 HUEDevice8 off
2022-07-04_08:28:09 HUEDevice8 on
2022-07-04_08:28:39 HUEDevice8 off
matze1999
der neu angelegte funktioniert jetzt, ich hatte vergessen "on" und "off" mit einer funktion zu hinterlegen:
# Created by FHEM/98_SVG.pm, 2022-07-04 12:15:29
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
set y2tics
set grid
set ylabel "Humidity"
set y2label "Temperature"
set y2range [0:1]
#FileLog_BeregnungTest 2:HUEDevice8.*::$fld[2]=~"on"?0.8:0
plot "<IN>" using 1:2 axes x1y2 title 'Line 1' ls l0 lw 1 with steps
matze1999
auch mit logproxy funktioniert es, wenn man es richtig macht und mitdenkt und nicht nur kopiert::
richtig:
#lp FileLog:FileLog_BeregnungTest:2:HUEDevice8.*::$fld[2]=~"on"?0.8:0
falsch:
#lp FileLog:FileLog_BeregnungTest:2:HUEDevice8\x3a::$fld[2]=~"on"?0.8:0
ich weiss nicht, was das "\x3a" bedeutet, das steht u.a. im wiki (https://wiki.fhem.de/wiki/Plots_erzeugen).
matze1999
Zitat von: matze1999 am 04 Juli 2022, 13:42:46
auch mit logproxy funktioniert es, wenn man es richtig macht und mitdenkt und nicht nur kopiert::
Oder für solch einfache Plots direkt den Ploteditor verwendet.. ;)
Zitat von: Nobbynews am 04 Juli 2022, 13:52:43
Oder für solch einfache Plots direkt den Ploteditor verwendet.. ;)
da soll später noch mehr rein, das ist erst der Anfang.
matze1999
Kann man die Achsenbeschriftung "berechnen" lassen"?
ein HourCounter gibt als Werte die Impulse, diese muss ich noch umrechnen um den richtigen Wert zu bekommen, für die Label im plot mache ich das mit:
attr SVG_CN.Regenmenge.File_1 label round($data{currval1}*(0.50505),0)::round($data{currval2}*(0.50505),0)::round($data{currval3}*(0.50505),0)
jetzt müsste ich noch die Achsenbeschriftung der y-Achse darauf anpassen? Zur Zeit werden die Impulszahlen genutzt.
matze1999
Das Attribut "label" ist (genau wie "title") deprecated, Du solltest besser auf plotReplace umstellen.
Grundsätzlich kann man die Achsenbeschriftung über die ytics steuern. Dort kannst Du sowohl mit perl-Code als auch mit plotReplace arbeiten und die Wertepaare entsprechend berechnen lassen.
vielen Dank,
da finde ich keinen Ansatz, mir fehlt schon,was der "key" ist.
matze1999