Licht mit on for timer und Bewegungsmelder schalten

Begonnen von visionsurfer, 01 März 2019, 22:11:35

Vorheriges Thema - Nächstes Thema

visionsurfer

Hallo,

ich plane ein Licht durch einen Bewegungsmelder zu schalten. Es soll ein Nachtlicht sein. Ich habe überall in jedem Zimmer Präsenzmelder in der Decke.
Die Idee ist es das Licht mit on for timer schalten zu lassen, weil es dann nach einem fest hinterlegten Wert wieder ausgeht.

Der Bewegungsmelder ist einfach an ein ON und OFF gebunden.

Also Bewegung wird erkannt. Status wechselt auf on. Dann lasse ich mit einem DOIF und on for timer das Licht z.B. 10 Minuten anschalten. Soweit klar.
Ich möchte das Licht über 2 Bewegungsmelder schalten. Flur und Kinderzimmer. Wir gehen Nachts vom Schlafzimmer ins Kinderzimmer um z.B. das Kind zu wickeln. Wird im Flur oder im Kinderzimmer nachts Bewegung erkannt, schaltet Licht ein.

Nur wie verhält sich das ganze, wenn das Licht an ist und in der Zwischenzeit wieder neu Bewegung erkannt wird.

Beispiel:
Wir verlassen das Schlafzimmer, im Flur wird Bewegung erkannt, Licht schaltet an für sagen wir mal 15 Minuten. Nun sind wir 10 Minuten im Kinderzimmer. In der Zwischenzeit ist Bewegungsmelder im Flur wieder auf OFF gegangen, weil ja im Flur keine Bewegung mehr ist. Durch den Weg vom Kinderzimmer wieder zurück ins Schlafzimmer kommt aber wieder Bewegung in den Flur und der Bewegungsmelder wird wieder ausgelöst. Startet der on for timer Ablauf vom Licht dann wieder von vorne ? Also obwohl das Licht nur noch 5 Minuten hätte an sein sollen ? Wenn er wieder von vorne startet, wäre das Licht ja die ersten 10 Minuten an gewesen und dann noch mal 15 Minuten ?

Oder ist nach dem ersten Start von on for timer definitiv das Licht wieder aus und es würde erst wieder ab dem Moment durch eine neue Bewegung an gehen ?

Ich hoffe ihr versteht halbwegs was ich meine :)

Grüße,
Visionsurfer

Otto123

Hallo,

on-for-timer wird meines Wissens neu gesetzt. Könnte vom Device aber auch unterschiedlich implementiert sein.

Was genau willst Du erreichen? Eventuell kannst Du abfragen ob on-for-timer aktiv ist und entsprechend reagieren. Bei Homematic geht das.

Gruß Otto
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

Ellert

Du kannst ein DOIF so konfigurieren, dass es nach der festen Zeit (wait) schaltet und dann wieder neu oder dass der Timer (wait mit resetwait) verlängert wird, dann ohne on-for-timer über eine Sequenz.

(<trigger>) (set lamp on) (set lamp off)
wait 0,900
do resetwait

Sammy_80

Hi,

das ganze ist einfacher mit einem notify lösbar:

define Licht_Flur_schalten notify Pira_Flur:on set Licht on-for-timer 60

Alternativ geht auch:
define Licht_Flur_schalten notify Pira_Flur set Licht on-for-timer 60

Das notify löst bei jedem Bewegungsmelder-Event aus und sendet on-for-timer neu - das heißt die Ausschaltzeit verlängert sich wieder auf den gesetzten Wert.

Einziger Nachteil - die Funklast ist etwas höher, aber die Lampe wird durch den on-for-timer sicher abgeschaltet.

Viel Erfolg!
Michael

Gesendet von meinem SM-G930F mit Tapatalk


Ellert

Zitat von: Sammy_80 am 02 März 2019, 07:37:37
Hi,

das ganze ist einfacher mit einem notify lösbar:

define Licht_Flur_schalten notify Pira_Flur:on set Licht on-for-timer 60

Alternativ geht auch:
define Licht_Flur_schalten notify Pira_Flur set Licht on-for-timer 60

Das notify löst bei jedem Bewegungsmelder-Event aus und sendet on-for-timer neu - das heißt die Ausschaltzeit verlängert sich wieder auf den gesetzten Wert.

Einziger Nachteil - die Funklast ist etwas höher, aber die Lampe wird durch den on-for-timer sicher abgeschaltet.

Viel Erfolg!
Michael

Gesendet von meinem SM-G930F mit Tapatalk
Dies
Zitaton-for-timer wird meines Wissens neu gesetzt. Könnte vom Device aber auch unterschiedlich implementiert sein.
ist dennoch zu berücksichtigen.

Sammy_80

Entscheide selbst,

Antwort von Ellert ist nützlich:

