[GELÖST] Timer-DOIF im Status initialized bei eingehendem Event immer "falsch"

Begonnen von freetz, 09 März 2018, 11:09:36

Vorheriges Thema - Nächstes Thema

freetz

Hallo zusammen,

erst einmal herzlichen Dank an Damian und alle Unterstützer für dieses großartige Modul und vor allem den Support hier - da ich hier an anderer Stelle das BSB-LAN-Interface betreue, weiß ich, was das für eine Arbeit sein kann...

Mein Problem ist folgendes: Ich habe ein DOIF, das ich stündlich ausführen lasse und was an sich sehr gut funktioniert:
([+01:00] ## execute every hour
and [Wetter_Yahoo:fc1_high_c] < 12 ## and check if weather today is bad
or ([Wetter_Yahoo:fc1_code] < 18
or [Wetter_Yahoo:fc1_code] == 35
or ([Wetter_Yahoo:fc1_code] > 36 and [Wetter_Yahoo:fc1_code] != 44)))
(set Ciiky Mow_Today 0) ## then do not mow today

attr di_Robotan cmdState Weather is bad - do not mow today|Weather is good ([Wetter_Yahoo:fc1_high_c]°C / [Wetter_Yahoo:fc1_code]) - mow according to schedule


Wenn ich FHEM jedoch neu starte, geht das DOIF natürlich erst einmal in den State "initialized" und wartet eine Stunde bis zur regulären Ausführung. Wenn aber in dieser Zeit das Yahoo-Wetter abgerufen wird (reproduzierbar, wenn ich dort auf set update gehe), dann wird das DOIF als nicht zutreffend ausgewertet, also "Weather is good" angezeigt, obwohl die in Klammern stehenden Daten Wetterbedingungen anzeigen, die eigentlich auf "wahr" hätten evaluieren müssen.
Wenn dann die reguläre Ausführungszeit (hier nach einer Stunde) erreicht ist, wird trotz unveränderter Wetter-Daten das DOIF richtig evaluiert (heute also "Weather is bad").

Ist das ein Bug oder habe ich vergessen, irgendwo abzufangen, dass ein bloßer Update-Event bei nicht zutreffender Uhrzeit ein "falsch" ergibt? Wenn letzteres der Fall ist: wie könnte ich das abfangen, dass hier nicht "falsch" evaluiert wird?

Vielen Dank schon mal für jede Unterstützung!

F.
Alle Infos zur Anbindung von Heizungssystemen mit PPS-, LPB- bzw. BSB-Bus ans LAN gibt es hier:
https://github.com/fredlcore/BSB-LAN

Alle Infos zum WLAN-Interface "Robotan" für Ambrogio/Stiga/Wolf und baugleiche Rasenmähroboter:
https://github.com/fredlcore/robotan

nils_

ich glaube das ist was du suchst (aus der commandref)
ZitatTrigger verhindern [?<devicename>], [?<devicename>:<readingname>], [?<devicename>:&<internalname>], [?<time specification>]
Werden Status, Readings, Internals und Zeitangaben in der Bedingung mit einem Fragezeichen eingeleitet, triggern sie nicht.

http://commandref.fhem.de/commandref_DE.html#DOIF_Zeitintervalle_Readings_und_Status_ohne_Trigger

([+01:00] ## execute every hour
and [?Wetter_Yahoo:fc1_high_c] < 12 ## and check if weather today is bad
or ([?Wetter_Yahoo:fc1_code] < 18
or [?Wetter_Yahoo:fc1_code] == 35
or ([?Wetter_Yahoo:fc1_code] > 36 and [?Wetter_Yahoo:fc1_code] != 44)))
(set Ciiky Mow_Today 0) ## then do not mow today

attr di_Robotan cmdState Weather is bad - do not mow today|Weather is good ([Wetter_Yahoo:fc1_high_c]°C / [Wetter_Yahoo:fc1_code]) - mow according to schedule

so triggert nur noch die zeit (also jede stunde).
viele Wege in FHEM es gibt!

freetz

Wow, vielen Dank für die schnelle Antwort!
Ich hatte es jetzt soweit, dass ich einfach den Zeit-Trigger entfernt habe und den bei Yahoo-Wetter entsprechend angepasst habe, aber damit wäre die Lösung stärker auf Yahoo-Wetter zugeschnitten gewesen. So ist es natürlich viel besser (und zeigt einmal mehr, dass man doch die ganze Anleitung lesen (und vor allem verstehen ;) ) muss...).

VG, F.
Alle Infos zur Anbindung von Heizungssystemen mit PPS-, LPB- bzw. BSB-Bus ans LAN gibt es hier:
https://github.com/fredlcore/BSB-LAN

Alle Infos zum WLAN-Interface "Robotan" für Ambrogio/Stiga/Wolf und baugleiche Rasenmähroboter:
https://github.com/fredlcore/robotan

nils_

Zitat von: freetz am 09 März 2018, 11:18:24
Ich hatte es jetzt soweit, dass ich einfach den Zeit-Trigger entfernt habe und den bei Yahoo-Wetter entsprechend angepasst habe, aber damit wäre die Lösung stärker auf Yahoo-Wetter zugeschnitten gewesen.
das geht auch, dann ist es, wie du schon sagst, abhängig vom Yahoo-Wetter (keine Ahnung wie oft das dann anspringt)

Zitat von: freetz am 09 März 2018, 11:18:24
So ist es natürlich viel besser (und zeigt einmal mehr, dass man doch die ganze Anleitung lesen (und vor allem verstehen ;) ) muss...).
die ist bei DOIF ziemlich umfangreich :)
viele Wege in FHEM es gibt!