Hallo liebe Leute,
ich trau mich ja gar nicht zu fragen, aber ich komme nicht weiter. Irgendwo habe ich einen Denkfehler drin, obwohl ich es genau so gemacht habe wie hier auf dem lokalen System, wo es ja funktioniert...
Das "entfernte" System hat 4 Wandthermostate HM-TC-IT-WM-W-EU, die direkt auf einen 4fach Hutschienenaktor arbeiten; so weit so gut.
In FHEM erzeuge ich für jeden Sensor je zwei Logfiles, hier exemplarisch für das Wohnzimmer, mit:
define FileLog_TH_WZ_Weather FileLog ./log/%Y-%m_TH_WZ_W.log TH_WZ_Weather:T.*
define FileLog_TH_WZ_Climate FileLog ./log/%Y-%m_TH_WZ_C.log TH_WZ_Climate:T.*
In die Logfiles wird auch brav geschrieben, z.B in das 2015-12_TH_WZ_W.log
2015-12-21_22:15:49 TH_WZ_Weather T: 15.1 H: 56
2015-12-21_22:20:31 TH_WZ_Weather T: 15.1 H: 56
2015-12-21_22:23:35 TH_WZ_Weather T: 15.0 H: 56
...und das 2015-12_TH_WZ_C.log
2015-12-21_22:20:11 TH_WZ_Climate T: 15.1 desired: 15.0
2015-12-21_22:23:15 TH_WZ_Climate T: 15.0 desired: 15.0
2015-12-21_22:23:25 TH_WZ_Climate T: 15.0 desired: 15.0
Nun wollte ich je einen Graphen haben, der mir IST- und SOLL- Temperatur so wie Luftfeuchte in je einem Plot anzeigt. Dazu habe ich zum einen so getan:
define SVG_FileLog_TH_WZ SVG FileLog_TH_WZ_W:SVG_FileLog_TH_WZ:CURRENT
attr SVG_FileLog_TH_WZ group Temperaturen
attr SVG_FileLog_TH_WZ room Temperaturen
attr SVG_FileLog_TH_WZ sortby 1
... und so:
### Datei: SVG_FileLog_TH_WZ.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 Wohnzimmer
set ytics
set y2tics
set grid ytics y2tics
set ylabel "Temperatur"
set y2label "Luftfeuchte"
set yrange [-10:40]
set y2range [0:100]
#FileLog_TH_WZ_W 4:TH_WZ_W.*::
#FileLog_TH_WZ_C 6:TH_WZ_C.*::
#FileLog_TH_WZ_W 6:TH_WZ_W.*::
plot "<IN>" using 1:2 axes x1y1 title '°C~i' ls l0 lw 1.0 with lines,\
"<IN>" using 1:2 axes x1y2 title '°C~s' ls l2 lw 1.0 with lines,\
"<IN>" using 1:2 axes x1y2 title '%rel' ls l6 lw 1.0 with lines
Genau so bin ich hier auf dem lokalen RPi vorgegangen und das klappt schmerzfrei. Nur auf dem entfernten RPi erhalte ich in den Plot-Anzeigen immer ...
No Logdevice FileLog_TH_SZ_W
Also irgendwo mache ich da vermutlich einen ganz blöden Denkfehler, aber die letzten zwei Stunden bin ich einfach nicht dahinter gestiegen, wo der ist...
LogDeviceName im SVG?
... hmmm? Was meinst Du? Kann Dir gerade nicht folgen ... (vielleicht sollte ich mal wieder ausschlafen ^^)
FileLog_TH_WZ_Weather vs. FileLog_TH_WZ_W
... au Mann, wie blöd kann man sein ::) ::) ::)
Danke für's Augen öffnen ^^
... jetzt habe ich doch noch ein Problem ...
Ursprünglich hatte ich für jeden Kanal ein Logfile geschrieben. Um aber das Logfile- Verzeichnis nicht mit unnötigen Dingen vollzustopfen, schreibe ich jetzt alle Kanäle in ein Logfile, was dann so aussieht:
2015-12-23_11:16:53 AC_ZS_WZ off
2015-12-23_11:16:55 AC_ZS_KZ off
2015-12-23_11:16:56 AC_ZS_BZ off
2015-12-23_11:16:57 AC_ZS_SZ off
2015-12-23_11:17:00 AC_ZS_WZ on
2015-12-23_11:17:01 AC_ZS_SZ on
2015-12-23_11:17:03 AC_ZS_KZ on
2015-12-23_11:17:05 AC_ZS_BZ on
2015-12-23_11:41:27 AC_ZS_WZ off
2015-12-23_11:41:28 AC_ZS_SZ off
2015-12-23_11:41:29 AC_ZS_KZ off
2015-12-23_11:41:30 AC_ZS_BZ off
Steht also genau das Gleiche drin wie in den einzelnen Logfiles, nur halt von jedem Kanal.
Im gPlot- File habe ich dann nur die Angabe des Logfiles geändert, was jetzt so ausschaut:
#FileLog_AC_ZS 3:AC_ZS_WZ.*::$fld[2]=~"on"?99:1
Da ist also aus "FileLog_AC_ZS_xZ" also "FileLog_AC_ZS" geworden; so heißt die ja auch. Die Spalte stimmt, der RegEx stimmt und auch die Funktion ist nicht verändert worden (hat ja vorher auch beides funktioniert).
Nur warum bekomme ich jetzt in keinem der 4 Graphen was entsprechendes angezeigt? Kapier ich nicht ???
Sollte so aussehen:
#FileLog 3:AC_ZS_WZ::$fld[2]=~"on"?99:1
Das Datenfile FileLog_AC_ZS wird im define angegeben.