( ) Ja
( ) Nein.



Gesendet von meinem SM-G930F mit Tapatalk


visionsurfer

Guten Morgen,

danke für die bisherigen Antworten.

Hier noch mal der genaue Hintergrund:
Wir erwarten Nachwuchs. Nun gehen wir Nachts zum Wickeln vom Kind, ins Kinderzimmer. Den Weg ins Kinderzimmer möchte ich dann automatisch beleuchtet haben. Da wir über unsere KNX Ausstattung in jeder Decke einen Präsenzmelder haben, wollte ich das dazu nutzen. Grundsätzlich alles kein Problem. Aber ich bin mir noch unschlüssig über die Details. Wir haben also im Flur und im Kinderzimmer jeweils einen Präsenzmelder.

Schlafzimmer Tür auf, Flur betreten. Flur erkennt Bewegung und schaltet sofort verschiedene Lichter, über den Flur geht es ins Kinderzimmer. Hier erkennt der Präsenzmelder auch Bewegung. Kind ist fertig gewickelt, man geht wieder zurück ins Schlafzimmer. Tür zu. Lichter sollen wieder ausgehen. So passiert es wahrscheinlich mehrfach in der Nacht :)

Nun gibt es verschiedene Möglichkeiten:

1. Ich nutze nur den Bewegungsmelder im Flur. Weil man muss für "Hin und Rückweg" definitiv durch den Flur. Ich lasse also den Bewegungsmelder im Kinderzimmer völlig außer acht und schalte die on for timer Zeit einfach lange genug, damit man nicht plötzlich in der Dunkelheit steht. Wenn aber irgendwas unvorhersehbares passiert, dann wird einfach "stumpf" das Licht ausgeschaltet.

2. Ich trigger Bewegung im Flur UND im Kinderzimmer. Das heißt ich lasse solange da irgendwo Bewegung erkannt ist, immer den on for timer Wert neu setzen. Irgendwann wird ja bei beiden Bewegungsmelder keine Bewegung mehr erkannt und dann sollte der on for timer Wert "auslaufen". Problem ist, dass eventuell das Licht dann sehr lange läuft. Weil der letzte trigger ist halt Bewegungsmelder im Flur, bevor man wieder ins Schlafzimmer geht. Wenn bei dieser Erkennung der on for timer wieder von vorne beginnt, läuft das Licht relativ lange nach, was ja nicht sein muss.

Somit bin ich unschlüssig, ob on for timer überhaupt das richtig ist oder ich doch lieber auf Basis der Werte ( ON und OFF) vom Bewegungsmelder arbeite. Die Bewegungsmelder schalten den Status ON und liefern dann auch nach einer gewissen Zeit, wenn keine Bewegung erkennt ist ein OFF. Leider gibt es auch hier einen "MINI Nachteil". Sitzt man z.B. mit dem Kind noch kurz im Hinterzimmer auf dem Sessel und hat quasi nur sehr kleine oder gar keine Bewegung, dann kann es sein, dass der Bewegungsmelder ein OFF liefert und zack ist das Licht aus. Klar muss man dann nur kurz winken, aber auch nicht richtig coole Lösung :)

So die Qual der Wahl. Was meint ihr ?
Ich fand die Lösung mit on for timer ganz cool, weil ich da nicht groß was bauen muss, mit schalte Licht ON und schalte Licht OFF. Das erledigt ja der on for timer automatisch, wenn ich es richtig verstanden habe. Daher finde ich das ganz cool. Aber bin mir unschlüssig.

Grüße,
Visionsurfer


Sammy_80

Hallo,

so geschehen muss ich Ellert doch recht geben - die Frage ist, ob Dein Licht-Aktor überhaupt >on-for-timer< kennt. Homematic und FS20 sicher. Die Frage wäre also, wie Dein Licht eingeschalten wird. Passiert das auch über KNX?

Zu Deinen anderen Fragen:

Bei automatisch geschalteten Licht gehst Du immer einen Kompromiss ein. Das Licht ist tendenziell zu lange an, dafuer stehst Du aber nicht ploetzlich im Dunkeln.

Um das ganze smarter (und damit komplizierter) zu machen, muss Du Dir eine ausgefallene Logik bauen. Dafuer muss Du dedektieren, wo sich die Bewohner (wahrscheinlich) aufhalten. Und wenn der letzte Ausloeser innerhalb einer Minute im Schlafzimmer war - dann bist Du   wahrscheinlich auf dem Rueckweg ins Bett und das Licht kann frueher aus. ABER wehe, Dein Frau loest den Melder im Schlafzimmer einmal aus -  dann stehst Du ploetzlich im Dunklen, weil das System, entsprechend der Logik was anderes vermutet.

Ich wuerde einfach das Licht etwas laenger anlassen und mit der Zeitspanne etwas spielen.

