Bewegungsmelder rule

Einrichtung der openHAB Umgebung und allgemeine Konfigurationsthemen.

Moderatoren: seppy, udo1toni

galaxisspatz
Beiträge: 93
Registriert: 28. Jun 2020 19:42
Answers: 1

Bewegungsmelder rule

Beitrag von galaxisspatz »

Moin,
ich habe die folgende Regel

Code: Alles auswählen

var Timer FlurUnten_timer = null

rule "Flur unten Bewegung"

when
   Item FlurUntenBewegungPresence changed to ON  
then
    FlurUnten_timer?.cancel
    if (ShellyFlurUntenLichtRelayOutput.state == ON)
        FlurUnten_timer = createTimer(now.plusSeconds(100), [| 
        ShellyFlurUntenLichtRelayOutput.sendCommand(OFF)
      ])
        
end 
Der Shelly ( ShellyFlurUntenLichtRelayOutput) soll 100s nach der letzten Meldung ON des Bewegungsmelders ausgehen. Das geht auch super, jetzt habe ich aber festgestellt das es passieren kann das der Bewegungsmelders nicht auslöst. Wie bekomme ich die den Shelly nach 100s aus? Kann mir da bitte jemand helfen? Danke

Gruß
Olaf
OH 4 auf dem Raspberry 3b

EmptySoft
Beiträge: 247
Registriert: 7. Jan 2020 14:45
Answers: 2
Kontaktdaten:

Re: Bewegungsmelder rule

Beitrag von EmptySoft »

Was ist, wenn Du im Shelly einstellst, dass er nach 100 Sekunden ausschaltet?
BYe
Harald

galaxisspatz
Beiträge: 93
Registriert: 28. Jun 2020 19:42
Answers: 1

Re: Bewegungsmelder rule

Beitrag von galaxisspatz »

Hallo Harald,
dann habe ich aber keine Bewegungsüberwachung.
OH 4 auf dem Raspberry 3b

Benutzeravatar
udo1toni
Beiträge: 15269
Registriert: 11. Apr 2018 18:05
Answers: 245
Wohnort: Darmstadt

Re: Bewegungsmelder rule

Beitrag von udo1toni »

Warum schränkst Du den Timer überhaupt ein? Das Problem ist eher der Trigger:

Code: Alles auswählen

var Timer tFlurUnten = null

rule "Flur unten Bewegung"
when
    Item FlurUntenBewegungPresence received update ON  
then
    if(ShellyFlurUntenLichtRelayOutput.state != ON)
        ShellyFlurUntenLichtRelayOutput.sendCommand(ON)
    tFlurUnten?.cancel
    tFlurUnten = createTimer(now.plusSeconds(100), [| 
        if(ShellyFlurUntenLichtRelayOutput.state != OFF)
            ShellyFlurUntenLichtRelayOutput.sendCommand(OFF)
    ])
end 
Jedes Mal, wenn der Bewegungsmelder ein ON sendet, wird das Licht eingeschaltet, falls es aus war. Außerdem wird ein eventuell laufender Timer gestoppt sowie ein neuer Timer angelegt, der nach Ablauf der Zeit das Licht ausschaltet. Wird zwischendurch eine weitere Bewegung erkannt, so triggert die Rule, der laufende Timer wird gelöscht und durch einen neuen ersetzt. Der Timer wird immer angelegt.
openHAB4.3.6 stable in einem Debian-Container (bookworm) (Proxmox 8.4.1, LXC), mit openHABian eingerichtet

galaxisspatz
Beiträge: 93
Registriert: 28. Jun 2020 19:42
Answers: 1

Re: Bewegungsmelder rule

Beitrag von galaxisspatz »

Hallo Udo,
Der Shelly wird über einen Schalter eingeschaltet, die Lampe daran soll nach 100s ausgehen, außer wenn der Bewegungsmelder eine anschlägt. Der Bewegungsmelder soll den Shelly nicht anmachen, sondern nur daran hinder das der Zähler ihn ausmacht.
OH 4 auf dem Raspberry 3b

Benutzeravatar
udo1toni
Beiträge: 15269
Registriert: 11. Apr 2018 18:05
Answers: 245
Wohnort: Darmstadt

Re: Bewegungsmelder rule

Beitrag von udo1toni »

Na dann lässt Du halt den On-Befehl weg.
openHAB4.3.6 stable in einem Debian-Container (bookworm) (Proxmox 8.4.1, LXC), mit openHABian eingerichtet

galaxisspatz
Beiträge: 93
Registriert: 28. Jun 2020 19:42
Answers: 1

Re: Bewegungsmelder rule

Beitrag von galaxisspatz »

Moin,
als Update. Ich hbae jetzt zwei Regln daraus gemacht, so läuft es.

Code: Alles auswählen

var Timer tFlurUnten = null

rule "Flur unten Licht Timer aus"

when
   Item ShellyFlurUntenLichtRelayOutput received command ON  
then
    tFlurUnten?.cancel
    tFlurUnten = createTimer(now.plusSeconds(100), [| 
    ShellyFlurUntenLichtRelayOutput.sendCommand(OFF)
    ])
end  


rule "Flur unten Bewegung"
when
    Item FlurUntenBewegungPresence received update ON  
then
    if(ShellyFlurUntenLichtRelayOutput.state != OFF)
        tFlurUnten?.cancel
        tFlurUnten = createTimer(now.plusSeconds(100), [| 
        if(ShellyFlurUntenLichtRelayOutput.state != OFF)
            ShellyFlurUntenLichtRelayOutput.sendCommand(OFF)
    ])
end 
OH 4 auf dem Raspberry 3b

Benutzeravatar
udo1toni
Beiträge: 15269
Registriert: 11. Apr 2018 18:05
Answers: 245
Wohnort: Darmstadt

Re: Bewegungsmelder rule

Beitrag von udo1toni »

Und was soll das jetzt bringen?
openHAB4.3.6 stable in einem Debian-Container (bookworm) (Proxmox 8.4.1, LXC), mit openHABian eingerichtet

galaxisspatz
Beiträge: 93
Registriert: 28. Jun 2020 19:42
Answers: 1

Re: Bewegungsmelder rule

Beitrag von galaxisspatz »

Hallo Udo,
das ganze soll die Flurbeleuchtung (dieser ist ein langer Schlauch der am Ende um eine Ecke geht in der die Jacken hängen) sein, leider wird hier oft vergessen das Licht auszumachen. Darum der Timer, beim An/Ausziehen kann es schon mal etwas länger dauern (4 Kinder + 2 Erwachsene), solange Bewegung vom Bewegungsmelder registriert wird bleibt das Licht jetzt auch an und man steht nicht im dunkeln.

Gruß
Olaf
OH 4 auf dem Raspberry 3b

Benutzeravatar
udo1toni
Beiträge: 15269
Registriert: 11. Apr 2018 18:05
Answers: 245
Wohnort: Darmstadt

Re: Bewegungsmelder rule

Beitrag von udo1toni »

Ich präzisiere die Frage: Was bringen Deine zwei Rules für einen Vorteil gegenüber meiner einen Rule?
openHAB4.3.6 stable in einem Debian-Container (bookworm) (Proxmox 8.4.1, LXC), mit openHABian eingerichtet

Antworten