Seite 1 von 2

Bewegungsmelder rule

Verfasst: 2. Jan 2021 21:20
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

Re: Bewegungsmelder rule

Verfasst: 2. Jan 2021 21:24
von EmptySoft
Was ist, wenn Du im Shelly einstellst, dass er nach 100 Sekunden ausschaltet?

Re: Bewegungsmelder rule

Verfasst: 2. Jan 2021 21:30
von galaxisspatz
Hallo Harald,
dann habe ich aber keine Bewegungsüberwachung.

Re: Bewegungsmelder rule

Verfasst: 2. Jan 2021 23:22
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.

Re: Bewegungsmelder rule

Verfasst: 3. Jan 2021 00:03
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.

Re: Bewegungsmelder rule

Verfasst: 3. Jan 2021 01:49
von udo1toni
Na dann lässt Du halt den On-Befehl weg.

Re: Bewegungsmelder rule

Verfasst: 4. Jan 2021 10:36
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 

Re: Bewegungsmelder rule

Verfasst: 4. Jan 2021 19:30
von udo1toni
Und was soll das jetzt bringen?

Re: Bewegungsmelder rule

Verfasst: 8. Jan 2021 17:27
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

Re: Bewegungsmelder rule

Verfasst: 9. Jan 2021 00:33
von udo1toni
Ich präzisiere die Frage: Was bringen Deine zwei Rules für einen Vorteil gegenüber meiner einen Rule?