Licht dimmen mit Bewegungsmelder und Taster: Unterschied zwischen den Versionen
Keine Bearbeitungszusammenfassung |
|||
Zeile 4: | Zeile 4: | ||
Zum Schuheanziehen im Flur soll das Licht aber per Taster auf 100% geschaltet werden können. Der Bewegungsmelder springt aber nur an zwischen 7 und 20 Uhr. | Zum Schuheanziehen im Flur soll das Licht aber per Taster auf 100% geschaltet werden können. Der Bewegungsmelder springt aber nur an zwischen 7 und 20 Uhr. | ||
Die Schwierigkeit besteht darin, | Die Schwierigkeit besteht darin, dass die z. B. minütlich kommende Meldung vom Bewegungsmelder nicht wieder auf 50% runterdimmt. | ||
== Script == | == Script == | ||
Zeile 40: | Zeile 40: | ||
Der Taster hingegen darf IMMER sofort das licht auf 100% setzen ohne Abfrage. | Der Taster hingegen darf IMMER sofort das licht auf 100% setzen ohne Abfrage. | ||
Beim Bewegungsmelder kann und sollte man übrigens die | Beim Bewegungsmelder kann und sollte man übrigens die Zeit bis zur nächsten Meldung sinnvoll einstellen - diese zeit muss kürzer sein als die Dauer mit der das Licht auf "ein" steht, damit das | ||
[[Kategorie:Code Snippets]] | [[Kategorie:Code Snippets]] |
Version vom 12. August 2014, 21:37 Uhr
Aufgabe:
Ein Flurlicht soll gedimmt werden per Bewegungsmelder (FS20 PIRI) mit 50% Lichtstärke.
Zum Schuheanziehen im Flur soll das Licht aber per Taster auf 100% geschaltet werden können. Der Bewegungsmelder springt aber nur an zwischen 7 und 20 Uhr.
Die Schwierigkeit besteht darin, dass die z. B. minütlich kommende Meldung vom Bewegungsmelder nicht wieder auf 50% runterdimmt.
Script
define flur_licht FS20 a875 10 attr flur_licht model fs20di attr flur_licht follow-on-for-timer 1 #Flurlicht auf hell schalten Taster define flur_s4_hell FS20 a875 62 define n_flur_s4_hell notify flur_s4_hell:.* { \ {fhem("set flur_licht dim100%%")};;\ {fhem("set flur_licht on-old-for-timer 120")};;\ } ####Bewegungsmelder####### define flur_bewegung FS20 a875 00 attr flur_bewegung model fs20piri define n_flur_bewegung2 notify flur_bewegung:.* { \ Log 3, "@: flur_licht ".Value("flur_licht");;\ my $mzstate=Value("flur_licht");;\ if ($hour >= 7 && $hour <= 20) {\ if ($mzstate eq "off"){\ {fhem("set flur_licht dim50%%")}\ }\ {fhem("set flur_licht on-old-for-timer 120")}\ }\ }
Erläuterungen:
Taster und Bewegungsmelder schalten das Licht ein mit on-old-for-timer 120 - also für 2 Minuten auf der vorher eingestellten Helligkeit und danach schaltet der Dimmer automatisch ab.
Um Abfragen zu können, ob die Lampe aus ist, ist der Parameter follow-on-for-timer beim Dimmer wichtig, damit der Status wie der Dimmer verhält und nach dem 2 Minuten auf off geht.
Der Bewegungsmelder darf als nur auf die 50% schalten, wenn das licht schon aus war - ansonsten darf er nur die Einschaltzeit verlängern, damit das Licht auf 100% bleibt, solange noch jemand im Flur ist.
Der Taster hingegen darf IMMER sofort das licht auf 100% setzen ohne Abfrage.
Beim Bewegungsmelder kann und sollte man übrigens die Zeit bis zur nächsten Meldung sinnvoll einstellen - diese zeit muss kürzer sein als die Dauer mit der das Licht auf "ein" steht, damit das