Aktion wenn Bewegungsmelder für eine bestimmte Zeit keine Bewegung mehr wahrnimmt

460 views
Skip to first unread message

amdamdes

unread,
Oct 19, 2012, 8:25:25 PM10/19/12
to fhem-...@googlegroups.com
Hallo zusammen, 

kurze Frage, worauf ich hier leider (noch) keine Antwort finden kann. 

Ich habe einen FS20 PIRI-2-KU Bewegungsmelder und möchte, dass eine Aktion ausgelöst wird, wenn der Bewegungsmelder 30 Minuten lang keine Bewegungen mehr wahrgenommen hat (ergo, der Raum wurde verlassen). 

Hat jemand eine Idee, wie ich das realisieren kann?

Danke!
Richie

Rudolf Koenig

unread,
Oct 20, 2012, 3:14:53 AM10/20/12
to fhem-...@googlegroups.com
> Hat jemand eine Idee, wie ich das realisieren kann?

http://fhem.de/commandref.html#watchdog

dou...@gmx.de

unread,
Oct 20, 2012, 3:16:41 AM10/20/12
to fhem-...@googlegroups.com


...hab ich mit einem at gemacht, das bei einer Bewegung gesetzt (und bei jeder weiteren re-triggert wird). Der Timer läuft dann irgendwann ab und voila hast du deine Aktion.

So in der Art:

if(Value("Bewegungsmelder_reset")) { 
      fhem ("delete Bewegungsmelder_reset") 
   };
  fhem ("define Bewegungsmelder_reset at +00:30:00 set MansCave_Bewegungsmelder_Oben off");

Zrrronggg!

unread,
Oct 20, 2012, 12:34:40 PM10/20/12
to FHEM users
Ich setze beide hier genannten Methoden (Watchdog und ein und
Konstrukt ähnlich dougies) ein, mit beiden kommt man zum Ziel, welche
besser passt hängt von den Details ab.

dougies Methode verwende ich immer, wenn eine Auslösung irgendetwas um
jedesmal x Minuten verlängern soll. (Immer noch jemand im Zimmer,
Licht nochmal 5 Minuten an lassen)

watchdog, wenn was machen will, wenn das letzte Ereigniss xy Zeit
zurück liegt. (Sendet das FHT noch?)

Ich wollte demnächst mal (für mich) untersuchen, ob watchdog nicht
auch im ersten Fall die bessere Wahl (weniger Code und weniger
Fehlermeldungen im Log) ist.

amdamdes

unread,
Oct 24, 2012, 4:44:48 PM10/24/12
to fhem-...@googlegroups.com
Hallo, 

besten Dank für Eure Hilfe. Ich habe nun eine watchdog-Lösung implementiert. Weiss nicht ob die wirklich gut ist, aber sie funktioniert ausgezeichnet. 

Im Wohnzimmer sollen bestimmte Lichter bei Betreten angehen und dann nach 9, 30 oder 55 Minuten keiner Bewegung wieder ausgehen. Das ganze Abhängig davon, ob es Tag oder Nacht ist. 

Hier mein Code (falls jemand Interesse an dem hat... ):

Auf dem Bewegungsmelder selbst:

wz_bmk2 {
if(Value("wz_kamin") eq "off"){fhem("set wz_kamin on")};;
if (Value("wz_aquarium") eq "off"){fhem("set wz_aquarium on")};;
if (Value("wz_deckenlampe") eq "off"){fhem("set wz_deckenlampe on")};;

if (isday()){if(Value ("wz_watchdog10") eq "triggered"){fhem("trigger wz_watchdog10 .")};;fhem("trigger wz_watchdog10 .");;}

if(Value ("wz_watchdog30") eq "triggered"){fhem("trigger wz_watchdog30 .")};;
fhem("trigger wz_watchdog30 .");;

if(Value ("wz_watchdog55") eq "triggered"){ fhem("trigger wz_watchdog55 .")};;
fhem("trigger wz_watchdog55 .");;

if(ReadingsVal ("wz_heizung","measured-temp", 22) < 21){fhem("set wz_heizung desired-temp 21")};;
}

Und der Code des watchdog30 als Beispiel:

wz_bmk2 00:30:00 SAME {

if (Value("wz_kamin") eq "on"){fhem("set wz_kamin off");;}
if (Value("wz_deckenlampe") eq "on"){fhem("set wz_deckenlampe off");;}
if (Value("wz_lampe2") eq "on"){fhem("set wz_lampe2 off");;}
if (Value("wz_lampe1") ne "off"){fhem("set wz_lampe1 dim37%");;}
fhem("set wz_heizung desired-temp 19");;
}

Grüsse!
Richard
Reply all
Reply to author
Forward
0 new messages