div. Sensoren in ein gemeinsames Diagramm

Begonnen von Harald, 05 Mai 2013, 11:08:27

Vorheriges Thema - Nächstes Thema

Harald

Guten Abend zusammen,

also ich finde die Möglichkeit, die Rudi da geschaffen hat, auch ganz prima. Wenn man dann noch weiß, was man wo eingeben muß, um das Diagramm wie gewünscht zu erstellen, ist das sicherlich eine prima Sache. Aber man kann ja vieles ausprobieren.
Wenn ich das richtig verstanden habe, müssen die darzustellenden Werte aber alle in einem Log sein, oder?

@Icebear:
Gerne würde ich von Deinen Erfahrungen profitieren. Ich versuche schon seit längerm ohne Erfolg Daten von verschiedenen Geräten in eine gemeinsame Datei zu speichern, un sie dann in einem Diagramm darzustellen. Gerne würde ich aber nur die relevanten Infos dort hin übertragen und die nicht benötigten ausklammern, damit diese Datei nicht so groß wird und schneller abgearbeitet und angezeigt werden kann.
Noch etwas: Ich habe in Deinem Profil gesehen, dass Du anscheinend IT-Sensoren einsetzt. Kannst Du diese auch mit dem CUL auslesen?

Schönen Abend noch und viele  Grüße

Harald
Router:AVM7590 1&1 FW:FRITZ!OS 07.56 Anbindung:1&1 50/10 Mb/s, WLAN-Repeater 300E
ELV MAX!Cube, 7xThermostat, ECO, RasPi 4B mit bullseye auf Festplatte,
CUL V 1.67, JeeLink v3_10.1c, nanoCUL, 1xS300TH, 4xHMS100T, 4xELRO, 1xTFA, 2xMAX_FK
ELV MAX!1.4.5, FHEM 5.7 auf RasPi, Kostal PIKO plus

Icebear

Hallo,

Hier ein Beispiel, was mir von allen meinen FHTs diverse Werte in ein Log Speichert.

Auf die Art kann ich in einem Fileplot alle FHT Temperaturen sehen.

define FileLog_FHTs FileLog ./log/FHT_log_%Y-%m.log (FHT_Wohnzimmer|FHT_Kinderzimmer|FHT_Buero|FHT_Schlafzimmer|FHT_Flur|FHT_Badezimmer|FHT_Kueche).(measured-temp|actuator|desired-temp|day-temp|night-temp|windowopen-temp).*

Hier die zugehörige GPlot Datei (Measured Temp aus Allen FHTs)
# Attribute 'small' is useful for gnuplot/-scroll only,
# if plotsize is less than 800,400
#set terminal png transparent small size <SIZE> crop

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 nomirror
set y2tics
set ytics
set title 'Uebersicht der FHTs'
set grid xtics ytics

set ylabel "Temperatur in C"
set yrange [14:23]
set y2range [14:23]

#FileLog 4:FHT_Wohnzimmer.measured-temp:4.5:
#FileLog 4:FHT_Schlafzimmer.measured-temp:4.5:
#FileLog 4:FHT_Kinderzimmer.measured-temp:4.5:
#FileLog 4:FHT_Buero.measured-temp:4.5:
#FileLog 4:FHT_Flur.measured-temp:4.5:
#FileLog 4:FHT_Badezimmer.measured-temp:4.5:
#FileLog 4:FHT_Kueche.measured-temp:4.5:

plot \
  "< egrep 'FHT_Wohnzimmer measured-temp:' <IN>"\
         using 1:4 axes x1y1 title 'Wohnzimmer' with lines,\
  "< egrep 'FHT_Schlafzimmer measured-temp:' <IN>"\
        using 1:4 axes x1y1 title 'Schlafzimmer' with lines,\
  "< egrep 'FHT_Kinderzimmer measured-temp:' <IN>"\
        using 1:4 axes x1y1 title 'Kinderzimmer' with lines,\
  "< egrep 'FHT_Buero measured-temp:' <IN>"\
        using 1:4 axes x1y1 title 'Buero' with lines,\
  "< egrep 'FHT_Flur measured-temp:' <IN>"\
        using 1:4 axes x1y1 title 'Flur' with lines,\
  "< egrep 'FHT_Badezimmer measured-temp:' <IN>"\
        using 1:4 axes x1y1 title 'Badezimmer' with lines,\
  "< egrep 'FHT_Kueche measured-temp:' <IN>"\
        using 1:4 axes x1y1 title 'Kueche' with lines


