FHEM Forum

FHEM => Anfängerfragen => Thema gestartet von: Panger1337 am 18 Dezember 2017, 09:56:38

Titel: [Gelöst] Nutzung des Moduls average - Reading zu fixer zeit in Log schreiben
Beitrag von: Panger1337 am 18 Dezember 2017, 09:56:38
Hallo zusammen,

und direkt die nächste Frage:
Ich habe 2 Temperatursensoren und möchte zu diesen einen Tagesmittelwert (und gerne auch Min und Max Wert) in ein Filelog schreiben.

Die Temperatursensoren sind TX29DTH und über einen Jeelink v3c angeschlossen.
Das loggen habe ich schon angepasst, mit:
event-on-change-reading für Temperatur und Humidity (nicht für battery und state)
und event-min-interval für battery 5 Stunden, temp, humitidy und state für 10 Minuten

Ich habe dann für beide Temperatursensoren ein average konfiguriert und ich sehe in den beiden Temperatursensoren selbst unter Readings auch die entsprechenden Average Infos (also z.B. temp_avg_day).
Um das auch loggen zu können habe ich das so angepasst, dass ich event-min-interval angepasst und für die gewünschten Daten (temperatur avg, min, max/humidity avg, min, max) den Wert auf 86400 Sekunden gesetzt habe (also einen Tag)
bei einem Temperatursensor habe ich heute morgen dann auch im Filelog die entsprechenden Werte gefunden (einmal 00:05 (temp-daten) und einmal 00:07 (humidity-Daten))

Soweit so gut. Mir gefällt diese Lösung aber in einem Punkt nicht:
Ich hätte den Tagesmittelwert im Log gerne auf dem gleichen Tag, also sagen wir mal um 23:55 geschrieben, sonst ist der Bezug im Plot ja falsch (der avg. Wert wird ja dann auf den Tag des Logeintrags gesehen, ist aber ja der Vortageswert)

Ich hätte das gerne wie folgt gelöst:
- separater Filelog für die average-readings aus dem Temperatursensor
- sollen geschrieben werden jeden Tag 23:55 und am Ende jeden Monats um 23:55

Habe schon das Forum durchsucht und die Commandref, finde aber nicht wirklich einen Ansatz wie ich das umsetzen kann :-(
Logfile generell definieren bekomme ich hin, das ist nicht das problem.
Aber das loggen auszulösen bekomme ich irgendwie nicht hin...

Kann mir jemand einen Gedankenanstoss geben?

Grüße
Panger
Titel: Antw:[Gelöst] Nutzung des Moduls average - Reading zu fixer zeit in Log schreiben
Beitrag von: Panger1337 am 19 Dezember 2017, 17:39:10
Hallo zusammen,

habe gestern ein paar Stunden gesucht und ausprobiert und konnte das Thema für mich lösen.

Daher, falls noch mal jemand das gleiche sucht, hier die Lösung, so wie ich das umgesetzt habe:

1. Einen Dummy anlegen

define Temp_Durchschnitt dummy
attr Temp_Durchschnitt room 0.1_Test

2. Filelog zum Dummy anlegen:

define FileLog_Temp_Durchschnitt FileLog ./log/Temp_Durchschnitt-%Y.log Temp_Durchschnitt
attr FileLog_Temp_Durchschnitt room 0.1_Test

3. ein at konfigurieren welches den Wert aus einem vorhandenen "device" nimmt und in den Dummy schreibt

define Temp_Durschnitt_andummy at *23:58:00 { my $d= ReadingsVal("Temp_Esszimmer","temperature_avg_day",0);; fhem("set Temp_Durchschnitt $d");;}
attr Temp_Durschnitt_andummy room 0.1_Test

So klappt es bei mir wunderbar, genau 23:58 wird ein Eintrag ins Filelog geschrieben.

Grüße
Panger