Hallo,
ich versuche in einem Diagramm mit einer Temperaturkurve, auch die Schaltzustände eines Lüfters (on/off) darzustellen. Wie z.B. hier: https://wiki.fhem.de/wiki/Datei:SVG_Leistungsdaten_einer_Steckdose.png (https://wiki.fhem.de/wiki/Datei:SVG_Leistungsdaten_einer_Steckdose.png).
Den Temperaturverlauf bekomme ich hin. nur der Schaltszustand wird nicht dargestellt.
Ich habe ein log-File, in dem die entsprechenden Daten drin sind:
...
2021-06-28_16:52:32 MQTT2_DVES_1798A6_CH3 OFF
2021-06-28_16:55:33 MQTT2_DVES_1798A6 DHT11_Temperature: 31.4
2021-06-28_16:55:34 MQTT2_DVES_1798A6_CH3 ON
2021-06-28_17:00:33 MQTT2_DVES_1798A6 DHT11_Temperature: 31.4
2021-06-28_17:00:34 MQTT2_DVES_1798A6_CH3 ON
2021-06-28_17:05:33 MQTT2_DVES_1798A6 DHT11_Temperature: 31.2
2021-06-28_17:05:34 MQTT2_DVES_1798A6_CH3 ON
2021-06-28_17:10:33 MQTT2_DVES_1798A6 DHT11_Temperature: 31.1
2021-06-28_17:10:34 MQTT2_DVES_1798A6_CH3 ON
...
Das zugehörige gplot File sieht so aus:
# Created by FHEM/98_SVG.pm, 2021-06-28 17:37: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 'Schrankklima'
set ytics
set y2tics ("ON" 1, "OFF" 0)
set grid ytics y2tics
set ylabel "Temperatur"
set y2label "Lüfter"
set yrange [20:35]
set y2range [-1:2]
#MQTT2_DVES_1798A6_FileLog_1 4:MQTT2_DVES_1798A6.DHT11_Temperature\x3a::
#MQTT2_DVES_1798A6_FileLog_1 3:MQTT2_DVES_1798A6_CH3::"ON"?1:0
plot "<IN>" using 1:2 axes x1y1 title 'Line 1' ls l0 lw 1 with lines,\
"<IN>" using 1:2 axes x1y2 title 'Line 2' ls l2 lw 1 with steps
Im Editor kann ich mir das preprocessed input ansehen:
2021-06-28_17:10:33 31.1
2021-06-28_17:15:33 31.1
2021-06-28_17:20:33 31.0
2021-06-28_17:25:33 31.0
2021-06-28_17:30:33 31.1
2021-06-28_17:35:33 31.1
#4:MQTT2_DVES_1798A6.DHT11_Temperature\x3a::
....
2021-06-28_17:25:34 1
2021-06-28_17:30:34 1
2021-06-28_17:35:34 1
#3:MQTT2_DVES_1798A6_CH3::"ON"?1:0
Die "#3" Spalte habe ich schon geändert , bringt nichts anderes, auch damit ""ON"?1:0" habe ich schon einiges ausprobiert. Nur wenn ich das drin habe, wird überhaupt was angezeigt, aber immer "ON".
Leider ohne Erfolg. Diverse Beispiele haben mich nicht weitergebracht.
Hat jemand eine Idee für mich?
matze1999
ich hab nicht alles von dir geprüft, schau mal hier, da war mal ein Thread zu dem Thema ... kennst den?
https://forum.fhem.de/index.php?topic=17822.0
Hallo,
ja, den Thread kannte ich, jetzt noch mal genauaer angeschaut, jetzt klappt es mit dieser Zeile:
#MQTT2_DVES_1798A6_FileLog_1 3:MQTT2_DVES_1798A6_CH3::$fld[2]=~"ON"?1:0
# Created by FHEM/98_SVG.pm, 2021-06-28 20:44:45
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 'Schrankklima'
set ytics
set y2tics ("ON" 1, "OFF" 0)
set grid ytics y2tics
set ylabel "Temperatur"
set y2label "Lüfter"
set yrange [20:35]
set y2range [-0.1:1.1]
#MQTT2_DVES_1798A6_FileLog_1 4:MQTT2_DVES_1798A6.DHT11_Temperature\x3a::
#MQTT2_DVES_1798A6_FileLog_1 3:MQTT2_DVES_1798A6_CH3::$fld[2]=~"ON"?1:0
plot "<IN>" using 1:2 axes x1y1 title 'Line 1' ls l0 lw 1 with lines,\
"<IN>" using 1:2 axes x1y2 title 'Line 2' ls l2 lw 1 with steps
Was mir noch nicht ganz klar ist:
#MQTT2_DVES_1798A6_FileLog_1 3:MQTT2_DVES_1798A6_CH3::$fld[2]=~"ON"?1:0
Hat wohl mit der Zählung der Argumente und der Spalten zu tun, einmal mit 0 beginnend und einmal mit 1?
matze1999
Zitat von: matze1999 am 28 Juni 2021, 20:52:21
Was mir noch nicht ganz klar ist:
#MQTT2_DVES_1798A6_FileLog_1 3:MQTT2_DVES_1798A6_CH3::$fld[2]=~"ON"?1:0
Hat wohl mit der Zählung der Argumente und der Spalten zu tun, einmal mit 0 beginnend und einmal mit 1?
matze1999
Ich nutze von Beginn an DBLog und für Plots hauptsächlich Grafana, habe mich nie mit den Logfiles beschäftigt und müsste mich selber einlesen. Ich denke du meinst das hier ...
https://wiki.fhem.de/wiki/Plots_erzeugen#Welche_Daten_werden_dargestellt