Rules in OH 3 übernehmen?

Einrichtung der openHAB Umgebung und allgemeine Konfigurationsthemen.

Moderatoren: seppy, udo1toni

Antworten
isostar1101
Beiträge: 55
Registriert: 18. Sep 2018 17:43
Answers: 0

Rules in OH 3 übernehmen?

Beitrag von isostar1101 »

Guten Abend liebe Gemeinde,

ich habe vor zwei Wochen auf OH 3 umgestellt und alle Items neu angelegt, nun habe ich eine Frage, wie ich am Besten die alten Regeln integriere?
Ich habe z.B. eine Heizungssteuerung/Lichtsteuerung für WC die só aussieht....

Code: Alles auswählen

var Timer WCBewegungsmelder_timer = null
rule "WC Heizung"


when
    Item GF_Toilette_Temperatur changed
or
    Item GF_Toilette_Window changed

then
    
    var Heizung = OFF  // Falls etwas schief geht, auf jeden Fall abschalten 
    var Number Temp = null
    if (GF_Toilette_Window.state == CLOSED)
    if(GF_Toilette_Temperatur.state instanceof Number) { //Gültiger Wert?
        Temp = GF_Toilette_Temperatur.state as Number
        if(now.getHourOfDay > 08 && now.getHourOfDay < 21) //innerhalb des Zeitfensters?
            if(Temp < 19 || (Temp < 20 && GF_Toilette_Heating.state == ON)) Heizung = ON
            
    }
    if(GF_Toilette_Heating.state != Heizung) GF_Toilette_Heating.sendCommand(Heizung)
    end







rule "WC-Licht Bewegungsmelder"

when
        Item GF_Toilette_Motion  received update ON
then

if
      (GF_Toilette_Motion.state == ON && Elevation.state  <-0|° && WCBewegungsmelder_timer === null) {
     
     GF_Toilette_Light_Spiegel.sendCommand(ON)
       
         WCBewegungsmelder_timer = createTimer(now.plusMinutes(3)) [|
         GF_Toilette_Light_Spiegel.sendCommand(OFF)
        
         WCBewegungsmelder_timer = null
]}
else if 
        (GF_Toilette_Motion.state == ON) {
        WCBewegungsmelder_timer.reschedule(now.plusMinutes(3))
}

end
oder für die Fabwechsel im Wochzimmer und Küche nutze ich das hier...

Code: Alles auswählen

ule "Farbe in der Küche und Wohnzimmer wechseln"
when
    Item GF_Wohn_Esszimmer_Milight_Color changed
then
    if(!(GF_Wohn_Esszimmer_Milight_Color.state instanceof HSBType)) return;
    GF_Kueche_Color_Unterschrank.sendCommand((GF_Wohn_Esszimmer_Milight_Color.state as HSBType).toString)
    GF_Kueche_Color_Fensterbank.sendCommand((GF_Wohn_Esszimmer_Milight_Color.state as HSBType).toString)
    GF_Wohn_Esszimmer_Color.sendCommand((GF_Wohn_Esszimmer_Milight_Color.state as HSBType).toString)
    GF_Wohn_Esszimmer_LED_Strip_TV_Color.sendCommand((GF_Wohn_Esszimmer_Milight_Color.state as HSBType).toString)
    GF_Wohn_Esszimmer_LED_Strip_SideboardColor.sendCommand((GF_Wohn_Esszimmer_Milight_Color.state as HSBType).toString)
    GF_Kueche_Color_Arbeitsplatte.sendCommand((GF_Wohn_Esszimmer_Milight_Color.state as HSBType).toString)
    
    
end


rule "Helligkeitsanpassung "

when
    Item GF_Wohn_Esszimmer_Milight_Brightness changed

    then

            if(!(GF_Wohn_Esszimmer_Milight_Brightness.state instanceof HSBType)) return;
    GF_Kueche_Brightness_Unterschrank.sendCommand((GF_Wohn_Esszimmer_Milight_Brightness.state as HSBType).toString)
    GF_Kueche_Brightness_Fensterbank.sendCommand((GF_Wohn_Esszimmer_Milight_Brightness.state as HSBType).toString)
    GF_Wohn_Esszimmer_Ambiente.sendCommand((GF_Wohn_Esszimmer_Milight_Brightness.state as HSBType).toString)
    GF_Wohn_Esszimmer_LED_Strip_TV_Brightness.sendCommand((GF_Wohn_Esszimmer_Milight_Brightness.state as HSBType).toString)
    GF_Wohn_Esszimmer_LED_Strip_SideboradBrightness.sendCommand((GF_Wohn_Esszimmer_Milight_Brightness.state as HSBType).toString)
    GF_Kueche_Brightness_Arbeitsplatte.sendCommand((GF_Wohn_Esszimmer_Milight_Brightness.state as HSBType).toString)
    
end
jetzt die Frage soll ich das über Blockly abbilden oder via DSL einfach nur einlesen...wobei ich dann Sorge habe das DSL in Zukunft aufgegeben wird?

Was mint ihr ist hier der Beste Weg?

Danke vG. Isostar

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

Re: Rules in OH 3 übernehmen?

Beitrag von udo1toni »

Das einfachste wäre wohl, die Rules exakt so einzubinden, wie sie auch schon unter OH2 liefen, also als vollständige rules Datei. Insbesondere für den Timer gibt es gar keine andere Möglichkeit (es sei denn, Du schreibst Die Rule komplett neu mit einer anderen Rules Sprache.
openHAB4.3.6 stable in einem Debian-Container (bookworm) (Proxmox 8.4.1, LXC), mit openHABian eingerichtet

isostar1101
Beiträge: 55
Registriert: 18. Sep 2018 17:43
Answers: 0

Re: Rules in OH 3 übernehmen?

Beitrag von isostar1101 »

Danke Udo1toni,


dann werde ich mal mein Glück versuchen!

vG. Isostar

Antworten