[SOLVED] SVG-Plots nach Update falsche Min-Max-Werte (Index verschoben?)

Begonnen von FFHEM, 16 Dezember 2017, 09:34:59

Vorheriges Thema - Nächstes Thema

FFHEM

Hallo zusammen,

nach meinem gestrigen (15.12.2017) Update zeigen meine SVG-Plots falsche Min-/Max-Werte, nämlich um einen Indexwert verschoben.
Also die "title"Angabe:

"außen  min: $data{min2} °C   max: $data{max2} °C"
zeigt nicht den 2. Wert, sondern den 1. Wert, das bei allen Plots.


Bin ich da der einzige?
Danke!
Raspberry Pi 4B, Homematic, Sonoff, Shelly, Worx, Arduino, ESP8266

rudolfkoenig

Ich habe kuerzlich ein Bug behoben, was bei Plots mit mehreren unterschiedlichen Quellen aufgetreten ist.
Kannst du bitte die .gplot Datei anhaengen, was zu dem gezeigten Attribut gehoert?

FFHEM

Hallo Rudolf,
scheint tatsächlich alle SVG-Plots zu betreffen, die mehrere Datenquellen haben, hier ein Beispiel:

Hier tritt der Fehler auf:
# Created by FHEM/98_SVG.pm, 2017-07-30 16:56:54
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 y2tics
set ylabel "Hygro Wohnzimmer"
set y2label "Temperatur"
set yrange [50:75]

#FileLog_Temperatur_innen_oben 4:Temperatur_innen_oben.T\x3a::
#FileLog_Temperatur_aussen 4:Temperatur_aussen.T\x3a::
#FileLog_Wohnzimmerthermostat_Weather 4:Wohnzimmerthermostat_Weather.humidity\x3a::

plot "<IN>" using 1:2 axes x1y2 title 'Temperatur oben' ls l0 lw 1.5 with lines,\
     "<IN>" using 1:2 axes x1y2 title 'Temperatur außen' ls l2 lw 1.5 with lines,\
     "<IN>" using 1:2 axes x1y1 title 'Hygro Wohnzimmer' ls l1fill lw 0.5 with lines


Und hier eins mit 1 Datenquelle, was fehlerfrei läuft:
# Created by FHEM/98_SVG.pm, 2016-01-27 22:11:07
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 nomirror
set y2tics
set grid y2tics
set ylabel "Luftfeuchtigkeit [%]"
set y2label "Temperatur  [°C]"
set yrange [40:100]

#FileLog_Temperatur_aussen 4:Temperatur_aussen.*:0:
#FileLog_Temperatur_aussen 6:Temperatur_aussen.*:0:
#FileLog_Temperatur_aussen 8:Temperatur_aussen.*:0:

plot "<IN>" using 1:2 axes x1y2 title 'Temperatur außen' ls l0 lw 1 with lines,\
     "<IN>" using 1:2 axes x1y1 title 'Luftfeuchtigkeit außen' ls l2 lw 1 with lines,\
     "<IN>" using 1:2 axes x1y2 title 'Taupunkt' ls l7 lw 1 with lines


Danke für Deine Mühe!
Gruß
Friedhelm
Raspberry Pi 4B, Homematic, Sonoff, Shelly, Worx, Arduino, ESP8266

rudolfkoenig

Kannst du bitte ein FHEM-Log-Ausschnitt mit "attr global verbose 5" beim Aufruf des fehlerhaften Logs hier anhaengen?

FFHEM

Das SVG-Element heißt  "SVG_Temperatur_Kombi".
Ich hoffe, ich habe hier den richtigen Log-Ausschnitt erwischt:

