Hallo Gemeinde,
hoffe mein Fall gehört tatsächlich in den Bereich DOIF. Fürchte fast es gehört in den Bereich Anfängerfragen! Bin nun schon seit mehreren Tagen am grübeln und ausprobieren warum mein gewähltes DOIF nicht funktioniert. Habe die Commandref als auch jegliche Bereiche zur Erläuterung des DOIF durchforstet und Beispiele versucht für meinen Fall zu übertragen. Langsam gebe ich auf. Zumal ich mir ziemlich sicher bin nichts falsches definiert zu haben. Aber die Realität sagt, dass nichts zur gegebenen Zeit auslöst.
Internals:
DEF (["Fenster_.*:Window.*Open"] and [07:10|Mo Di Mi Do Fr]) (set teleBot msg @FHEM ALARM!!! FENSTER OFFEN! [@"^Fenster":Window:"Open"])
FUUID 5c602886-f33f-15ce-3168-fee279a365346b02
MODEL FHEM
NAME Warnung_FHT_Fenster
NR 432
NTFY_ORDER 50-Warnung_FHT_Fenster
STATE initialized
TYPE DOIF
READINGS:
2019-02-14 19:40:16 cmd 0
2019-02-14 19:40:16 mode enabled
2019-02-14 19:40:16 state initialized
2019-02-14 19:40:16 timer_01_c01 15.02.2019 07:10:00|MoDiMiDoFr
Regex:
cond:
:
0:
"Fenster_.*:Window.*Open" Fenster_.*:Window.*Open
attr:
cmdState:
wait:
waitdel:
condition:
0 ::EventDoIf('Fenster_.*',$hash,'Window.*Open',0) and ::DOIF_time_once($hash,0,$wday,"MoDiMiDoFr")
days:
0 MoDiMiDoFr
devices:
do:
0:
0 set teleBot msg @FHEM ALARM!!! FENSTER OFFEN! [@"^Fenster":Window:"Open"]
1:
helper:
globalinit 1
last_timer 1
sleeptimer -1
intervalfunc:
itimer:
localtime:
0 1550211000
realtime:
0 07:10:00
time:
0 07:10:00
timeCond:
0 0
timer:
0 0
timers:
0 0
triggertime:
1550211000:
localtime 1550211000
hash:
uiState:
uiTable:
Attributes:
DbLogExclude .*
do always
room Telegram
define Warnung_FHT_Fenster DOIF (["Fenster_.*:Window.*Open"] and [07:10|Mo Di Mi Do Fr]) (set teleBot msg @FHEM ALARM!!! FENSTER OFFEN! [@"^Fenster":Window:"Open"])
Ohne das AND funktioniert jedes Ereignis für sich.
define Warnung_FHT_Fenster DOIF (["Fenster_.*:Window.*Open"]) (set teleBot msg @FHEM ALARM!!! FENSTER OFFEN! [@"^Fenster":Window:"Open"])
Funktioniert --> Nachricht auf Telegram bzw. Handy kommt an mit der entsprechenden Meldung.
define Warnung_FHT_Fenster DOIF ([07:10|Mo Di Mi Do Fr]) (set teleBot msg @FHEM ALARM!!! FENSTER OFFEN! [@"^Fenster":Window:"Open"])
Funktioniert --> Nachricht auf Telegram bzw. Handy kommt an mit der entsprechenden Meldung.
Hoffe Ihr könnt mir ggfs. den richtigen Schubser geben.
Im Voraus vielen Dank!
Bin da jetzt kein Spezialist, aber....
["Fenster_.*:Window.*Open"]
sieht nach einem Event aus...ist also kein Zustand....müsste also um 7:10 Uhr ausgelöst werden, damit es funktioniert.
Ich würde um 7:10 eine Funktion ausführen, die alle Fenster auf den Zustand Open untersucht...
Es sind zwei punktuelle Abfragen (Eventtrigger und Timer) die nie zum gleichen Zeitpunkt wahr sind. Du kannst um 7:10 über die Aggregatsfunkton abfragen, ob noch ein Fenster offen ist.