Hi!
Ich stehe vor einem Problem, welches ich bisher trotz Manual und Doku nicht lösen konnte. Wahrscheinlich sind die Infos schon irgendwo, ich kombiniere die verschiedenen Teile aber nicht richtig.
Problem: Ich möchte einen Plot erstellen mit mehreren Temperaturkurven. Die Werte stammen aus Dummys, welche (bisher) in verschiedenen Files geloggt werden. Nun scheint es nicht möglich zu sein, Daten aus verschiedenen Logfiles im selben Plot darzustellen. Also müssten diese Dummys alle ins selbe Logfile rein. Bloss, wie kriege ich das hin?
In fhem.cfg (vereinfacht, um das Prinzip zu zeigen) habe ich folgendes drin:
(...)
define T1 dummy
define T2 dummy
## hier hätte ich gerne T1 *und* T2 drin:
define FileLog_T1 FileLog ./log/AlleT-%Y-%m-%d.log T1
attr FileLog_T1 logtype text
attr T1 event-on-change-reading state
(... dasselbe bisher noch für T2 etc ... )
# ---------- Plots -------------------------------
attr WEB plotsize 800,500
attr WEB endPlotNow 1
attr FileLog_T1 logtype myAllTemps:Plot,text
define weblink_AllTempPlot weblink fileplot FileLog_T1:myAllTemps:FileLog_T1
attr weblink_AllTempPlot label "Temperaturen"
attr weblink_AllTempPlot room Haus
attr weblink_AlLTempPlot icon icoTermHaus
Wie kriege ich das hin?
Danke für Eure Hilfe!
logProxy sollte das hilfreiche Zauberwort sein.
In der Filelog definition gibt es oben den Punkt "Regexp parts" da kannst Du dir alle verfügbaren Quellen zusammenklicken.
Was dabei entsteht ist so etwas in der Art:
./log/AlleT-%Y-%m-%d.log T1|T2
Gruß Otto
Danke für Eure hilfreichen Inputs. Den logProxy werde ich noch anschauen, besonders auch wegen der Datenextrapolation an die Plotränder.
Ich habe das Problem nun so gelöst, dass ich verschiedene Readings in denselben Dummy schreibe (mit "setreading AlleT T1 $d" etc), und diese dann so logge:
attr AlleT event-on-change-reading .*
define FileLog_AlleT FileLog ./log/AlleT-%Y-%m-%d.log AlleT
attr FileLog_AlleT logtype text
Sorry für nochmal rauskram 8)
Otto hat durchaus recht (und du hast es ja so umgesetzt) aber wozu ein weiteres Logfile mit Einträgen füllen - diese Einträge sind ja dann doppelt vorhanden (Originallogfile und im zusätzlichen Logfile) - wenn genau für diesen Anwendungsfall logProxy erstellt wurde ???
Wenn Du den jeweiligen "Dummy-Wert" nur für den Plot brauchst, kannst Du auch ganz auf ein separates LOG verzichten und das gleich in 1 LogFile für den Plot schreiben. 8)
Es ist aber -entgegen Deiner Annahme- auch möglich, Werte aus unterschiedlichen Logfiles in einem Plot zu verwenden. ;)
Ergänzung: Man darf FileLog definitionen inklusive der Ergebnisse (Logfiles) auch wieder löschen :) vor allem auch automatisch durch autocreate erzeugte wo vom Sensor alles doppelt und dreifach geloggt wird und man eigentlich nur eine Zeile braucht. Oder den ganzen Tag der gleiche Wert ohne Änderung geloggt wird.
Im Zuge der Wartung des Systems kann man also auch ruhig mal über Log Tuning nachdenken :)
@Puschel: Den logProxy, den schau ich mir auch mal an. An der Ecke war ich noch nicht 8)
Gruß Otto
Zitat von: Otto123 am 11 August 2015, 20:03:49
@Puschel: Den logProxy, den schau ich mir auch mal an. An der Ecke war ich noch nicht 8)
Gruß Otto
Ich auch nicht weil ich das dank DBLog nicht brauche ;)
Aber ich lese gerne auch mal kreuz und quer (wie du auch das weiß ich).
Aber darüber bist du offenbar noch nicht gestolpert :P
Wobei logProxy meine ich noch vor deiner Zeit mit FHEM aufkam ;)