Hallo,
ich möchte gerne zwei Bewegungsmelder nutzen, eine Zeitfunktion immer wieder neu zu starten / zurück zu setzen.
Mit dem ersten "Start" durch einen Bewegungsmelder soll eine Aktion, z.B. ein Licht an, gestratet werden.
Einfacher gesagt, ein Licht soll 5min an sein. Immer dann wenn sich etwas bewegt soll die Zeit von neuem beginnen.
Ich habe keine Idee wie so ein, vermutlich sehr einfaches Programm aussieht.
Kann mir jemand helfen?
Schau Dir mal DOIF (http://fhem.de/commandref_DE.html#DOIF) an, in der Befehlsreferenz gibt es bestimmt ein Beispiel.
Etwa so:
([BM:"motion"]) (set lamp on) (set lamp off)
und die Attribute
wait 0,600
do resetwait
Hier noch ein paar Tips: DOIF: Tips leichtere Bedienung Syntaxhervorhebung Klammerprüfung Suchen&Ersetzen (https://forum.fhem.de/index.php/topic,45373.0.html)
define lichtnachbewegung notify bewegungsmeldereinregexp set licht on-for-timer 300
wäre aus meiner Sicht das Einfachste.
Grüße Markus
Zitat von: KölnSolar am 02 Oktober 2016, 20:07:31
define lichtnachbewegung notify bewegungsmeldereinregexp set licht on-for-timer 300
wäre aus meiner Sicht das Einfachste.
Grüße Markus
Hat aber den Nachteil, dass bei jeder Bewegung ein set-Befehl abgesetzt wird.
danke für eure Unterstützung!
define lichtnachbewegung notify bewegungsmeldereinregexp set licht:FILTER=state=off on-for-timer 300
Zitat von: CoolTux am 02 Oktober 2016, 22:23:42
define lichtnachbewegung notify bewegungsmeldereinregexp set licht:FILTER=state=off on-for-timer 300
Diese Lösung hat wiederum den Nachteil, dass die Lampe erst ausgehen muss, bevor die Ausschaltzeit bei Bewegung verlängert wird.
Beide genannten Probleme gibt es beim Vorschlag von Ellert nicht. Hier wird nicht unnötig geschaltet und jede Bewegung verlängert die Ausschaltzeit.
Gruß
Damian
Stimmt hast Recht. Die beste Lösung ist in der Tat die von Ellert.
wenn man DOIF mag :).
sonst ist es auch mit einem einfachen cancel mySleep quiet; set licht:FILTER=state=off on; sleep 300 mySleep; set licht off
im notify getan.
gruss
andre
Kannst das kurz erläutern bitte.
Beende den sleep mySleep wenn quiet? Was heißt hier quiet?
keine meldung wenn es den sleep nicht gibt.
Alles klar, jetzt verstehe ich auch den Zusammenhang. Danke Dir.
ZitatHat aber den Nachteil, dass bei jeder Bewegung ein set-Befehl abgesetzt wird.
und was ist dabei genau der Nachteil oder gar ein "Problem" ?
Ich finde DOIF gut, aber gerade für newbies viel zu komplex und schlecht "lesbar"
der nachteil ist das die funklast steigt. die sollte so weit es geht minimiert werden. ob das ein problem ist hängt davon ab wie viele geräte du hast.
die sleep variante oben sendet auch nur ein mal. ohne DOIF.
Zitat von: KölnSolar am 03 Oktober 2016, 10:06:17
und was ist dabei genau der Nachteil oder gar ein "Problem" ?
Ich finde DOIF gut, aber gerade für newbies viel zu komplex und schlecht "lesbar"
Deine credits, wenn es dir was sagt. Die solltest du bei der vorgeschriebenen 1%-Regel immer im Auge behalten. ;)
Danke.
doch sagt mir was ;) Hab aber nie Probleme damit gehabt. oder liegt das vielleicht daran, dass die 1% nur für 868 MHz gelten oder der von mir genutzte RFXTRX die Regel nicht berücksichtigt ?(sorry, leicht off-topic, aber wenn man mal so viele Experten beisammen hat ;) )
Diese Regel gibt es wohl nur im 868er Bereich soweit mir bekannt
Zitat von: KölnSolar am 03 Oktober 2016, 10:45:04
Danke.
doch sagt mir was ;) Hab aber nie Probleme damit gehabt. oder liegt das vielleicht daran, dass die 1% nur für 868 MHz gelten oder der von mir genutzte RFXTRX die Regel nicht berücksichtigt ?(sorry, leicht off-topic, aber wenn man mal so viele Experten beisammen hat ;) )
Wird wohl so sein. Dennoch sollte man sich immer Gedanken über die "Funklast" machen, denn es ist ja immer wieder ärgerlich, wenn ein Signal aufgrund von Kollisionen nicht durchkommt und je mehr ein FHEM-System wächst, desto höher ist die Wahrscheinlichkeit, dass es passiert.
Gruß
Damian
Gerade bei 443er kann es schnell blockierend sein, siehe viele Beiträge wo die Fernbedienung dauergedrückt war.