Hi liebe FHEM-Community,
ich habe an meinem Raspberry 2 PIRs per GPIO nageschloßen und diese in einem dummy "zusammengefasst", wenn einer der beiden BEwegungsmelder auf high ist der geht der dummy an und wenn keiner der beiden PIRs high ist ist der dummy aus.
Nun folgende Idee:
Wenn es zwischen 6:15Uhr und 6:45Uhr ist und der Bewegungsmelder für 5 min kein einziges mal an war, dann soll die Stehlamep ausgeschaltet werden, wenn in dem Zeitraum der Bewegungsmelder nie 5 min am Stück auf off war soll die Stehlampe um 6:45Uhr ausgeschaltet werden. ;D
Wie kann man das jetzt in einem notify lösen ? ???
Mfg
Philipp :)
Keiner eine Idee?
:-\
schau dir das watchdog modul an. Dummy erstellt keine events aber das sollte per structure möglich sein. Die Zeitauswertung .... 6:15 <= zeit <=6:45 musst halt per if / doif machen. Die einzelnen Befehle findest in der commandref.
Wie du die GPIO auswertest weiß ich nicht, du musst halt dafür sorgen ein Event zu haben auf dass du reagieren kannst.
Hi,
ich habe mal was rumprobiert und bin so "weit" gekommen: 8)
define Morgens_weg_bewegung watchdog Bewegungsmelder:off.* 00:05:00 Bewegungsmelder:on.* set Stehlampe off ;; set LEDStreifen off ;;sleep 1.0;; set Tischlampe off
Jetzt soll das ber nur in einem Zeitraum zwischen 6 Uhr und 6:40 Uhr stattfinden und um 6:41 Uhr soll, egal was ist, "set Stehlampe off ;; set LEDStreifen off ;;sleep 1.0;; set Tischlampe off" ausgeführt werden.
Ich komme da nicht weiter, ich weiß nicht genau wie ich sowas mit einem DOIF realisieren soll. :-[
Mfg
Philipp ;D
Würde mich über jede Hilfe freuen :D
Zitat von: kadettilac89 am 30 November 2016, 18:40:52
schau dir das watchdog modul an. Dummy erstellt keine events aber das sollte per structure möglich sein. Die Zeitauswertung .... 6:15 <= zeit <=6:45 musst halt per if / doif machen. Die einzelnen Befehle findest in der commandref.
Wie du die GPIO auswertest weiß ich nicht, du musst halt dafür sorgen ein Event zu haben auf dass du reagieren kannst.
:-\ Die GPIO-Auswertung funktioniert aber doch schon, denn es wird dadurch der dummy auf on oder off gesetzt.
Und natürlich erzeugt ein dummy auch events beim Setzen, wenn nicht hätte ich manchmal ganz schöne Schwierigkeiten mein Zeug zu testen ;D
Aber ja, mit dem watchdog sollte sich das einfach lösen lassen. Der kennt im Übrigen auch das Attribut DisabledForIntervals, mit dem er sich für den nicht relevanten Zeitraum deaktivieren lässt.
(Wahrscheinlich geht's aber auch irgendwie über DOIF).
Code-Tags würden das ganze auch leserlicher machen 8)
Zitat von: Benni am 11 September 1974, 00:34:49
Aber ja, mit dem watchdog sollte sich das einfach lösen lassen. Der kennt im Übrigen auch das Attribut DisabledForIntervals, mit dem er sich für den nicht relevanten Zeitraum deaktivieren lässt.
(Wahrscheinlich geht's aber auch irgendwie über DOIF).
Danke, das klappt jetzt 8), nur jetzt habe ich noch zwei weitere Fragen ::):
Wie kann ich es machen, dass der watchdog nicht am Wochenende ausgeführt wird?
Ich habe zwei Bewegungsmeldern in einem dummy zusammengefasst, das geht immer in den Zustand "longpress off" zurück, kann ich das irgendwie verhindern?
Mit freundlichen Grüßen
Philipp ;D
define Morgens_weg_bewegung watchdog Bewegungsmelder:off.* 00:05:00 Bewegungsmelder:on.* { set Stehlampe off ;; set LEDStreifen off ;sleep 1.0; set Tischlampe off if(!we) }
Dann bleibt es Wochenende ABER auch Feiertags aus
Zitat von: CoolTux am 05 Dezember 2016, 06:57:15
define Morgens_weg_bewegung watchdog Bewegungsmelder:off.* 00:05:00 Bewegungsmelder:on.* { set Stehlampe off ;; set LEDStreifen off ;sleep 1.0; set Tischlampe off if(!we) }
Dann bleibt es Wochenende ABER auch Feiertags aus
Danke für die Antwort ;D, nur jetzt habe ich 2 Bewegungsmelder, wie kann ich das denn noch einbauen, dass ,wenn beide für 5 min aus sind die Lampen ausgemacht werden?
Sorry, dass ich soviel Frage, nur ich habe keine Ahnung wie ich das realisieren soll. :-[
Mfg
Philipp
Zitat von: kadettilac89 am 30 November 2016, 18:40:52
das sollte per structure möglich sein.
Vielleicht überlesen? Dazu in der commandref noch nach "clientstate_priority" schauen :).
Zitat von: Beta-User am 05 Dezember 2016, 16:44:01
Vielleicht überlesen? Dazu in der commandref noch nach "clientstate_priority" schauen :).
Danke, das hat geklappt!! 8), jetzt läuft alles.
Vielen Dank für eure Hilfe ;)
Mfg
Philipp ;D