FHEM Forum

FHEM => Frontends => SVG / Plots / logProxy => Thema gestartet von: wkarl am 07 November 2013, 19:21:28

Titel: Gelöst - gplot von DbLog bekomme ich nicht hin
Beitrag von: wkarl am 07 November 2013, 19:21:28
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
Titel: Antw:gplot von DbLog bekomme ich nicht hin
Beitrag von: justme1968 am 07 November 2013, 19:54:05
ist das ein dummy device?

dann versuch mal data an stelle von state in der DbLog zeile.

gruss
  andre
Titel: Antw:gplot von DbLog bekomme ich nicht hin
Beitrag von: wkarl am 07 November 2013, 20:23:35
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
Titel: Antw:gplot von DbLog bekomme ich nicht hin
Beitrag von: justme1968 am 07 November 2013, 20:29:57
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
Titel: Antw:gplot von DbLog bekomme ich nicht hin
Beitrag von: ChrisD am 07 November 2013, 21:16:52
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

Titel: Antw:gplot von DbLog bekomme ich nicht hin
Beitrag von: wkarl am 08 November 2013, 05:17:35
Danke Chris für den Hinweis,

aber es ist vorhanden. Ging beim cut'n paste irgendwie verloren.

ciao walter
Titel: Antw:gplot von DbLog bekomme ich nicht hin
Beitrag von: wkarl am 08 November 2013, 05:27:54
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
Titel: Antw:gplot von DbLog bekomme ich nicht hin
Beitrag von: wkarl am 08 November 2013, 07:22:22
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
Titel: Antw:gplot von DbLog bekomme ich nicht hin
Beitrag von: Frank Hell am 08 November 2013, 07:55:53
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
Titel: Antw:gplot von DbLog bekomme ich nicht hin
Beitrag von: wkarl am 08 November 2013, 08:47:15
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
Titel: Antw:Gelöst - gplot von DbLog bekomme ich nicht hin
Beitrag von: Puschel74 am 08 November 2013, 19:25:07
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