Hilfe bei Rule

Themen auf die es innerhalb eines Jahres keine Antwort gab, werden hier archiviert.

Moderatoren: Cyrelian, seppy, udo1toni

Gesperrt
dreamar
Beiträge: 74
Registriert: 22. Dez 2017 08:41
Answers: 0

Hilfe bei Rule

Beitrag von dreamar »

Hallo,

ich habe ein kleines Problem wie ich eine Rule erstellen soll die meine Anforderungen abdeckt.
Ich habe mein Licht im Wohnzimmer mit einem Shelly an die Helligkeit draußen in Verbindung mit der Fritzbox Anwesenheit gekoppelt.
Und zwar wie folgt:

Draußen ist eine Helligkeit von 15 lux = Licht an wenn jemand da ist
Wenn ich dann abends das Licht per Schalter aus mache = Licht aus und nicht mehr automatisch an

Das funktioniert auch alles, außer bei folgender Konstellation:

Ich mache um 18:00 Uhr das Licht per Schalter an (Rule ist noch nicht durchgelaufen = nCount ist 0)
Mache um 21:00 Uhr das Licht per Schalter aus und gehe ins Bett
Beim nächsten Update der Helligkeit geht das Licht alleine durch die Rule an.
Wie kann man verhindern das in diesem Fall das Licht wieder alleine an geht?

Hier meine bisherige Rule:

Code: Alles auswählen

var Number nCount = 0

rule "Wenn Andre da und dunkel dann Licht an"
when 
    Item phoscon_Bewegungsmelder_lightlux received update
then 
    val lux = (phoscon_Bewegungsmelder_lightlux.state as QuantityType<Number>).floatValue
    if (lux < 15 && Licht_Fernseher.state == OFF && Anwesenheit_Andre.state == OPEN && now.getHourOfDay() >= 16 && nCount == 0){
         Licht_Fernseher.sendCommand(ON)
         Lichtband_An.sendCommand(ON)
         nCount = 1
    }
end


rule "Wenn Miriam da und dunkel dann Licht an"
when 
    Item phoscon_Bewegungsmelder_lightlux received update
then 
    val lux = (phoscon_Bewegungsmelder_lightlux.state as QuantityType<Number>).floatValue
    if (lux < 15 && Licht_Fernseher.state == OFF && Anwesenheit_Miriam.state == OPEN && now.getHourOfDay() >= 16 && nCount == 0){
         Licht_Fernseher.sendCommand(ON)
         Lichtband_An.sendCommand(ON)
         nCount = 1
      }
end

rule "Counter zuruecksetzen"

when         Time cron "0 0 15 ? * * *"                                     // Zeitschaltpunkt Counter zurücksetzen 15:59 Uhr für Wonzimmerlicht
then         nCount = 0  
             logInfo("nCount",nCount.toString)                                             
end

Openhab 2.5.10 mit deconz und Homematic

Gesperrt