FHEM Forum

FHEM => Anfängerfragen => Thema gestartet von: swiegmann am 20 November 2019, 15:55:21

Titel: [gelöst] gplot Werte in der "Zukunft" anzeigen / Plot-Abriss vermeiden
Beitrag von: swiegmann am 20 November 2019, 15:55:21
Hallo zusammen,

mangels des richtigen Stichwortes zum Suchen komme ich bei folgender Frage nicht alleine weiter.

Am besten lässt es sich anhand des Bildes erklären (siehe anbei)
- Der Ventilator war von 15:00-15:05 sowie von 15:15-15:30 eingeschaltet ==> blauer Balken
- Dann wurde er erneut um 15:41 eingeschaltet
- Nun ist es im Bild gerade 15:47. Die grünen Temperaturkurven werden minütlich ins Log geschrieben.
- Ich würde gern sehen, dass der blaue Balken bis 15:47 (aktuelle Zeit) geht - und nicht um 15:40 aufhört.
- GPLOT macht das allerdings nicht, weil um 15:41 der letzte Eintrag im Logfile (on) vorhanden ist.

Hat jemand eine Idee, ob das möglich ist?

Viele Grüße & Danke im Voraus,
Sascha


# Created by FHEM/98_SVG.pm, 2019-11-20 15:47:34
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 ("" 1)
set grid
set ylabel "Temp °C"
set y2label ""
set y2range [0.0:3.5]

#FileLog_3d_box_temp1 3:3d_box_temp1.temperature\x3a::$fld[3]
#FileLog_3d_box_temp2 3:3d_box_temp2.temperature\x3a::$fld[3]
#FileLog_3d_box_Heizung 3:3d_box_Heizung.*::
#FileLog_3d_box_Luefter1 3:3d_box_Luefter1.*::$fld[2]=~"on"?2:0

plot "<IN>" using 1:2 axes x1y1 title 'Sensor 1' ls l1 lw 2 with lines,\
     "<IN>" using 1:2 axes x1y1 title 'Sensor 2' ls l1 lw 2 with lines,\
     "<IN>" using 1:2 axes x1y2 title 'Heizung an' ls l0fill lw 0.2 with steps,\
     "<IN>" using 1:2 axes x1y2 title 'Lüfter an' ls l2fill lw 0.2 with steps
Titel: Antw:gplot Werte in der "Zukunft" anzeigen
Beitrag von: Shadow3561 am 20 November 2019, 18:37:40
 https://wiki.fhem.de/wiki/Plot-Abriss_vermeiden (https://wiki.fhem.de/wiki/Plot-Abriss_vermeiden)
Titel: Antw:gplot Werte in der "Zukunft" anzeigen
Beitrag von: swiegmann am 20 November 2019, 22:45:43
Super. Vielen Dank Shadow3561. Es gibt wirklich in FHEM für alles eine Lösung :-)

Falls das hier jemand in Zukunft liest:
Lösung ist im Link oben beschrieben. Stichwort "Plot-Abriss vermeiden"
Die Lösung ist, dass einfach regelmäßig der aktuelle Status ins Logfile geschrieben wird, und damit der Plot auch entspr. bis zum letzten Zeitpunkt angezeigt wird.
Dazu die beschriebene Funktion in 99_myUtils.pm implementieren.

dann (Beispiel)
defmod di_Luefter_addlog DOIF ([+:01] and [Luefter] eq "on" ) ## jede Minute wenn Luefter an\
  ({addLog("Luefter", "state")})\
attr di_Luefter_addlog do always


Im Log sorgt das für
2019-11-20_22:33:09 Luefter on
2019-11-20_22:34:00 Luefter on   << addLog
2019-11-20_22:35:00 Luefter on   << addLog
...
2019-11-20_22:43:00 Luefter on   << addLog


und der Plot zeigt auch um 22:43 noch "on" an.

Viele Grüße,
Sascha