FHEM Forum

FHEM => Frontends => SVG / Plots / logProxy => Thema gestartet von: willyk am 27 März 2018, 09:04:54

Titel: gplot: Ausfiltern "leerer" Werte
Beitrag von: willyk am 27 März 2018, 09:04:54
Hallo Experten,

in meinen dblogs gibt es manchmal "leere" Werte, die ich beim plotten gerne ausfiltern möchte; ansonsten werden die Werte als "0" interpretiert, was die Plotausgabe verfälscht.

Beispiel der Daten (Es geht um die dritte Zeile, die ausgefiltert werden soll):



# TIMESTAMP, DEVICE, TYPE, EVENT, reading, value, UNIT
2018-03-27 06:00:51, EG_Toilette_H, MAX, desiredTemperature: 20.0, desiredTemperature, 20.0, °C
2018-03-27 05:30:19, EG_Toilette_H, MAX, desiredTemperature: 20.0, desiredTemperature, 20.0, °C
2018-03-27 05:30:05, EG_Toilette_H, MAX, desiredTemperature auto, desiredTemperature, , °C
2018-03-27 05:02:35, EG_Toilette_H, MAX, desiredTemperature: 18.0, desiredTemperature, 18.0, °C
2018-03-27 05:02:34, EG_Toilette_H, MAX, desiredTemperature 18.0, desiredTemperature, 18.0, °C

Die Plot-Datei sieht so aus:

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 ytics
set y2tics
set grid y2tics
set ylabel "Ventil in %"
set y2label "Temperatur in Grad Celsius"

#logdb <SPEC1>:desiredTemperature
#logdb <SPEC1>:temperature
#logdb <SPEC1>:valveposition

plot "<IN>" using 1:2 axes x1y2 title 'Soll-Temperatur (C)' ls l0fill_gyr lw 2 with lines,\
     "<IN>" using 1:2 axes x1y2 title 'Ist-Temperatur (C)' ls l1 lw 2 with lines,\
     "<IN>" using 1:2 axes x1y1 title 'Ventil (%)' ls l2 lw 3 with lines


Jemand einen Tip für mich, bitte?

Danke + Gruss
willyk



Titel: Antw:gplot: Ausfiltern "leerer" Werte
Beitrag von: Frank_Huber am 27 März 2018, 10:05:21
zum filtern weis ich auch nichts.

Den leeren Wert auf z.B. 20 ändern müsste so gehen: (ungetestet)
#logdb <SPEC1>:desiredTemperature:::$val=($val=''?20:$val)