Hoffe ich helfe dir damit.

Gruss aus Wesel
Icebear.
Raspberry PI mod B (Wheezy), Fhem 5.4, CUL868, CUL433 , RfxTrx, HM-USB-CFG2, Wlan, HomeEasy, IT, FS20, TFA, HomeMatic, Oregon Scientific, HMLand auf Fritzbox
Raspberry PI mod B (RaspBMC)

Harald

Hallo Icebear,

vielen Dank für Deine Ausführungen. Jetzt habe ich endlich verstanden (hoffe ich), wie ich das angehen muss.

Eine Frage habe ich noch dazu:
Mit der Angabe "(measured-temp|actuator|desired-temp|day-temp|night-temp|windowopen-temp).*" bestimmst Du, welche Werte der verschiedenen Geräte in die Log-Datei geschrieben werden sollen, oder?

Wenn ich nur die gemessene Temperatur ablegen will, trage ich dort nur "(measured-temp).*" ein (natürlich ohne ""), oder?

Ich möchte nämlich erreichen, dass nur die relevanten Daten der einzelnen Geräte in die Datei kommen, damit das Auslesen nicht so lange dauert.

Schönen Abend noch

Harald
Router:AVM7590 1&1 FW:FRITZ!OS 07.56 Anbindung:1&1 50/10 Mb/s, WLAN-Repeater 300E
ELV MAX!Cube, 7xThermostat, ECO, RasPi 4B mit bullseye auf Festplatte,
CUL V 1.67, JeeLink v3_10.1c, nanoCUL, 1xS300TH, 4xHMS100T, 4xELRO, 1xTFA, 2xMAX_FK
ELV MAX!1.4.5, FHEM 5.7 auf RasPi, Kostal PIKO plus

Icebear

das waere dann (wenns nur die measured sein soll)

(geraet1|geraet2|geraet3).measured-temp.*

die klammern brauchst nur bei mehreren Geraeten (Also einer Aufzaehlung)

umgekehrt ein geraet und mehrere Werte halt dann mit geraet.(measured-temp|desired-temp).*

mehrere geraete mit verschiedenen sensoren sollte so gehen (ungetestet)

(geraet1.humidity|geraet2.measured-temp|geraet3.desired-temp).*

hoffe geholfen zu haben

Gruss aus Wesel
Icebear.
Raspberry PI mod B (Wheezy), Fhem 5.4, CUL868, CUL433 , RfxTrx, HM-USB-CFG2, Wlan, HomeEasy, IT, FS20, TFA, HomeMatic, Oregon Scientific, HMLand auf Fritzbox
Raspberry PI mod B (RaspBMC)

Harald

Hallo Icebear,

nochmals herzlichen Dank für Deine Hilfe. Dank Deines Beilsiel habe ich es geschafft, dass ich nun den Vor- und Rücklauf, die Außentemperatur, den Gasverbrauch sowie die Impulse des Gaszählers in einem Diagramm darstellen kann.
Jetzt bin ich noch auf der Suche nach einer Möglichkeit, die Legende des Diagramms nicht am rechten sondern am oberen Rand anzuzeigen. Mich stört, dass diese Legende Abends mit den Kurven kolliiert.

Weißt Du vielleicht, wo ich da was drüber erfahren kann?

Nochmals besten Dank, so macht das erst Spass, wenn man Fortschritte sieht.

Schönen Abend noch

Harald
Router:AVM7590 1&1 FW:FRITZ!OS 07.56 Anbindung:1&1 50/10 Mb/s, WLAN-Repeater 300E
ELV MAX!Cube, 7xThermostat, ECO, RasPi 4B mit bullseye auf Festplatte,
CUL V 1.67, JeeLink v3_10.1c, nanoCUL, 1xS300TH, 4xHMS100T, 4xELRO, 1xTFA, 2xMAX_FK
ELV MAX!1.4.5, FHEM 5.7 auf RasPi, Kostal PIKO plus

rudolfkoenig

Die Legende kann mit der aktuellen FHEMWEB (seit heute) auch notitle haben, um es zu entfernen, siehe auch commandref.html Eintrag bei weblink. Die Titelzeile kann man direkt, uder indirekt per title bzw. label attribut setzen.

