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
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.
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... :-(
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::
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
Das Attribut PlotFunction ist dein Freund -> RTFM
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)
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
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
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
nö, und da wird es vermutlich auch nix anderes geben, warum auch?
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 ;DGrüße
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.
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