Mitternachtsübergang mit addLog und Fenster (FHT) funktioniert nicht - gelöst

Begonnen von Haaarald, 15 April 2015, 19:44:12

Vorheriges Thema - Nächstes Thema

Haaarald

Hallo,

um eine durchgängige Darstellung im Plot zu haben, hab ich die Funktion addLog benutzt. Die Temperaturen und Actuatoren werden korrekt dargestellt, aber ich habe irgendwo einen Fehler, denn der Fensterstatus wird nicht korrekt gespeichert. Ich vermute den Fehler im gplot-File.

Für das Fenster achte ich auf den FHT-Wert warnings der entweder "none" oder "Window open" ist. Die Anzeige im Plot ist auch richtig, ausser dass das erste Fenster-öffnen nicht angezeigt wird. Ab dem (geplotteten) Schließen ist alles in Ordnung. Noch ein Hinweis: die Fenster sind über Mitternacht geschlossen.

Der addLog-Aufruf sieht bei mir folgendermaßen aus:
addLog("FHT_Schlafzimmer","actuator");;addLog("FHT_Schlafzimmer","measured-temp");;addLog("FHT_Schlafzimmer","desired-temp");;addLog("FHT_Schlafzimmer","warnings");;

Meine gplot-Datei enthält folgende Zeilen:
#FileLog 4:measured:0:
#FileLog 4:desired-temp:0:
#FileLog 4:actuator.*[0-9]+%:0:int
#FileLog 4:warnings:0:$fld[4]&&$fld[4]=~"open"?100:0

plot \
  "< awk '/measured-temp/ {print $1, $4}' <IN>" ls l0 axes x1y2 title 'Ist-Temperatur' with lines,\
  "< awk '/desired-temp/ {print $1, $4}' <IN>" ls l4 axes x1y2 title 'Soll-Temperatur' with steps,\
  "< awk '/actuator/ {print $1, $4}' <IN>" ls l1fill axes x1y1 title 'Ventil' with steps,\
  "< awk '/Window/ {print $1, $4}' <IN>" ls l2 axes x1y1 title 'Fenster' with steps


Hat jemand eine Idee wo mein Fehler liegt?

Vielen Dank,
Harald

frank

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

Haaarald

Das hatte ich vorher. Damit gibt es aber immer einen Fehler, da bei "none" kein weiterer String mehr kommt und damit fld[4] nicht initialisiert ist...

Ich versuche gerade mal auf den "window"-Wert zu lauschen, der hat in beiden Fällen nur einen Wert - morgen mal sehen ob das was gebracht hat.


Update:
leider immer noch daselbe Verhalten.

Fall 1: über Mitternacht geöffnetes Fenster wird beim Schließen korrekt als Übergang von offen nach geschlossen angezeigt.
Fall 2: über Mitternacht geschlossenes Fenster wird beim öffnen und späterem wieder schließen lediglich mit dem Schließen dargestellt.

Der Initialwert über Mitternacht scheint also immer "open" zu sein - obwohl im Log beide korrekt mit open/closed angegeben sind.

frank

ZitatDas hatte ich vorher. Damit gibt es aber immer einen Fehler, da bei "none" kein weiterer String mehr kommt und damit fld[4] nicht initialisiert ist...
verstehe nicht, dass dann eine funktion mit 2 nicht initialisierten variablen besser sein soll.

wie sehen denn die möglichen events vom fenster genau aus?
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

Haaarald

2015-04-19 23:10:35 FHT FHT_Kueche_AZ warnings: Window open
Hier ist fld[4] der String open.

2015-04-19 23:10:35 FHT FHT_Kueche_AZ warnings: none
Und hier gibt es keinen String an Stelle 5. Deshalb kam immer die Fehlermeldung "uninitialized...". Hier im Forum hab ich die Lösung gefunden, dass die Abfrage nach einem möglichen Leerstring zusätzlich benötigt wird. Damit lautet die Condition $fld[4]&&$fld[4]=~"open". Die Darstellung über den Tag ist ja auch in Ordnung. Fenster offen und Wert ist 100, Fenster zu und er ist Null. Aber diese Null wird nicht mit addLog über Mitternacht gerettet, denn das erste Fenster-öffnen bekommt der Plot nicht mit.

frank

dann kannst du doch aber auf $fld[3] untersuchen und den problemen aus dem weg gehen.

#FileLog 4:warnings:0:$fld[3]=~"window"?100:0
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

Haaarald

Das ist ein guter Ansatz, bin ich gar nicht drauf gekommen.

Aber ich hatte meinen Code bereits dahingehend geändert, dass ich nun auf die Ausgabe window: open bzw. window: closed achte. Damit hab ich auch immer einen Wert. Das hab ich wohl in meinem Post nicht richtig herausgestellt.

Im gplot-File hab ich nun folgendes stehen:
FileLog 4:window:0:$fld[3]=~"open"?100:0

Das Update von meinem Post am 16.4. bezog sich auf diese Lösung. Leider brachte die ebenfalls keinen Erfolg. Der Fehler liegt wohl irgendwo anders.

Vielleicht noch mein Log um Mitternacht:
2015-04-22_23:59:00 FHT_Schlafzimmer actuator: 0%   << addLog
2015-04-22_23:59:00 FHT_Schlafzimmer measured-temp: 21.7   << addLog
2015-04-22_23:59:00 FHT_Schlafzimmer desired-temp: 16.0   << addLog
2015-04-22_23:59:00 FHT_Schlafzimmer window: closed   << addLog
2015-04-23_00:01:00 FHT_Schlafzimmer actuator: 0%   << addLog
2015-04-23_00:01:00 FHT_Schlafzimmer measured-temp: 21.7   << addLog
2015-04-23_00:01:00 FHT_Schlafzimmer desired-temp: 16.0   << addLog
2015-04-23_00:01:00 FHT_Schlafzimmer window: closed   << addLog
.
.
.
2015-04-23_08:39:28 FHT_Schlafzimmer desired-temp: 8.0
2015-04-23_08:39:28 FHT_Schlafzimmer window: open
2015-04-23_08:39:28 FHT_Schlafzimmer warnings: Window open
2015-04-23_08:47:18 FHT_Schlafzimmer measured-temp: 20.2
2015-04-23_08:47:18 FHT_Schlafzimmer temperature: 20.2
2015-04-23_08:53:56 FHT_Schlafzimmer desired-temp: 16.0
2015-04-23_08:53:56 FHT_Schlafzimmer window: closed
2015-04-23_08:53:56 FHT_Schlafzimmer warnings: none


Der Plot für das erste Fenster-öffnen/schließen hängt an.

frank

ZitatDer Plot für das erste Fenster-öffnen/schließen hängt an.
hm... etwas dürftig? blau?

im svg-editor gibt es den button "show preprocessed". überprüfe diese daten mit dem log.
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

Haaarald

Ähm ja, dürftig... Hab's wohl nicht verstanden mit dem Anhang und die Büroklammer neben meinem Beitrag sagt nicht das aus was ich dachte...

Ich versuchs nochmal.

Haaarald

Komischerweise tritt der Darstellungsfehler jetzt nicht mehr auf. Hatte dazwischen mal ein Update gemacht, vielleicht hängt das damit zusammen. Naja, wie auch immer: juhuu!

Danke Frank für Deine Hilfeversuche.