Hallo,
den folgenden Code nutze ich um das Event "on-old-for-timer xxx" in Ein-/Aus-Schaltvorgänge für einen einfachen InterTechno-Aktor umzusetzen:
# Flurlicht einschalten - on-old-for-timer xxx uebersetzen in at relativ zu jetzt
# neues at definieren, falls bereits vorhanden das bestehende vorher loeschen
# Idee: http://www.fhemwiki.de/wiki/On-for-timer_zur%C3%BCcksetzen
define n_fl_se_Melder_timer notify fl_se_Melder:on-old-for-timer.* { \
my @@args = split(" ", "%EVENT");; \
if ( Value("at_fl_se_Melder_off") ) { \
Log 1, "delete at_fl_se_Melder_off";; \
fhem ("delete at_fl_se_Melder_off");; \
} \
fhem ("set fl_li_Lampe on");; \
my $def_cmd = sprintf ( \
"define at_fl_se_Melder_off at +%%02d:%%02d:%%02d set fl_se_Melder off", \
$args[1] / 3600, ($args[1] / 60) %% 60, $args[1] %%60);; \
fhem ($def_cmd);; \
fhem ("setstate fl_se_Melder on-for-timer $args[1]");; \
}
fl_se_Melder ist der FS20 PIRU, fl_li_Lampe ist ein COCO ACM-1000 Aktor.
Der STATE für fl_se_Melder wird auf "on-for-timer" gesetzt, damit das passende Icon (Lampe mit Uhr) erscheint. In der Oberfläche ist fl_li_Lampe versteckt, als Element für das Licht wird fl_se_Melder angezeigt.
Jan