FHEM Forum

FHEM - Hausautomations-Systeme => Unterstützende Dienste => Thema gestartet von: mbeckerkassel am 24 Februar 2014, 12:12:36

Titel: plot / svg aus dblog
Beitrag von: mbeckerkassel am 24 Februar 2014, 12:12:36
Hallo,

ich werde noch wahnsinnig.

Ich stelle gerade mein FHEM auf dblog um, da ich unmengen an Geräten habe. Jetzt möchte ich meine Graphen wieder haben und komme einfach nicht weiter.

mit schreibe ich alles in die Datenbank

config:
define logdb DbLog db.conf .*:.*

in der db steht dann:

+---------------------+-------------------+--------+--------+---------+-------+------+
| TIMESTAMP           | DEVICE            | TYPE   | EVENT  | READING | VALUE | UNIT |
+---------------------+-------------------+--------+--------+---------+-------+------+
| 2014-02-22 19:07:41 | Temperatur_Garten | CUL_TX | T: 3.0 | T       | 3.0   |      |
| 2014-02-22 19:09:43 | Temperatur_Garten | CUL_TX | T: 2.9 | T       | 2.9   |      |
| 2014-02-22 19:10:39 | Temperatur_Garten | CUL_TX | T: 3.0 | T       | 3.0   |      |
| 2014-02-22 19:11:48 | Temperatur_Garten | CUL_TX | T: 2.9 | T       | 2.9   |      |
| 2014-02-22 19:12:41 | Temperatur_Garten | CUL_TX | T: 2.9 | T       | 2.9   |      |
| 2014-02-22 19:15:46 | Temperatur_Garten | CUL_TX | T: 2.9 | T       | 2.9   |      |
| 2014-02-22 19:18:45 | Temperatur_Garten | CUL_TX | T: 2.8 | T       | 2.8   |      |
| 2014-02-22 19:19:47 | Temperatur_Garten | CUL_TX | T: 2.8 | T       | 2.8   |      |
| 2014-02-22 19:20:47 | Temperatur_Garten | CUL_TX | T: 2.8 | T       | 2.8   |      |
| 2014-02-22 19:23:48 | Temperatur_Garten | CUL_TX | T: 2.7 | T       | 2.7   |      |
| 2014-02-22 19:24:50 | Temperatur_Garten | CUL_TX | T: 2.7 | T       | 2.7   |      |
| 2014-02-22 19:25:50 | Temperatur_Garten | CUL_TX | T: 2.6 | T       | 2.6   |      |
| 2014-02-22 19:26:53 | Temperatur_Garten | CUL_TX | T: 2.7 | T       | 2.7   |      |
| 2014-02-22 19:27:51 | Temperatur_Garten | CUL_TX | T: 2.6 | T       | 2.6   |      |
| 2014-02-22 19:28:53 | Temperatur_Garten | CUL_TX | T: 2.7 | T       | 2.7   |      |
| 2014-02-22 19:29:55 | Temperatur_Garten | CUL_TX | T: 2.7 | T       | 2.7   |      |
| 2014-02-22 19:30:58 | Temperatur_Garten | CUL_TX | T: 2.6 | T       | 2.6   |      |
| 2014-02-22 19:31:58 | Temperatur_Garten | CUL_TX | T: 2.7 | T       | 2.7   |      |
| 2014-02-22 19:33:03 | Temperatur_Garten | CUL_TX | T: 2.7 | T       | 2.7   |      |
| 2014-02-22 19:35:02 | Temperatur_Garten | CUL_TX | T: 2.5 | T       | 2.5   |      |
+---------------------+-------------------+--------+--------+---------+-------+------+

mein SVG Plot steht so in der Config.

define AussenTempHum_current_day SVG logdb:temp4:CURRENT
attr AussenTempHum_current_day label "Temp- min: $data{min1}, max: $data{max1}, last: $data{currval1}, Feuchte- min: $data{min2}, max: $data{max2}, last: $data{currval2}"
attr AussenTempHum_current_day plotfunction Temperatur_Garten
attr AussenTempHum_current_day title "Aussen"

mit CURRENT und History hab ich schon gespielt. Ich bekomme immer einen leeren Plot

Was mache ich falsch?

Viele Grüße

Michael
Titel: Antw:plot / svg aus dblog
Beitrag von: betateilchen am 24 Februar 2014, 13:21:53
1. In der Definition sollte :HISTORY stehen statt :CURRENT

2.
ZitatWas mache ich falsch?

grober Fehler: Du verheimlichst uns Deine temp4.gplot die entscheidend für das Plotten ist.
Titel: Antw:plot / svg aus dblog
Beitrag von: mbeckerkassel am 24 Februar 2014, 15:19:32
hier meine temp4.gplot

# Created by FHEM/98_SVG.pm, 2014-02-24 07:02:35
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
set y2tics
set grid y2tics
set ylabel ""
set y2label "Temperature in C"

#DbLog temperature

plot "<IN>" using 1:2 axes x1y2 title 'Measured temperature' ls l0 lw 2 with lines


auch wenn ich #DbLog temperature auskommentiere passiert nichts... :-(
Titel: Antw:plot / svg aus dblog
Beitrag von: betateilchen am 24 Februar 2014, 15:25:46
kann auch nicht... falsche Syntax.

Du gibst weder den Device-Namen noch das Reading an, das verwendet werden soll.
Die beiden Namen brauchst Du doch nur aus Deinem Logging abzuschreiben:

