[Gelöst] - SVG Plot mit Daten aus DbLog bleibt leer

Begonnen von maxritti, 20 Mai 2014, 15:45:45

Vorheriges Thema - Nächstes Thema

maxritti

Hallo zusammen,

gerade ist bei mir ein Problemchen mit Plots aufgetreten.
Da ich nicht weiss, wo das Problem liegt (DbLog, ConfigDB oder bei mir) fällt mir auch die Zuordnung zu der Maintainer.txt schwer. Daher habe ich das mal hier in den Anfängerbereich gestellt.

Bislang habe ich meine Fenster/Türkontakte schön dargestellt in einem Plot (welches in der configDB liegt) dargestellt.
Jetzt wollte ich eben in meinem Plot noch einen weiteren Kontakt hinzufügen und siehe da.
Nach "Write .gplot file" wird gar nichts mehr im Plot dargestellt.

Also habe ich mal ausgehend von meinem DbLog ein neues "SVG plot" erstellt und dort einen bestehnden Fensterkontakt eingetragen.
Dort dann einen Kontakt wie folgt hinzugefügt.

Die Werte von dem Reading state setze ich mit "closed" 0 und "open" 1 um.
Aber irgendwie bleibt das Chart leer.

Werte gibt es aber. Denn wenn ich das SQL Statement welches ich im FHEM Log finde direkt auf dem MySQL Server ausführe, kommen Daten an.

In der Config DB das Plot File sieht meiner Meinung nach auch gut aus.

# Created by FHEM/98_SVG.pm, 2014-05-20 15:38:03
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 'Tuer/Fensterkontakte'
set ytics ("closed" 0, "open" 1)
set y2tics
set grid
set ylabel "Status"
set y2label ""
set yrange [0:1]

#DbLog EG_fl_TK_Haustuer:state

plot "<IN>" using 1:2 axes x1y1 title 'Haustuer' ls l0fill lw 1 with steps


Hat dazu jemand eine Idee, wo es hier hängen kann?

franky08

#1
Hallo, ich hab mich damals auch dusselig gesucht eh ich das im Griff hatte. Mit DbLog kannst du nicht nur auf state matchen, das klappt nicht.
Hab mit andre und Puschels hilfe die gplot folgendermaßen:
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 '<TL> <L1>'
set ytics ("closed" 0, "open" 1)
set y2tics ("closed" 0, "open" 1)
set grid
set ylabel "Status"
set y2label "Status"
set yrange [-0.1:1.1]
set y2range [-0.1:1.1]

#DbLog <SPEC1>:state:::$val=~s/(open|closed|dim)(\d*).*/$1eq"open"?1:($1eq"dim"?$2*0.01:0)/eg

plot "< awk '{print $1, $3~/dim.*/? 1 : 0; }' <IN>"\
        using 1:2 notitle with steps


Das geht!

siehe hier: http://forum.fhem.de/index.php/topic,18888.msg126595.html#msg126595

VG
Frank
Debian Bookworm auf HUNSN / Debian Bullseye auf 2.ter HUNSN F2F an 2x RaspiB
mit FHEM aktuell
22Zoll ViewSonic als Infodislay (WVC)
3xHMLAN mit vccu, raspmatic_rpi3, HMIP-HCU1

maxritti

Danke Dir schon mal für die Info.

Allerdings liegt meine Plot Datei in der configDB, weil ich da eigentlich alles liegen haben möchte und nicht mehr wirklich viel Konfiguration innerhalb des Filesystems.
Nur da ist es dann vorbei mit manuellen Anpassungen an der Plotdatei. Mit Recht.

Mal schauen, vielleicht liest betateilchen ja mit und hat einen Tip für mich.
Nicht, dass hier ein kleines ToDo für ihn ist.  8)

stromer-12

Wer sagt das? Gehe auf Edit Files und suche deine gplot-Datei.(im Link ist ein dbconfig angefügt)
FHEM (SVN) auf RPi1B mit HMser | ESPLink
FHEM (SVN) virtuell mit HMLAN | HMUSB | CUL

maxritti

#4
Och in der Tat.
Man lernt nie aus  ;)

betateilchen

Die gplot-Dateien müssen immer editierbar bleiben, weil es einfach zu viele Dinge gibt, die der gplot-Editor einfach nicht "kann", beispielsweise mehr als zwei y-Achsen.

Und die configDB kann meistens ein bisschen mehr, als die Anwender vermuten  8)
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!