Guten Abend,
ich bastele leider immer noch an der perfekten Lösung für Außenlichter (in einer structure), die auf Sonnenaufgang/Sonnenuntergang und Uhrzeiten sowie Bewegungsmelder (schließlich sind die ganzen Lampen ja da) reagieren.
Mein derzeitiger Ansatz ist:
define DI_TimerPresenceAussenlichtOnOff DOIF ([05:30-[MyTwilight:sr_indoor]|8] or
[06:30-[MyTwilight:sr_indoor]|7] or
[[MyTwilight:ss_indoor]-22:15] or
([[MyTwilight:ss_indoor]-01:00] and [PresTVWintergarten:presence] eq "present"))
(set D_TimerAussenlicht on, set Aussenlicht on) ## Cmd1
DOELSEIF (([EG.Scheune.MotionDetect:"motion"] or [EG.Durchgang.MotionDetect:"motion"]) and [[MyTwilight:ss_indoor]-[MyTwilight:sr_indoor]])
(set D_TimerAussenlicht on, set Aussenlicht on) ## Cmd2
DOELSE
(set D_TimerAussenlicht off, set Aussenlicht off) ## Cmd3
attr DI_TimerPresenceAussenlichtOnOff resetwait
attr DI_TimerPresenceAussenlichtOnOff wait 0,0,300
Der DOELSEIF/DOELSE-Teil und die Attribute kommen aus der Commandref nach Hinweis von Damian: http://fhem.de/commandref_DE.html#DOIF_Weitere_Anwendungsbeispiele
Der erste DOIF-Teil ist die Ergänzung von mir für die Zeiten...
Leider funktioniert es nicht. Erstens ist das DOIF mit jedem Motion-Event tagsüber im CMD3 und sendet Ausschaltbefehle (bei vielen Lichtern einiges an Funkverkehr), zum anderen funken die Events der Bewegunsmelder dazwischen - eigentlich ist das DOIF ständig im CMD3.
Vielen Dank für Ideen zur Verbesserung und Optimierung...
Ciao, -MN
Zitatund sendet Ausschaltbefehle (bei vielen Lichtern einiges an Funkverkehr)
Hier könntest Du einen Filter setzen: http://fhem.de/commandref_DE.html#devspec
Zitatzum anderen funken die Events der Bewegunsmelder dazwischen
Das könntest Du mit einem zusätzlichen DOELSEIF abfangen und die störenden Events ins Leere laufen lassen
DOELSEIF ([<Regexp für störende Events>])
Alternativ geht auch der Vorschlag 2 von hier: https://forum.fhem.de/index.php/topic,52088.msg438444.html#msg438444
Ein Attribut "event-on-change-reading" an der Event-Quelle zu setzen hilft auch beim Einschränken von unerwünschten Events.