Hallo,
ich habe mir folgenden Code zusammengebastelt, um einen LED Streifen einzuschalten, wenn eine Bewegung wahrgenommen wird. Durch den Watchdog bleibt, solange Bewegung da ist, das Licht auch an.
define SZ_Bett_Nachtlicht_An notify SZ_Bewegungsmelder:motion {if(!isday()){ fhem ("set SZ_LED_Bett HSV 46,57,99") }}
define WD_SZ_Bett_Nachtlicht_An watchdog SZ_Bewegungsmelder:motion 00:00:30 SAME set SZ_LED_Bett off ;; setstate WD_SZ_Bett_Nachtlicht_An defined
Was mich jedoch gestört hat, ist, dass der Watchdog ja immer ausgeführt wird, auch wenn das Licht garnicht angehen würde, weil es ja noch Tag ist. Nun war meine Überlegung, den Watchdog einfach in die if-Abfrage zu integrieren:
define SZ_Bett_Nachtlicht_An notify SZ_Bewegungsmelder:motion {if(!isday()){ fhem ("set SZ_LED_Bett HSV 46,57,99") ;; define WD_SZ_Bett_Nachtlicht_An watchdog SZ_Bewegungsmelder:motion 00:00:30 SAME set SZ_LED_Bett off ;; setstate WD_SZ_Bett_Nachtlicht_An defined }}
Fehlermeldungen gibt es keine, jedoch funktioniert es auch nicht mehr - heißt, das Licht geht garnicht erst an.
Was mache ich falsch?
LG Johannes
Zitat von: johannes1984 am 19 April 2015, 15:53:19
Hallo,
ich habe mir folgenden Code zusammengebastelt, um einen LED Streifen einzuschalten, wenn eine Bewegung wahrgenommen wird. Durch den Watchdog bleibt, solange Bewegung da ist, das Licht auch an.
define SZ_Bett_Nachtlicht_An notify SZ_Bewegungsmelder:motion {if(!isday()){ fhem ("set SZ_LED_Bett HSV 46,57,99") }}
define WD_SZ_Bett_Nachtlicht_An watchdog SZ_Bewegungsmelder:motion 00:00:30 SAME set SZ_LED_Bett off ;; setstate WD_SZ_Bett_Nachtlicht_An defined
Was mich jedoch gestört hat, ist, dass der Watchdog ja immer ausgeführt wird, auch wenn das Licht garnicht angehen würde, weil es ja noch Tag ist. Nun war meine Überlegung, den Watchdog einfach in die if-Abfrage zu integrieren:
define SZ_Bett_Nachtlicht_An notify SZ_Bewegungsmelder:motion {if(!isday()){ fhem ("set SZ_LED_Bett HSV 46,57,99") ;; define WD_SZ_Bett_Nachtlicht_An watchdog SZ_Bewegungsmelder:motion 00:00:30 SAME set SZ_LED_Bett off ;; setstate WD_SZ_Bett_Nachtlicht_An defined }}
Fehlermeldungen gibt es keine, jedoch funktioniert es auch nicht mehr - heißt, das Licht geht garnicht erst an.
Was mache ich falsch?
LG Johannes
Vorschlag:
define du_motion dummy
attr du_motion setList on off
define n_motion notify SZ_Bewegungsmelder:motion {if (!isday()) {fhem("set du_motion on")}}
define SZ_Bett_Nachtlicht_An notify du_motion:on set SZ_LED_Bett HSV 46,57,99
define WD_SZ_Bett_Nachtlicht_An watchdog du_motion:on 00:00:30 SAME set SZ_LED_Bett off;; set du_motion off;; trigger WD_SZ_Bett_Nachtisch_An .
Gruss
flurin