[Gelöst] Lichtschaltung Bewegungsmelder on-for-timer verlängern

Begonnen von thgorjup, 05 März 2017, 20:29:20

Vorheriges Thema - Nächstes Thema

thgorjup

Hallo,
ich habe einen einfachen PIR der nur Bewegung erkennt, also keine Helligkeitsmessung hat wie beim Homematic Bewegungsmelder.
Dazu eine Philips HUE Birne und schalte das Flur-Licht bei Bewegungserkennung ein, wenn es draußen dunkel geworden ist.
Das funktioniert auch wunderbar, doch wenn man sich länger als 45 Sekunden im Flur aufhält (auch bewegt), geht das Licht wieder aus und man muss mit den Armen wedeln, damit es wieder an geht. Besteht die Möglichkeit den Timer während des eigentlichen Timerablaufs zu verlängern?

Hier mein Code:

define not_FlurLichtAn1 notify AliRF_03E7DC:motion.* {fhem ("set HUEGroup2 on-for-timer 45") if ( ReadingsNum("HUEGroup2","any_on","") == 0 && ReadingsNum("myTwilight","twilight","") < 80)}


Danke und Gruß
Thomas
FHEM auf Ubuntu 18.04LTS, 2x nanoCUL, JeeLink, nanoPIR, MQTT, ESP-Easy, HUE.
Sensoren+Aktoren: HM, IT, Lacrosse, Multitrade-PIR, VU+, Somfy

Damian

Zitat von: thgorjup am 05 März 2017, 20:29:20
Hallo,
ich habe einen einfachen PIR der nur Bewegung erkennt, also keine Helligkeitsmessung hat wie beim Homematic Bewegungsmelder.
Dazu eine Philips HUE Birne und schalte das Flur-Licht bei Bewegungserkennung ein, wenn es draußen dunkel geworden ist.
Das funktioniert auch wunderbar, doch wenn man sich länger als 45 Sekunden im Flur aufhält (auch bewegt), geht das Licht wieder aus und man muss mit den Armen wedeln, damit es wieder an geht. Besteht die Möglichkeit den Timer während des eigentlichen Timerablaufs zu verlängern?

Hier mein Code:

define not_FlurLichtAn1 notify AliRF_03E7DC:motion.* {fhem ("set HUEGroup2 on-for-timer 45") if ( ReadingsNum("HUEGroup2","any_on","") == 0 && ReadingsNum("myTwilight","twilight","") < 80)}


Danke und Gruß
Thomas

ja, siehe Nachbildung  eines on-for-timers: https://fhem.de/commandref_DE.html#DOIF_Weitere_Anwendungsbeispiele
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

betateilchen

Zitat von: thgorjup am 05 März 2017, 20:29:20
Besteht die Möglichkeit den Timer während des eigentlichen Timerablaufs zu verlängern?

Einfach die Lampe wieder mit on-for-timer 45 schalten, dann beginnen die 45 Sekunden von vorne.
Habe ich bei mir im Flur (mit 60 Sekunden) und das funktioniert hervorragend.

Das Problem in Deinem notify dürfte sein, dass Du mit any_on in der Gruppe prüfst, ob schon eingeschaltet ist - das blockiert diese Logik vermutlich.
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

thgorjup

#3
Danke Damian, ich habe die on-for-time Nachbildung umgesetzt. Das geile ist, man kann problemlos 15 Sekunden einstellen, ohne dass das Licht zu kurz an ist.

Falls jemand genau das braucht:

defmod not_FlurLichtAn DOIF ([AliRF_03E7DC:"motion"] && [myTwilight:twilight] < 80 && [HUEGroup2:any-on] == 0) (set HUEGroup2 on) (set HUEGroup2 off)
attr FlurLichtAn do resetwait
attr FlurLichtAn wait 0,15


@Betateilchen: Danke, aber o.g. hab ich gerade umgesetzt und bin damit zufrieden.
FHEM auf Ubuntu 18.04LTS, 2x nanoCUL, JeeLink, nanoPIR, MQTT, ESP-Easy, HUE.
Sensoren+Aktoren: HM, IT, Lacrosse, Multitrade-PIR, VU+, Somfy

Damian

Zitat von: thgorjup am 05 März 2017, 21:06:19
Danke Damian, ich habe die on-for-time Nachbildung umgesetzt. Das geile ist, man kann problemlos 15 Sekunden einstellen, ohne dass das Licht zu kurz an ist.

Falls jemand genau das braucht:

defmod not_FlurLichtAn DOIF ([AliRF_03E7DC:"motion"] && [myTwilight:twilight] < 80 && [HUEGroup2:any-on] == 0) (set HUEGroup2 on) (set HUEGroup2 off)


@Betateilchen: Danke, aber o.g. hab ich gerade umgesetzt und bin damit zufrieden.

Nur mal zur Info: Im Unterschied zum wiederholenden Senden des on-for-timer-Befehls, findet hier bei Bewegung kein wiederholendes Senden eines Befehls statt- das schont deine credits ;)
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

justme1968

bei hue/zigbee lampen gibt es keine credits. du kannst so lange und so oft senden wie du willst.
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

betateilchen

-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!