Rule geht nicht nach Umstieg auf V3

Einrichtung der openHAB Umgebung und allgemeine Konfigurationsthemen.

Moderatoren: seppy, udo1toni

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

Rule geht nicht nach Umstieg auf V3

Beitrag von dreamar »

Hallo zusammen,

ich nun endlich den Umstieg von Openhab 2 auf Version 3 gewagt. Einiges läuft auch schon, jedoch habe ich noch Probleme bei meinen Rollos.
Ich habe in Openhab2 folgende Rule

Code: Alles auswählen

when 
    Item BewegungsmelderRolloPhilips_Illuminance received update
then 
    val lux = (BewegungsmelderRolloPhilips_Illuminance.state as QuantityType<Number>).floatValue
    if (lux <= 7 && IT_Rollo_Auto_Manuell_Betrieb.state == ON && RolloAuto_Counter.state == OFF){   // Status 2 = offen
        IT_OG_Rollo_Zentral_Ab.sendCommand(ON)
        IT_EG_Rollo_Gaeste_WC_Ab.sendCommand(ON)
        IT_EG_Rollo_HWR_Fenster_Ab.sendCommand(ON)
        IT_EG_Rollo_HWR_Tuer_Ab.sendCommand(ON)
        IT_EG_Rollo_Kueche_Ab.sendCommand(ON)
        IT_EG_Rollo_Esszimmer_Ab.sendCommand(ON)
        Eingangslicht.sendCommand(ON)
        RolloAuto_Counter.sendCommand(ON)
        
        if (IT_Terrassentuer.state != "OPEN"){
            IT_EG_Rollo_Terasse_Tuer_Ab.sendCommand(ON)
            IT_EG_Rollo_Terasse_Ab.sendCommand(ON)
        } 
    }
end


Der RolloCounter ist OFF und Rollo_Auto_Manuell ist auf ON. Daher vermute ich das es an der Angabe der Helligkeit liegt. Helligkeit geht laut Log
unter 7 Lux und es passiert aber nichts weiter. Kann mir hier jemand behilflich sein?
Vielen Dank.
Openhab 2.5.10 mit deconz und Homematic

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

Re: Rule geht nicht nach Umstieg auf V3

Beitrag von udo1toni »

Da fehlt der Kopf der Rule.

Der untere Vergleich ist fehlerhaft, "OPEN" ist ein String, Du vergleichst aber mit einem Status. Also entwerder .state.toString mit "OPEN" vergleichen oder .state mit OPEN (ohne Anführungszeichen) vergleichen.
openHAB4.3.6 stable in einem Debian-Container (bookworm) (Proxmox 8.4.1, LXC), mit openHABian eingerichtet

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

Re: Rule geht nicht nach Umstieg auf V3

Beitrag von dreamar »

Guten Morgen udotoni1,

ich habe zur Zeit folgende Regel

Code: Alles auswählen

rule "Rolos runter nach Helligkeit"  
when 
    Item BewegungsmelderRolloPhilips_Illuminance received update
then 
    val lux = (BewegungsmelderRolloPhilips_Illuminance.state as QuantityType<Number>).floatValue
    if (lux <= 7 && IT_Rollo_Auto_Manuell_Betrieb.state == ON && RolloAuto_Counter.state == OFF){   // Status 2 = offen
        IT_OG_Rollo_Zentral_Ab.sendCommand(ON)
        IT_EG_Rollo_Gaeste_WC_Ab.sendCommand(ON)
        IT_EG_Rollo_HWR_Fenster_Ab.sendCommand(ON)
        IT_EG_Rollo_HWR_Tuer_Ab.sendCommand(ON)
        IT_EG_Rollo_Kueche_Ab.sendCommand(ON)
        IT_EG_Rollo_Esszimmer_Ab.sendCommand(ON)
        Eingangslicht.sendCommand(ON)
        RolloAuto_Counter.sendCommand(ON)
        
      }
end
da ich den Terrassentürsensor noch nicht wieder am laufen habe. Unter Openhab2 läuft die Regel so

Kann man irgendwie sehen ob eine Rule angesprochen wird?
Openhab 2.5.10 mit deconz und Homematic

Benutzeravatar
peter-pan
Beiträge: 2773
Registriert: 28. Nov 2018 12:03
Answers: 30
Wohnort: Schwäbisch Gmünd

Re: Rule geht nicht nach Umstieg auf V3

Beitrag von peter-pan »

..klar geht das. Einfach eine "LogInfo" einbauen. Z.B.:

Code: Alles auswählen

rule "Rolos runter nach Helligkeit"  
when 
    Item BewegungsmelderRolloPhilips_Illuminance received update
then 
    logInfo("Rolos-Info","Bewegungsmelder hat sich geändert")              // Logging
    val lux = (BewegungsmelderRolloPhilips_Illuminance.state as QuantityType<Number>).floatValue
    if (lux <= 7 && IT_Rollo_Auto_Manuell_Betrieb.state == ON && RolloAuto_Counter.state == OFF) {   // Status 2 = offen
        logInfo("Rolos-Info","If-Bedingung erfüllt")                       // Logging
        IT_OG_Rollo_Zentral_Ab.sendCommand(ON)
        IT_EG_Rollo_Gaeste_WC_Ab.sendCommand(ON)
        IT_EG_Rollo_HWR_Fenster_Ab.sendCommand(ON)
        IT_EG_Rollo_HWR_Tuer_Ab.sendCommand(ON)
        IT_EG_Rollo_Kueche_Ab.sendCommand(ON)
        IT_EG_Rollo_Esszimmer_Ab.sendCommand(ON)
        Eingangslicht.sendCommand(ON)
        RolloAuto_Counter.sendCommand(ON)
       
      }
end
Es wird einmal ein Meldung ausgegeben, wenn die Rule triggert und eine zweite Meldung, wenn die If-Bedingung erfüllt ist.
Pi5/8GB(PiOS Lite 64-bit(bookworm)/SSD 120GB - OH4.3.5 openhabian

Antworten