#DbLog  Temperatur_Garten:T::
Titel: Antw:plot / svg aus dblog
Beitrag von: mbeckerkassel am 24 Februar 2014, 15:42:01
super klasse.

funktioniert wie eine eins.


Wie kann ich die Felder

#DbLog Heizung_Flur:temperature::

Hier Heizung_Flur und temperature dynamisch übergeben um zu vermeiden das ich für jedes device einen eigenen plot brauche?

vg

michael
Titel: Antw:plot / svg aus dblog
Beitrag von: Tobias am 24 Februar 2014, 15:45:19
Das Attribut PlotFunction ist dein Freund -> RTFM
Titel: Antw:plot / svg aus dblog
Beitrag von: betateilchen am 24 Februar 2014, 15:46:23
Lesen bildet  8) commandref -> SVG -> plotfunction

plotfunction
Space value separated list of values. The value will be used to replace <SPEC#> type of strings in the .gplot file,
with # beginning at 1 (<SPEC1>, <SPEC2>, etc.) in the #FileLog or #DbLog directive.
With this attribute you can use the same .gplot file for multiple devices with the same logdevice.
Example:


(Tobias war schneller)
Titel: Antw:plot / svg aus dblog
Beitrag von: Puschel74 am 24 Februar 2014, 16:41:21
Hallo,

Das attr plotfunction hat der TE lt. ersten Beitrag auch gesetzt  ;)

@michael

So
#DbLog <SPEC1>:measured-temp::
#DbLog <SPEC1>:actuator::
#DbLog <SPEC1>:desired-temp::

in die gplot eingetragen genügt im Attribut plotfunction der Eintrag wie das Gerät in die DB loggt.

In meinem Beispiel werden die 3 Datensätze für jeden FHT geplottet.

Das wäre bei dir dann im Gplot-File
#DbLog <SPEC1>:temperature::
und im weblink für Heizung_Flur ein
attr <Name_des_weblink> plotfunktion Heizung_Flur

Analog dann für jedes weitere Gerät das als Reading temperature hat ein zugehöriges attr plotfunction im weblink setzen und fertig.

Grüße
Titel: Antw:plot / svg aus dblog
Beitrag von: betateilchen am 24 Februar 2014, 19:28:01
Zitat von: Puschel74 am 24 Februar 2014, 16:41:21
Das attr plotfunction hat der TE lt. ersten Beitrag auch gesetzt  ;)

da hatte er auch noch eine völlig sinnlose gplot-Datei, die vermutlich aus FileLog-Zeiten stammte
Titel: Antw:plot / svg aus dblog
Beitrag von: Puschel74 am 24 Februar 2014, 20:13:32
Hallo,

gplot hatte er erst im 3. Beitrag gezeigt - die aber zugegeben recht sinnbefreit war  ;D

Meine gplot-Dateien stammen auch noch alle aus der FileLog-Zeit - ich habe auch nur den Aufruf gegen #DBlog getauscht.
Gibt es da schon was passenderes?

Grüße
Titel: Antw:plot / svg aus dblog
Beitrag von: betateilchen am 24 Februar 2014, 20:16:29
nö, und da wird es vermutlich auch nix anderes geben, warum auch?
Titel: Antw:plot / svg aus dblog
Beitrag von: Puschel74 am 24 Februar 2014, 20:53:00
Hallo,

Zitatnö, und da wird es vermutlich auch nix anderes geben, warum auch?
Keine Ahnung - bin ich Developer so wie du  ;)

Hier mal beispielhaft eine gplot von mir die ich nur von #FileLog auf #DbLog geändert habe:
set terminal png transparent truecolor rounded medium size <SIZE> enhanced

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 '<L1>'
set grid xtics y2tics

set y2label "°C"
set ylabel "%"

#DbLog <SPEC1>:measured-temp::
#DbLog <SPEC1>:actuator::
#DbLog <SPEC1>:desired-temp::

plot \
  1:2 ls l0 axes x1y2 title 'Temperature (°C)' with lines
  1:2 ls l2fill axes x1y1 title 'Actuator (%)' with lines
  1:2 ls l1 axes x1y2 title 'Temperature (°C)' with steps


Ich will jetzt niemanden "beschuldigen" aber ich meine das andre (justme) mal gepostet hat das teilweise Anweisungen in der Gplot veraltet sind und nichtmehr ausgewertet werden.
Ich muss den Beitrag mal suchen - ich vermute mal das meine beispielhaft gepostete Gplot-Datei ein schlechtes Beispiel ist für das was ich meine resp. für das was ich denke zu meinen.
Ich bin auch kein Developer, so wie du, und bin froh das ich FHEM und meine Geräte laufen lassen kann  ;D

Grüße
Titel: Antw:plot / svg aus dblog
Beitrag von: betateilchen am 24 Februar 2014, 21:49:00
Zitat von: Puschel74 am 24 Februar 2014, 20:53:00
Ich will jetzt niemanden "beschuldigen" aber ich meine das andre (justme) mal gepostet hat das teilweise Anweisungen in der Gplot veraltet sind und nichtmehr ausgewertet werden.

Da geht es nicht um die gplot Datei, sondern um die SVG Definition in Deinem fhem selbst. Dort sollte nicht mehr :CURRENT stehen, sondern :HISTORY.

Titel: Antw:plot / svg aus dblog
Beitrag von: Puschel74 am 25 Februar 2014, 05:37:23
Hallo,

ZitatDort sollte nicht mehr :CURRENT stehen, sondern :HISTORY.
Das habe ich schon längst erledigt aber danke für den Hinweis  ;D

Grüße