FHEM Forum

FHEM => Anfängerfragen => Thema gestartet von: bajogger am 27 August 2023, 13:13:24

Titel: Filelog soll nur zu einer bestimmten Zeit loggen
Beitrag von: bajogger am 27 August 2023, 13:13:24
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
Titel: Aw: Filelog soll nur zu einer bestimmten Zeit loggen
Beitrag von: Otto123 am 27 August 2023, 14:39:24
Hier wäre ein Ansatz https://forum.fhem.de/index.php/topic,131424.0.html
Titel: Aw: Filelog soll nur zu einer bestimmten Zeit loggen
Beitrag von: bajogger am 27 August 2023, 18:06:46
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_EnergyHier 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
Titel: Aw: Filelog soll nur zu einer bestimmten Zeit loggen
Beitrag von: Otto123 am 27 August 2023, 18:24:59
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.
Titel: Aw: Filelog soll nur zu einer bestimmten Zeit loggen
Beitrag von: RalfRog am 27 August 2023, 20:28:58
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.
Titel: Aw: Filelog soll nur zu einer bestimmten Zeit loggen
Beitrag von: bajogger am 27 August 2023, 20:36:06
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
Titel: Aw: Filelog soll nur zu einer bestimmten Zeit loggen
Beitrag von: RalfRog am 27 August 2023, 20:45:59
Nutzt du MQTT oder das Shelly-Modul.
Im Modul kannst du das Attribut interval z. B. auf eine Stunde setzen.
Titel: Aw: Filelog soll nur zu einer bestimmten Zeit loggen
Beitrag von: RalfRog am 27 August 2023, 20:53:58
Ich habe einen 3EM und schreibe einmal die Stunde voltage und current ins Filelog.
Das ließ sich mit event-min-interval (Im Device) realisieren.
Titel: Aw: Filelog soll nur zu einer bestimmten Zeit loggen
Beitrag von: bajogger am 27 August 2023, 21:16:05
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?
Titel: Aw: Filelog soll nur zu einer bestimmten Zeit loggen
Beitrag von: RalfRog am 27 August 2023, 21:28:38
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.
Titel: Aw: Filelog soll nur zu einer bestimmten Zeit loggen
Beitrag von: Otto123 am 27 August 2023, 21:29:05
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?
Titel: Aw: Filelog soll nur zu einer bestimmten Zeit loggen
Beitrag von: bajogger am 28 August 2023, 13:51:43
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