FHEM Forum

FHEM - Hausautomations-Systeme => Unterstützende Dienste => Wettermodule => Thema gestartet von: fExplorer am 20 Mai 2019, 17:00:15

Titel: [Gelöst] DWD Aktion bei Gewitter
Beitrag von: fExplorer am 20 Mai 2019, 17:00:15
Hallo,

ich habe ein notify welches bei DWD Aktualisierung Events auslösen soll, falls eine Gewitterwarnung vorliegt und wir uns in dem Gewitterzeitraum befinden:

DWD { if (index ( lc(ReadingsVal("DWD", "a_0_eventDesc", undef)), "gewitter" ) != -1 and time_str2num(ReadingsVal("DWD", "a_0_onset", undef) ) >= time() and time_str2num(ReadingsVal("DWD", "a_0_expires", undef) ) < time() ) {fhem("set myTestSwitch1 on; set Rollo Ab"); }else{ fhem("set myTestSwitch1 off; set Rollo Auf"); }}

Mein Problem liegt beim Auswerten von a_0_eventDesc.
(Wenn gewitter in ReadingsVal("DWD", "a_0_expires".. vorhanden,...)
Wenn ich die index funktion mit lowercase in einem perl script teste erhalte ich die gewünschten Ergebnisse. Woran kann es liegen dass es in fhem nicht live finktioniert und auch bei aktivem Gewitter mein Rollo hochgefahren wird?


Titel: Antw:DWD Aktion bei Gewitter
Beitrag von: mumpitzstuff am 20 Mai 2019, 17:45:31
time_str2num(ReadingsVal("DWD", "a_0_onset", undef) ) >= time()

time_str2num(ReadingsVal("DWD", "a_0_expires", undef) ) < time()

Ich vermute das hier ist falsch? onset sollte doch in der Vergangenheit liegen, also kleiner als time() sein und expires in der Zukunft, also größer/gleich sein.
Titel: Antw:DWD Aktion bei Gewitter
Beitrag von: fExplorer am 03 Juni 2019, 20:23:50
Zitat von: mumpitzstuff am 20 Mai 2019, 17:45:31
time_str2num(ReadingsVal("DWD", "a_0_onset", undef) ) >= time()

time_str2num(ReadingsVal("DWD", "a_0_expires", undef) ) < time()

Ich vermute das hier ist falsch? onset sollte doch in der Vergangenheit liegen, also kleiner als time() sein und expires in der Zukunft, also größer/gleich sein.

Knick in der Optik ;-) Danke

Ich habe das jetzt so
DWD { if ( ReadingsVal("DWD", "a_0_event", 0) > 30 and ReadingsVal("DWD", "a_0_event", 0) < 36 and time_str2num(ReadingsVal("DWD", "a_0_onset", 0) ) <= time() and time_str2num(ReadingsVal("DWD", "a_0_expires", 0) ) > time() ) {fhem("set Gewitter on"); }else{ fhem("set Gewitter off"); }}