2017.12.16 19:34:54.480 4: WEB_192.168.178.36_49406 GET /fhem?room=%c3%9cbersicht; BUFLEN:0
2017.12.16 19:34:54.577 4: WEB: /fhem?room=%c3%9cbersicht / RL:2860 / text/html; charset=UTF-8 / Content-Encoding: gzip
/
2017.12.16 19:34:54.786 4: WEB_192.168.178.36_49406 GET /fhem/SVG_showLog?dev=SVG_Temperatur_Kombi&logdev=FileLog_Temperatur_innen_oben&gplotfile=SVG_Temperatur_Kombi&logfile=CURRENT&pos=; BUFLEN:0
2017.12.16 19:34:54.790 5: plotcommand: get FileLog_Temperatur_innen_oben CURRENT INT 2017-12-15_19:45:00 2017-12-16_19:45:01  4:Temperatur_innen_oben.T\x3a:: 4:Temperatur_aussen.T\x3a:: 4:Wohnzimmerthermostat_Weather.humidity\x3a::
2017.12.16 19:34:54.791 5: Cmd: >get FileLog_Temperatur_innen_oben CURRENT INT 2017-12-15_19:45:00 2017-12-16_19:45:01 4:Temperatur_innen_oben.T\x3a::<
2017.12.16 19:34:54.792 4: FileLog_Temperatur_innen_oben get: Input file ./log/Temperatur_innen_oben-2017.log, from:2017-12-15_19:45:00  to:2017-12-16_19:45:01
2017.12.16 19:34:54.936 4: FileLog_Temperatur_innen_oben get: line 1, regexp:Temperatur_innen_oben.T\x3a, col:3, output lines:1116
2017.12.16 19:34:54.937 5: Cmd: >get FileLog_Temperatur_aussen CURRENT INT 2017-12-15_19:45:00 2017-12-16_19:45:01 4:Temperatur_aussen.T\x3a::<
2017.12.16 19:34:54.938 4: FileLog_Temperatur_aussen get: Input file ./log/Temperatur_aussen-2017.log, from:2017-12-15_19:45:00  to:2017-12-16_19:45:01
2017.12.16 19:34:55.080 4: FileLog_Temperatur_aussen get: line 2, regexp:Temperatur_aussen.T\x3a, col:3, output lines:1126
2017.12.16 19:34:55.081 5: Cmd: >get FileLog_Wohnzimmerthermostat_Weather CURRENT INT 2017-12-15_19:45:00 2017-12-16_19:45:01 4:Wohnzimmerthermostat_Weather.humidity\x3a::<
2017.12.16 19:34:55.082 4: FileLog_Wohnzimmerthermostat_Weather get: Input file ./log/Wohnzimmerthermostat_Weather-2017.log, from:2017-12-15_19:45:00  to:2017-12-16_19:45:01
2017.12.16 19:34:55.213 4: FileLog_Wohnzimmerthermostat_Weather get: line 3, regexp:Wohnzimmerthermostat_Weather.humidity\x3a, col:3, output lines:550
2017.12.16 19:34:55.214 5: Cmd: >{ "außen  min: $data{min2} °C   max: $data{max2} °C" }<
2017.12.16 19:34:55.441 4: WEB: /fhem/SVG_showLog?dev=SVG_Temperatur_Kombi&logdev=FileLog_Temperatur_innen_oben&gplotfile=SVG_Temperatur_Kombi&logfile=CURRENT&pos= / RL:4220 / image/svg+xml / Content-Encoding: gzip
/
2017.12.16 19:34:55.577 4: WEB_192.168.178.36_49406 GET /fhem?XHR=1&inform=type=status;filter=room=%c3%9cbersicht;since=1513449293;fmt=JSON&fw_id=1001×tamp=1513449295559; BUFLEN:0
2017.12.16 19:34:58.735 5: Starting notify loop for HT_Wohnzimmer1, 6 event(s), first is actuator: 7
2017.12.16 19:34:58.735 5: createNotifyHash
2017.12.16 19:34:58.867 4: dewpoint_notify: cmd_type=dewpoint devname=HT_Wohnzimmer1 dewname=dewpointToAllDeviceReadings, dev=HT_Wohnzimmer1, dev_regex=.* temp_name=temperature hum_name=humidity
2017.12.16 19:34:58.868 5: dewpoint_notify: s='actuator: 7'
2017.12.16 19:34:58.868 5: dewpoint_notify: evName='actuator:' val=7'
2017.12.16 19:34:58.868 5: dewpoint_notify: s='battery: ok'
2017.12.16 19:34:58.869 5: dewpoint_notify: evName='battery:' val=ok'
2017.12.16 19:34:58.869 5: dewpoint_notify: s='batteryLevel: 2.7'
2017.12.16 19:34:58.869 5: dewpoint_notify: evName='batteryLevel:' val=2.7'
2017.12.16 19:34:58.869 5: dewpoint_notify: s='desired-temp: 21.5'
2017.12.16 19:34:58.870 5: dewpoint_notify: evName='desired-temp:' val=21.5'
2017.12.16 19:34:58.870 5: dewpoint_notify: s='measured-temp: 21.5'
2017.12.16 19:34:58.870 5: dewpoint_notify: evName='measured-temp:' val=21.5'
2017.12.16 19:34:58.870 5: dewpoint_notify: s='motorErr: ok'
2017.12.16 19:34:58.870 5: dewpoint_notify: evName='motorErr:' val=ok'
Raspberry Pi 4B, Homematic, Sonoff, Shelly, Worx, Arduino, ESP8266

rudolfkoenig

Danke, ich konnte es nachstellen.
Mein letzter Bugfix vom 2017-12-05 war stuemperhaft, ich hoffe es diesmal besser gemacht zu haben.

FFHEM

Vielen Dank, Rudolf,
Du hast es richtig gemacht!!!!
Alles ist ok! ;D

Gruß
Friedhelm
Raspberry Pi 4B, Homematic, Sonoff, Shelly, Worx, Arduino, ESP8266