Hallo,
ich möchte folgendes Szenario schalten:
Lampe Y (In diesem Fall FBDECT_16) wird mit twilight eingeschaltet. Das funktioniert auch.
Nun soll um 23:00 geprüft werden ob Person Y anwesend ist.
Falls ja -> Licht aus, falls nein soll das Licht anbleiben und es soll weiter geprüft weren ob die Person da ist. Wenn die Person Y nun angekommen ist, soll das Licht nach 15 Minuten ausgehen.
Die Anwesenheitserkennung läuft mit Presence. Ein List PersonX ergibt bei Anwesenheit folgendes:
Internals:
ADDRESS PersonX
CHANGED
DEF fritzbox PersonX-MotoG 30 30
MODE fritzbox
NAME PersonX
NR 23
STATE present
TIMEOUT_NORMAL 30
TIMEOUT_PRESENT 30
TYPE PRESENCE
Readings:
2014-04-22 20:44:25 state present
Helper:
cachednr 3
Attributes:
devStateIcon present:HOME_Status.1 absent:HOME_Status.3
event-on-change-reading state
fritzbox_repeater 1
icon system_fhem
room zz_Anwesenheit
Folgenden Codeschnipsel habe ich testweise mal ausprobiert:
define Licht_aus at *20:00:00 watchdog PersonX:present 00:15 PersonX:absent set FBDECT_16 off ; setstate Licht_aus defined
Eigentlich sollte ja jetzt um 20:15 Uhr das Licht ausgehen. PersonX war durchgehend anwesend.
Es tut sich aber nichts.
Kann mir dabei jemand auf die Sprünge helfen?
Habe mir jetzt selber was zusammengefummelt.
Scheint zu funktionieren:
define Licht_aus watchdog PersonX:present 00:15 PersonX:absent set FBDECT_16 off
attr Licht_aus disabledForIntervals 02:00-22:45
attr Licht_aus regexp1WontReactivate 1
Evnt-on-change-reading darf bei PersonX nicht gesetzt sein. Sonst fragt der Watchdog um 22:45 wohl nicht den aktuellen presence Status von PersonX ab.