Habe Filelog im Einsatz. Aktuell kenne ich folgende Situation das bei Events oder minütlich geloggt wird.
Finde bisher keine Lösung dafür einen Wert nur einmal am Tag oder stündlich zu loggen. Ist bestimmt schon mal behandelt aber finde nichts.
Habe mit "filelog-event-min-interval" versucht und weitere Ansätze. Führt nicht zum gewünschten Ergebnis.
Nochmal die Problembeschreibung. Habe einen Stromzähler im Einsatz. Möchte 2 Logfile's haben.
1. Loggt täglich 23:59 Uhr den Zählerwert
2. Loggt stündlich den Zählerwert
Das device heißt Stromzaehler, das Reading heißt Total_Energy. Die Logfile würde ich StromKonsumTag und StromKonsumStd nennen.
Vielleicht hat jemand konkreten Code für mich
Hier wäre ein Ansatz https://forum.fhem.de/index.php/topic,131424.0.html
Damit kann man bestimmt arbeiten. Ist aber auch nicht genau das was ich brauche.
Hatte gehofft das es einfacher geht. Filelog wird ja so definiert.
define StromKonsumDok FileLog StromKonsum.log Stromzaehler:Total_Energy
Hier kann man durch Zusätze Bspw den Pfad zusätzlich einfügen
Hatte gehofft man kann durch eine Erweiterung des define Codes dafür sorgen kann oder dies in den Attributes festlegen kann.
Schaue mir deinen Hinweis aber nochmals an
aber Du musst die Werte (die Events), die Du loggen willst ja erst erzeugen, dass kann FileLog nicht. Das musst Du erstmal definieren. Genau dieses Vorgehen ist mMn im Link diskutiert und beschrieben.
Je nachdem wie kompliziert das wird und was genau erreicht werden soll, könnte man auch das statistics-Modul nehmen.
Das erzeugt ja Stunden oder Tageswerte die man ins Filelog schreiben kann.
Sind dann allerdings nicht die absoluten Zählerstände sondern nur der "Verbrauch" im Intervall.
Das device ist ein Shelly Pro 3EM. Ein Strommessgerät für den Zählerkasten.
Nach Anlegen des Geräts in FHEM werden autom. mehr als 40 Readings angelegt. Darunter auch das Reading Total_Energy.
Dies wird minütlich aktualisiert. Definiere ich jetzt ein Logfile auf dieses Reading habe ich jede Minute einen Eintrag.
Nach meinem Verständnis ist das Event vorhanden und muss nicht erst erzeugt werden. Will es nur nicht jede Minute haben.
Je nach Wahl entweder stündlich oder gar nur einmal am Tag. Hoffe habe dich nicht falsch verstanden
Statistic Modul schaue ich mir an
Nutzt du MQTT oder das Shelly-Modul.
Im Modul kannst du das Attribut interval z. B. auf eine Stunde setzen.
Ich habe einen 3EM und schreibe einmal die Stunde voltage und current ins Filelog.
Das ließ sich mit event-min-interval (Im Device) realisieren.
Habe das Shelly Modul im Einsatz. Habe Interval auf 3600 gesetzt. Bin noch am Testen, aber scheint zu funktionieren.
Hat zumindest seither nicht mehr ins Logfile geschrieben.
Vermutlich hat man damit zwar den Intervall aber nicht zwingend zur vollen Stunde, oder?
Nein die volle Stunde nicht.
Das hättest du mit dem statistics Modul - volle Stunde - voller Tag.
Wenn das Modul einmal die Stunde abfragt gibt es nur zum Abfragezeitpunkt Events und nur dann wird ins Log geschrieben.
Je nachdem wo du insgesamt hin möchtest stellt sich die Frage ob das stündliche Intervall zielführend ist.
Zitat von: bajogger am 27 August 2023, 21:16:05Vermutlich hat man damit zwar den Intervall aber nicht zwingend zur vollen Stunde, oder?
:)
Zitat1. Loggt täglich 23:59 Uhr den Zählerwert
Zitat von: bajogger am 27 August 2023, 20:36:06Nach meinem Verständnis ist das Event vorhanden
ach ja?
Bisher sieht das gut aus. Loggt immer 19:59, 20:59 usw damit hat man auch den Tageswert bei 23:59. Das ist okay
Damit habe ich eine übersichtliches Textfile das ich auch gut in Excel importieren kann um Tages oder Stundenverbäuche zu sehen.
Also erledigt. Danke für die Hilfe. Statistic Modul schaue ich mir aber noch an.
Übrigens habe ich nach der vollen Stunde nicht gefragt weil mich :59 stört, sondern eher würde FHEM bei Intervall stündlich auch immer
in der 36. Min loggen wenn ich es da gestartet hätte