Abriss im Plott und das Loggen

Begonnen von Rheingold, 29 Oktober 2017, 09:13:19

Vorheriges Thema - Nächstes Thema

Rheingold

Hallo Gemeinde,

ich bin auf dem Weg das Schreiben meine Logdateien zu optimieren. Zum Auswerten und optimieren meiner Heizzeiten habe ich ein paar Charts erstellt, die durchaus hilfreich sind. Nun ist es aber so, dass manche Charts nach einer gewissen Zeit einen Abriss im Plott haben, weil sich scheinbar nichts verändert hat.

Meine Idee war es folgendes zu loggen:

  • alle 20 Minuten ein vollständigen Logeintrag erstellt wird (mit allen Daten wie z.B. auch dem Status der Batterie)
  • bei Veränderung der Temperatur um 0,2°C
  • bei Veränderung der Luftfeuchtigkeit um 2%
  • bei Veränderung der Ventilstellung der Heizung
  • bei Veränderung der Wunschtemperatur der Heizung

Allerdings fehlt im Chart der Soll-Wert komplett.

Entferne ich die Attribute für das Logging, funktioniert alles und die Logdateien wachsen ordentlich.

Daher die Frage was ich falsch mache?

Beispiel eines Zimmers (Temperatur und Heizung)

# Temperatur-Bad
define Temp_Bad LaCrosse 18
attr Temp_Bad IODev myJeeLink
attr Temp_Bad event-min-interval 1200
attr Temp_Bad event-on-change-reading temperature:0.2,humidity:2
attr Temp_Bad room 1.2 Bad,Temperatur
define FileLog_Temp_Bad FileLog ./log/Temp_Bad-%Y.log Temp_Bad
attr FileLog_Temp_Bad logtype text
attr FileLog_Temp_Bad room 1.2 Bad,Temperatur

# MAX! Thermostat Bad -
define Heizung_Bad MAX HeatingThermostat 082d8a
attr Heizung_Bad IODev MAXCube
attr Heizung_Bad event-min-interval 1
attr Heizung_Bad event-on-change-reading valveposition
attr Heizung_Bad room 1.2 Bad,MAX
define FileLog_Heizung_Bad FileLog ./log/Heizung_Bad-%Y.log Heizung_Bad
attr FileLog_Heizung_Bad logtype text
attr FileLog_Heizung_Bad room MAX


Das Chart sah gestern dann aus wie folgt.

Selbst das "event-min-interval 1" bei der Heizung sorgt nicht für das Schreiben der Logs im definierten Intervall (1 Sekunde)... Irgendwas muss hier komisch sein  :o
Fhem auf Raspi 3; Jeelink mit 6x TX29DTH; CUL433 mit 9x RCS 1000 N und Somfy-Steuerung; CUL868; MAX-Cube + Thermostate; Philips Hue & Ikea Tradfri; Google Home Assistant; FTUI für Tablet und SmartPhone via Reverse-Proxy

frank

event-on-change/update/min-interval

attr Heizung_Bad event-on-change-reading valveposition

damit legst du fest, dass bei jedem senden (on update) des realen gerätes der wert für valveposition auf änderung geprüft wird, und bei entsprechender änderung ein event in fhem generiert wird. gleichzeitig werden für alle nicht aufgelisteten readings die events abgeschaltet.

wenn in diesem device bei einem weiteren reading, zb. desired-temp, bei jedem update zusätzlich ein event generiert werden soll, musst du hierfür zusätzlich das attribut event-on-update setzen.

events können nur zu den sendezeiten des realen gerätes generiert werden. wenn das gerät alle 60s sendet, kann event-min-interval=1 auch höchstens nur alle 60s events erzeugen, nicht häufiger. allerdings nur für die readings, für die events eingeschaltet sind, siehe oben.
FHEM: 6.0(SVN) => Pi3(buster)
IO: CUL433|CUL868|HMLAN|HMUSB2|HMUART
CUL_HM: CC-TC|CC-VD|SEC-SD|SEC-SC|SEC-RHS|Sw1PBU-FM|Sw1-FM|Dim1TPBU-FM|Dim1T-FM|ES-PMSw1-Pl
IT: ITZ500|ITT1500|ITR1500|GRR3500
WebUI [HMdeviceTools.js (hm.js)]: https://forum.fhem.de/index.php/topic,106959.0.html

Rheingold

Danke für den Hinweis, ich habe es jetzt mal wie folgt probiert und es sieht vielversprechend aus. Bitte um Korrektur, sollte ich dabei etwas vergessen haben oder falsch machen:


# Temperatur-Bad
define Temp_Bad LaCrosse 18
attr Temp_Bad IODev myJeeLink
attr Temp_Bad event-min-interval .*:600
attr Temp_Bad event-on-change-reading temperature:0.2,humidity:2
attr Temp_Bad room 1.2 Bad,Temperatur
define FileLog_Temp_Bad FileLog ./log/Temp_Bad-%Y.log Temp_Bad
attr FileLog_Temp_Bad logtype text
attr FileLog_Temp_Bad room 1.2 Bad,Temperatur
# MAX! Thermostat Bad -
define Heizung_Bad MAX HeatingThermostat 082d8a
attr Heizung_Bad IODev MAXCube
attr Heizung_Bad event-min-interval .*:600
attr Heizung_Bad event-on-change-reading valveposition,desiredTemperature,battery
attr Heizung_Bad room 1.2 Bad,MAX
define FileLog_Heizung_Bad FileLog ./log/Heizung_Bad-%Y.log Heizung_Bad
attr FileLog_Heizung_Bad logtype text
attr FileLog_Heizung_Bad room MAX
Fhem auf Raspi 3; Jeelink mit 6x TX29DTH; CUL433 mit 9x RCS 1000 N und Somfy-Steuerung; CUL868; MAX-Cube + Thermostate; Philips Hue & Ikea Tradfri; Google Home Assistant; FTUI für Tablet und SmartPhone via Reverse-Proxy

frank

ich teste so etwas immer mit dem eventmonitor.
wenn man dort unter filter ein bestimmtes device einträgt, kann man das gut verfolgen.
FHEM: 6.0(SVN) => Pi3(buster)
IO: CUL433|CUL868|HMLAN|HMUSB2|HMUART
CUL_HM: CC-TC|CC-VD|SEC-SD|SEC-SC|SEC-RHS|Sw1PBU-FM|Sw1-FM|Dim1TPBU-FM|Dim1T-FM|ES-PMSw1-Pl
IT: ITZ500|ITT1500|ITR1500|GRR3500
WebUI [HMdeviceTools.js (hm.js)]: https://forum.fhem.de/index.php/topic,106959.0.html