Harald

Besten Dank für den Hinweis. Unser Freund Google hat mir schon weiter geholfen. Hier http://www.exp.univie.ac.at/sc/gnuplot/gnuplot.html ist eine Beschreibung - sogar in deutsch! - Damit werde ich wohl weiter kommen.

Schönen Abend noch

Harald
Router:AVM7590 1&1 FW:FRITZ!OS 07.56 Anbindung:1&1 50/10 Mb/s, WLAN-Repeater 300E
ELV MAX!Cube, 7xThermostat, ECO, RasPi 4B mit bullseye auf Festplatte,
CUL V 1.67, JeeLink v3_10.1c, nanoCUL, 1xS300TH, 4xHMS100T, 4xELRO, 1xTFA, 2xMAX_FK
ELV MAX!1.4.5, FHEM 5.7 auf RasPi, Kostal PIKO plus

Harald

Hallo zusammen,

so sieht mein Diagramm jetzt aus.


(siehe Anhang / see attachement)


Und das ist mein myHeizung.gplot

#######################################################################
# plottet ein Diagramm mit Vorlauf, Rücklauf, Außentemperatur (Wetter),
# Gaszählerkontakt, Gasverbrauch in 0.1m3 sowie einem eternen Sensor
#
# Attribute 'small' is useful for gnuplot/-scroll only,
# if plotsize is less than 800,400
# set terminal png transparent small size <SIZE> crop

set terminal png transparent size 500,160 crop

set output '<OUT>.png'
set xdata time
set timefmt "%Y-%m-%d_%H:%M:%S"
set xlabel " "
## set ytics nomirror
set y2tics
set ytics ("off" 0, "on" -20)
set title '<L1>'
set grid xtics y2tics

set y2label "Temperatur °C"
set ylabel Verbrauch *0.1m3
set yrange [-5:70]
set y2range [-5:70]


set key top left

#FileLog 4:Vorlauf.T:0:
#FileLog 4:Ruecklauf.T:0:
#FileLog 4:Wetter.T:0:
#FileLog 4:extern.T:0:
#FileLog 4:GasZaehler.cntPerDay\x3a:0:
#FileLog 4:GasZaehler.onoff\x3a:0:$fld[3]=~"1"?-2:-19

plot \
"< egrep 'Vorlauf T:' <IN>"\
using 1:4 axes x1y2 title 'Vorlauf' ls l0 lw 1 with lines,\
"< egrep 'Ruecklauf T:' <IN>"\
using 1:4 axes x1y2 title 'Ruecklauf' ls l2 lw 1 with lines,\
"< egrep 'Wetter T:' <IN>"\
using 1:4 axes x1y2 title 'aussen' ls l3 lw 1 with lines,\
"< egrep 'extern T:' <IN>"\
using 1:4 axes x1y2 title 'extern' with ls l4 lw 1 lines,\
"< egrep 'GasZaehler cntPerDay:' <IN>"\
using 1:4 axes x1y1 title 'Verbrauch' ls l1 lw 2 with steps,\
"< egrep 'GasZaehler onoff:' <IN>"\
using 1:4 axes x1y1 title 'Gaszaehler' ls l6 lw 1 with steps


Leider ist es mir nicht gelungen, die Legende der Linien an den obere Rand des Diagramms in einer Zeile darzustellen. Ich habe schon mehrere set key-Befehle ausprobiert (natürlich auch unset key), ohne dass sich etwas geändert hätte.
Kann es sein, dass set key usw. genuplot-Befehle sind, mein Diagramm ein SVG-Diagramm ist und z.B. set key u.ä. nicht verstanden werden?

Weiß jemand, was ich noch falsch mache? Bin für jeden Hinweis dankbar.

Viele Grüße

Harald
Router:AVM7590 1&1 FW:FRITZ!OS 07.56 Anbindung:1&1 50/10 Mb/s, WLAN-Repeater 300E
ELV MAX!Cube, 7xThermostat, ECO, RasPi 4B mit bullseye auf Festplatte,
CUL V 1.67, JeeLink v3_10.1c, nanoCUL, 1xS300TH, 4xHMS100T, 4xELRO, 1xTFA, 2xMAX_FK
ELV MAX!1.4.5, FHEM 5.7 auf RasPi, Kostal PIKO plus