Hallo zusammen,
ich überwache mit der folgenden Routine meine Fenster, ob diese zu lange offen sind.
defmod di_Fenster_offen DOIF subs {\
sub logwin { # Definition der Funktion namens "logwin"\
my ($window)=@_;; # übernehme Parameter in die Variable $window\
Log 3,"Fenster offen, bitte schließen: $window";; # protokolliere Fenster-Offen-Meldung\
fhem_set("teleBot _msg Fenster $window schließen");;\
set_Exec ("$window",900,"logwin",$window);; # setze Timer auf 30 Minuten für eine wiederholte Meldung\
}\
}\
{ if ([".*_Fenster_.*:open"] and [".*_Fenster_.*:open"] ne "WZ_Fenster_OST_L") {set_Exec ("$DEVICE",1800,'logwin',"$DEVICE")}} # wenn, Fenster geöffnet wird, dann setze Timer auf Funktion zum Loggen namens "logwin"\
{ if ([".*_Fenster_.*:closed"]) {del_Exec ("$DEVICE")}} # wenn, Fenster geschlossen wird, dann lösche Timer
attr di_Fenster_offen alias Benachrichtigung: Fenster ist immer noch offen
attr di_Fenster_offen room System->Logik
Meine Tür auf die Terrasse steht allerdings gerade im Sommer meist offen ist, bekomme dafür natürlich immer eine Meldung.
Kann ich das mit einem attr. für "WZ_Fenster_OST_L" irgendwie ausschließen, so dass ich nicht den ganzen Code ändern muss?
probier mal:
statt
and [".*_Fenster_.*:open"] ne "WZ_Fenster_OST_L"
and $device !~ "WZ_Fenster_OST_L"
Danke so, geht es!