Moin zusammen. Habe einen Bewegungsmelder und eine HUE Aussenlampe.
Die HUE Lampe geht bei Dämmerung zeitgesteuert an und morgens wieder aus. Dabei hat sie ca. 30 % Hellikeit.
Soweit so gut. Jetzt möchte ich gerne dass die Lampe bei Bewegung auf 100% Leuchtkraft geht und so dann z.B. 2 min bleibt, sollte dann keine Bewegung sein soll sie in ihren Ausgangszustand. Jemand eine Codeidee wie ich das zusammengeklöppelt bekomme?
Mit lightscene Modul könnte ich schonmal die Helligkeiten speichern also als "normal" und "hell". Okay. Aber wie kriege ich das hin das bei "motion" auf hell geht, aber nur wenn Lampe eh an war (= dunkel) und er mir dann wieder zurückspringt. Bin über Hilfe dankbar
ZitatJemand eine Codeidee wie ich das zusammengeklöppelt bekomme?
Sowas kann man mit DOIF, oder mit notify machen, oder noch andere (MSwitch, lambdascript,...)
https://fhem.de/commandref_DE.html#DOIF
https://fhem.de/commandref_DE.html#notify
https://wiki.fhem.de/wiki/MSwitch
Hi,
Als Ansatz, mein Flurlicht:defmod di_Flurlicht DOIF ([PIR1:"motion:.on"] and (!isday("REAL")?1:0 or [?PIRWg:brightness] < 130)) (set SW01_Sw01 on)(set SW01_Sw01 off)
attr di_Flurlicht do resetwait
attr di_Flurlicht room Flur
attr di_Flurlicht wait 0,180
Ob man da noch Lightscene braucht weiß ich nicht. Ich würde einfach bei motion den Zustand der Lampe abfragen, in ein Reading schreiben, die Lampe hell machen und dann nach 2 min wieder alten Zustand setzen.
Gruß Otto
Zitat von: Otto123 am 23 Juni 2019, 18:55:46
Hi,
Als Ansatz, mein Flurlicht:defmod di_Flurlicht DOIF ([PIR1:"motion:.on"] and (!isday("REAL")?1:0 or [?PIRWg:brightness] < 130)) (set SW01_Sw01 on)(set SW01_Sw01 off)
attr di_Flurlicht do resetwait
attr di_Flurlicht room Flur
attr di_Flurlicht wait 0,180
Ob man da noch Lightscene braucht weiß ich nicht. Ich würde einfach bei motion den Zustand der Lampe abfragen, in ein Reading schreiben, die Lampe hell machen und dann nach 2 min wieder alten Zustand setzen.
Gruß Otto
Hallo Otto,
danke dir für deine Hilfe, versuche das mal als test ohne "Dunkelheitsabfrage" nachzubauen. Stimm Lightscene werde ich wohl nicht brauchen. Kann ic statt der !isday"REAL" Abfrage nicht auch triggern ob die HUE AN ist? Dann ist ja schon die Abendschaltung aktiv... ich teste mal und schreibe dann den (miss) erfolg
Zitat von: Otto123 am 23 Juni 2019, 18:55:46
Hi,
Als Ansatz, mein Flurlicht:defmod di_Flurlicht DOIF ([PIR1:"motion:.on"] and (!isday("REAL")?1:0 or [?PIRWg:brightness] < 130)) (set SW01_Sw01 on)(set SW01_Sw01 off)
attr di_Flurlicht do resetwait
attr di_Flurlicht room Flur
attr di_Flurlicht wait 0,180
Ob man da noch Lightscene braucht weiß ich nicht. Ich würde einfach bei motion den Zustand der Lampe abfragen, in ein Reading schreiben, die Lampe hell machen und dann nach 2 min wieder alten Zustand setzen.
Gruß Otto
So also folgendes funktioniert:
define di_Bewegungdraussen DOIF ([HM_554824:state] eq "motion")(set HUEDevice6 pct 100)(set HUEDevice6 pct 30)
attr di_Bewegungdraussen do resetwait
attr di_Bewegungdraussen wait 0,180
ich denke dann sollte auch funktionieren:
define di_Bewegungdraussen DOIF ([HM_554824:state] eq "motion" and [HUEDevice6:state] ne "off") )(set HUEDevice6 pct 100)(set HUEDevice6 pct 30)
attr di_Bewegungdraussen do resetwait
attr di_Bewegungdraussen wait 0,180
Teste ich gleich durch "gefaktes" Anschalten der Lampe. Was ich mich noch frage. Was passiert jetzt nachts, wenn sagen wir mal jemand 10 min im Bewegungsmelder rumläuft? Der meldet ja bei EINER Bewgung eine gewissen Zeit lang "motion" und dann fährt die Lampe nach 180s zurück wenn keine Bewgung mehr ist. Was aber wenn weiterhin Bewegung herscht. Verlängert dann der Bewgungsmelder die Zeit? Ergo würde nach 3 minuten das DOIF wieder abfragen und ERNEUT feststellen, dass immer noch Bewegung da ist, kurz ab und sofort wieder aufdimmen? Oder sagt das DOIF nach 3 minuten.. Oh da ist immer noch motion ich geh aus weil sich nichts an der Anfangsbedingung geänert hat. (was eher fatal wäre) DANKE
Deswegen ist der Attribut do resetwait da. Jedes mal wenn der Bewegungsmelder ein Event "motion" schickt, wird neu gezählt.
Zitat von: amenomade am 25 Juni 2019, 20:09:29
Deswegen ist der Attribut do resetwait da. Jedes mal wenn der Bewegungsmelder ein Event "motion" schickt, wird neu gezählt.
okay, danke verstehe ich. Also macht es Sinn die register so einzustellen das auch während der "motion" Zeit eine Motion gemeldet wird. ("captInInterval" on") ?
Ich weiss nicht genau wie dein Bewegungsmelder funktioniert, aber mit diesem DOIF brauchst Du ja Events innerhalb der 180 Sekunden, um den Timer zu resetten
Wenn dein Bewegungsmelder aber den Zustand "on" behaltet, bis es tatsächlich keine Bewegung mehr gibt, kannst Du auch dein DOIF anders schreiben:
define di_Bewegungdraussen DOIF ([HM_554824:state] eq "motion")(set HUEDevice6 pct 100)
DOELSE (set HUEDevice6 pct 30)
attr di_Bewegungdraussen wait 0:180 #Achtung, hier Doppelpunkt und nicht mehr Koma
Hi,
ich habe lediglich das Register minInterval auf 120 gesetzt (ist 240 glaube ich per Standard). Damit ist gewährleistet, dass innerhalb der 180 sec ein reset des wait statt findet wenn sich einer bewegt. Gefühlt, funktioniert das bei mir seit Jahren genauso wie ich dachte.
Gruß Otto
DANKE