Hallo,
bisher hab ich jeden gplot so hinbekommen wie ich ihn haben wollte. Es ist sicherlich ne einfache Geschichte, aber seit Tagen komm ich zu keiner Lösung.
So sieht das SVG aus
define Zirkulationspumpe_HK_Tag_aktuell SVG MyDbLog:MyState
attr Zirkulationspumpe_HK_Tag_aktuell group Pumpen
attr Zirkulationspumpe_HK_Tag_aktuell icon time_graph
attr Zirkulationspumpe_HK_Tag_aktuell label "Zirkulationspumpe HK - letzter Wert: $data{currval1}"
attr Zirkulationspumpe_HK_Tag_aktuell plotfunction Zirkulationspumpe_HK
attr Zirkulationspumpe_HK_Tag_aktuell room H.DV.Heizung
attr Zirkulationspumpe_HK_Tag_aktuell title "Title"
So das gplot
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 ["off" 0, "on" 1]
set y2tics ["off" 0, "on" 1]
set grid ytics
set yrange [0:]
set y2range [0:]
set ylabel "Status"
set y2label "Status"
#
#DbLog <SPEC1>:state:::$val=~s/(on|off)/$1eq"on"?1:0/eg
#
"<IN>" using 1:1 axes x1y1 title 'Status' ls l2fill lw 2 with lines
Dazu gibt es noch ein mapping
attr Zirkulationspumpe_HK eventMap open:off closed:on
Als Anhang noch wie die Daten in fhemdb stehen und das Ergebnis.
Nimmt mal einer den Baseballschläger und zeigt mir wo ich falsch liege. Danke schon mal
ciao walter
ist das ein dummy device?
dann versuch mal data an stelle von state in der DbLog zeile.
gruss
andre
Hallo Andre,
ne, ist ein realer HM-SEC-SC - also Fenster/Tuer-Kontakt. Über eine Netzteil/Elektromagnet-Kombination signalisiert er, ob die Zirkulationspumpe der Fussbodenheizung angesteuert ist (bzw Heizkörper, gibt es also zweimal). Und das reading, das ich in fhemdb abfrage ist ja state.
ciao walter
db log mach bei manchen geräten aus state ein data.
am besten ist es nach zu schauen was wirklich in der db steht. das geht z.b. in dem du verbose auf 5 setzt und im log nachschaust da müssten die insert kommandos auftauchen oder mit select * from HISTORY where DEVICE='Zirkulationspumpe_HK';
in der shell der datenbank.
gruss
andre
Hallo,
In der gplot-Datei fehlt in der Zeile
"<IN>" using 1:1 axes x1y1 title 'Status' ls l2fill lw 2 with lines
am Anfang das Wort 'plot'.
Grüße,
ChrisD
Danke Chris für den Hinweis,
aber es ist vorhanden. Ging beim cut'n paste irgendwie verloren.
ciao walter
Hallo Andre,
das query zeigt, dass wirklich state drin steht.
| 2013-11-08 04:48:05 | Zirkulationspumpe_HK | CUL_HM | off | state | off | |
| 2013-11-08 05:15:04 | Zirkulationspumpe_HK | CUL_HM | on | state | on
ciao walter
Hallo,
ich habe jetzt die MyState.gplot gelöscht und Schritt für Schritt neu aufgebaut. Sie sieht nun 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 title '<L1>'
#
set ytics ("Aus" 0, "An" 1)
set y2tics ("Aus" 0, "An" 1)
set grid ytics
set yrange [0:1]
set y2range [0:1]
set ylabel "Status"
set y2label "Status"
#
#DbLog <SPEC1>:state:::$val=~s/(on|off)/$1eq"on"?1:($2eq"off"?0:0)/eg
#
plot "<IN>" using 1:1 axes x1y1 title 'Status' ls l0fill lw 2 with steps
Es ist für mich nicht nachvollziehbar warum die anfängliche gplot-Datei keine vernünftige Grafik zustande brachte.
Jetzt habe ich jedoch noch eine weitere Frage. Es wird der letzte Status nicht kontinuierlich weitergeschrieben. Gibt es einen Trick gplot dazu zu überreden?
Beispiel siehe Anhang: Zirkulationspumpe_FH ist seit kurz vor 05:00 im Status 'An'. Zeitpunkt des Screenshots 07:20.
Danke und ciao
walter
Zitat von: wkarl am 08 November 2013, 07:22:22
Jetzt habe ich jedoch noch eine weitere Frage. Es wird der letzte Status nicht kontinuierlich weitergeschrieben. Gibt es einen Trick gplot dazu zu überreden?
Eine einfache Möglichkeit ist "addLog". Siehe Wiki: http://www.fhemwiki.de/wiki/Plot-Abriss_vermeiden
Daran habe ich gar nicht gedacht. Ich verwende addLog schon um den Abriss über Mitternacht zu korigieren. Sehe ich mir mal genauer an.
Danke und ciao
walter
Hallo,
ZitatIch verwende addLog schon um den Abriss über Mitternacht zu korigieren.
Ich hab einige Geräte die selten geschaltet werden wo ich stündlich addLog (danke @Uli dafür) drauf los lasse.
Einfach um den Plot tagsüber einigermassen durchgehend zu bekommen.
Grüße