Hallo zusammen,
für meinen Gaszähler möchte ich gern den täglichen Verbrauch einmal täglich um 23:59 in eine Logfile schreiben.
Anbieten wird sich ganz klar "countsPerDay" aus dem Hourcounter, oder?
Na ja, momentan wird jede einzelne Veränderung in eine Logfile geschrieben.
Ich brauch den Wert aber nur einmal täglich und möchte den täglichen Verbrauch dann in einem Plot ausgeben.
Folgendes Prinzip:
Am betroffenen device die Attribute event-on-update-reading (http://fhem.de/commandref_DE.html#readingFnAttributes) und event-on-change-reading (http://fhem.de/commandref_DE.html#readingFnAttributes) so setzen, dass eben nicht jede Aktualisierung bzw. Änderung des genannten Readings einen event erzeugt.
Dann ein at (http://fhem.de/commandref_DE.html#atl) definieren, das wiederholt um 23:59:59 ausgeführt wird und dort den Wert des Readings mittels ReadingsVal (http://fhem.de/commandref_DE.html#perl) (oder ReadingsNum) ausliest und mittels Log (http://fhem.de/commandref_DE.html#perl) (oder Log3 (http://www.fhemwiki.de/wiki/DevelopmentModuleIntro#Logging_.2F_Debugging)) in die Logdatei schreibt.
Soll es ein bestimmtes Logfile (FileLog (http://fhem.de/commandref_DE.html#FileLog)) sein dann im at per trigger (http://fhem.de/commandref_DE.html#trigger) einen event erzeugen, der die RegEx des entsprechenden FileLog-devices erfüllt.
Man könnte dazu auch über ein weiteres Reading gehen, das man bei Ausführung des at im device per setreading (http://fhem.de/commandref_DE.html#setreading) erzeugt. Das FileLog sollte dann auf die Aktualisierung dieses "neuen" Readings hören.