Schoene Gruesse,
Michael

Gesendet von meinem SM-G930F mit Tapatalk


visionsurfer

Hi,

die Lichter schalten alle über KNX. Die haben ein ganz normalen ON und OFF. Ich dachte das on for timer quasi mit jedem Device geht. Dann muss ich da noch mal schauen.

Mein Gefühl sagt mir, dass ich vielleicht doch dann ein bisschen "aufwendiger" was machen muss.

Eher nach dem Motto: Wenn Bewegungsmelder_Flur ODER Bewegungsmelder_Kind ist ON, dann Licht ON.
Dazu dann umgekehrt: Wenn Bewegungsmelder_Flur UND Bewegungsmelder_Kind is OFF, dann Licht OFF.

Ich glaube fast, dass ist der beste Weg. Muss ich nur noch schauen, wie ich das in ein Notify oder ein DOIF gepackt bekomme, bzw. was ich genau nutze.

Grüße,
Visionsurfer

pc1246

Moin
Kurze Verstaendnisfrage. Ein Praesenzmelder detektiert doch eigentlich keine Bewegung, sondern Anwesenheit. (Wie auch immer das funktioniert.) Somit muss doch eigentlich nur eine kleine Nachlaufzeit definiert werden, um ein kurzes Verlassen des Melders zu ueberbruecken.
Gruss Christoph
HP T610
Onkyo_AVR;Enigma2; SB_Server; SB_Player; HM-USB; PhilipsTV; harmony hub; Jeelink mit PCA301; Somfy; S7-300; LGW; HUE; HM-IP auf Charly; div

visionsurfer

Hi,

ja den 100% genauen Unterschied weiß ich auch nicht. Bei uns hängen die in der Decke. Ich glaube die arbeiten quasi mehr mit dem "Wärmebild" oder so, also nur ein stumpfer Bewegungsmelder. Daher bleibt z.b. auch die Präsenz geschaltet, wenn man auf der Couch sitzt. Ob das 100% alles so klappt, haben wir noch nicht getestet.

Eine Gewisse "Nachlaufzeit" haben die Teile schon von sich aus. Wie gesagt läuft das über unseren KNX Bus. Ich habe in FHEM einfach mal an die KNX Adresse ein Lampensymbol mit ON und OFF gehangen. Wenn ich also durch den Raum gehe, springt die Lampe sofort ON = Bewegung erkannt. Wenn ich aber den Raum verlasse, dann bleibt die Lampe noch ca. 1-2 Minuten ON, bis sie auf OFF wechselt.
Ich bin mir nicht 100% sicher, aber ich glaube die Verzögerung ist quasi im KNX Gerät schon so hinterlegt. Grundsätzlich ja auch in Ordnung so, bzw. ich denke damit kann man gut arbeiten.

Muss nur überlegen wie.

Grüße,
Visionsurfer

visionsurfer

Hi,

geht schon gut los. Ich dachte es wäre relativ einfach. Aber scheinbar doch nicht. Im meinem Leichtsinn habe ich das ganze nun erst mal so gebaut:


([praesenz_tv:"on"] or [Praesenz_Buero:"on"])
   (set licht_wand value 25) 
DOELSEIF     
([praesenz_tv:"off"] and [Praesenz_Buero:"off"])   
(set licht_wand AUS)


Die Lampe schaltet auch wunderbar ein, wenn der Bewegungsmelder irgendwo ON geht.
Nur wenn die Bewegungsmelder beide OFF sind, geht das Licht nicht aus.

State vom DOIF bleibt weiterhin bei cmd_1 stehen.

Hab ich da einen Denkfehler ? Normal müsste es doch total simple sein ? Oder muss da noch irgendein Attribut eingebaut werden, dass es weiterläuft ?

Grüße,
Visionsurfer

CoolTux

Du Triggerstraße auf Events. Zwei Events können nicht gleichzeitig auf treten. Mach aus dem einen eine Abfrage dann geht's.
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

binford6000

Hallo Visionsurfer,
schau dir das mal an: https://wiki.fhem.de/wiki/Modul_HOMEMODE#HomeCMDmotion

Geht natürlich auch als einfaches notify auf die Präsenzmelder. Ist auch alles ganz gut kommentiert.
Habe das seit über einem Jahr erfolgreich im Einsatz.

VG Sebastian

netsrac4th

Hab es mit DOIF gemacht und die Verlängerung des Timers funktioniert wunderbar.

define Bad_Auto DOIF ([Bad.Motion:"motion"]
(set Bad.Spiegel on, set ECHO_G090LF1174660LPH tunein s17494)
(set Bad.Spiegel off, set ECHO_G090LF1174660LPH pause)
attr Bad_Auto do resetwait
attr Bad_Auto wait 0,120