Licht so lange an bus keine Bewegung mehr erkannt wird

Begonnen von Badflex, 30 September 2022, 18:17:57

Vorheriges Thema - Nächstes Thema

Badflex

Hallo,
Habe auf einer ander seite eine Definition gefunden die ih genauso mit meinem Traffri Bewegungsmelder und meinen Hue Lampen realisieren wollte. Aber irgendwie klappt das so nicht.

Könnt uhr mir sagen waraum nicht.
Der code au dem Beispiel sieht so aus:

define BewegungUhrzeit dummy


# GPIO Pin21 für Bewegung definieren
define RPIPin21 RPI_GPIO 21
attr RPIPin21 direction input
attr RPIPin21 interrupt both


# Auf Bewegung reagieren
define act_on_BewegungGPIO notify RPIPin21 {\
  if ("$EVENT" ne "off") {\
    fhem("set BewegungUhrzeit ".time().";;");;\
    fhem("set Lampe on;;");;\
    fhem("set recheck on;;");;\
  }\
}


define recheck dummy


define act_on_recheck notify recheck {\
  if ("$EVENT" ne "off") {\
    if(Value('bewegungcheck') ne '') { fhem("delete bewegungcheck;;");; }\
    fhem("define bewegungcheck at +00:00:45 { if(ReadingsVal('BewegungUhrzeit', 'state', '') < (time() - 60)) { fhem(\"set Lampe off;;;; delete bewegungcheck;;;; set recheck off;;;;\");;;; } else { fhem(\"set recheck on;;;;\");;;; } }");;\
  }\
}


Bei mir sieht das so aus:
define BewegungUhrzeit dummy

define recheck dummy

define Kueche_Bewegungslicht notify HUESENSOR8 {\\
  if ("$EVENT" ne "motion") {\\
    fhem("set BewegungUhrzeit ".time().";;;;");;;;\\
    fhem("set Arbeitslicht on;;;;");;;;\\
    fhem("set recheck on;;;;");;;;\\
  }\\
}

define act_on_recheck notify recheck {\
  if ("$EVENT" ne "off") {\
    if(Value('bewegungcheck') ne '') { fhem("delete bewegungcheck;;;;");;;; }\
    fhem("define bewegungcheck at +00:00:45 { if(ReadingsVal('BewegungUhrzeit', 'state', '') < (time() - 60)) { fhem(\"set Arbeitslicht off;;;;;;;; delete bewegungcheck;;;;;;;; set recheck off;;;;;;;;\");;;;;;;; } else { fhem(\"set recheck on;;;;;;;;\");;;;;;;; } }");;;;\
  }\
}


Gehen tut es aber nicht:(
Raspberry Pi, CUL868(SlowRF), FB 7490, SmartVisu, fast nur HomeMatic wenig FS20, Netatmo

betateilchen

ohne die Verwendung von Code-Tags in Deinem Beitrag wird das auch nix werden...

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

betateilchen

In welchen Abständen meldet Dein Bewegungsmelder denn eine erkannte Bewegung?

Die Logik ist doch relativ einfach.

Angenommen, Dein BM meldet alle 60 Sekunden, dann musst Du nur dafür sorgen, dass das Licht für 65 Sekunden angeschaltet wird.

define bm_notify notify bewegungsmelder:motion set licht on-for-timer 65

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