Ankündigung

Einklappen

Serverwartung 21.2.



Am 21.2. im Laufe des späten Abends wird eine Serverwartung durchgeführt. Das Forum ist dadurch für gut zwei Stunden nicht erreichbar.
Es wird eine Wartungsseite geschaltet.

Mehr anzeigen
Weniger anzeigen

OH 3 Rollo Steuerung temperaturabhängig

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

    OH 3 Rollo Steuerung temperaturabhängig

    Hallo Zusammen,

    ich möchte das bei mir die Rollos bei zu viel lichteinfall und entsprechender höheren Außentemperatur die Rollos entsprechend Herrunterfahren.

    Code:
    rule "SonnenstandundRollo"
    when
    Item WZ_Rollo_Sonne changed
    then
    if (WZ_Rollo_Sonne.state == 50 && WZ_TRaum.state < Temp_A.state) {
    WZ_Rollo_Logic.sendCommand(50)
    }
    else {
    if (WZ_Rollo_Sonne.state == 20)
    WZ_Rollo_Logic.sendCommand(20)
    }
    end
    rule "SonnenstandundRollo0"
    when
    Item WZ_Rollo_Sonne changed
    then
    if (WZ_Rollo_Sonne.state == 0)
    WZ_Rollo_Logic.sendCommand(0)
    }
    end
    das mit dem state 20 fahren funktioniert, jedoch das anfahren der 50 funktioniert leider nicht. wo liegt hier der fehler ?
    das bei den 20 % keine Temperaturabfrage erfolgt, ist so gewollt da ein senden der 20% nur erfolgt wenn vorher die 50% angefahren werden.


    grüße Frank

    #2
    Wie sind die Items definiert? Insbesondere die beiden Items WZ_TRaum und Temp_A. Ansonsten: Warum zwei Rules? Die Rules haben beide den gleichen Trigger, es laufen also immer beide Rules, das ist Quatsch. Also besser so:
    Code:
    rule "SonnenstandundRollo"
    when
        Item WZ_Rollo_Sonne changed
    then
        if(WZ_Rollo_Sonne.state == 0)
            WZ_Rollo_Logic.sendCommand(0)
    
        if(WZ_Rollo_Sonne.state == 20)
            WZ_Rollo_Logic.sendCommand(20)
    
        if(WZ_Rollo_Sonne.state == 50 && (WZ_TRaum.state as Number).intValue < (Temp_A.state as Number).intValue)
            WZ_Rollo_Logic.sendCommand(50)
    end
    oder:
    Code:
    rule "SonnenstandundRollo"
    when
        Item WZ_Rollo_Sonne changed
    then
        switch(WZ_Rollo_Sonne.state) {
            case  0:
                WZ_Rollo_Logic.sendCommand(0)
            case 20:
                WZ_Rollo_Logic.sendCommand(20)
            case 50:
                if((WZ_TRaum.state as Number).intValue < (Temp_A.state as Number).intValue)
                    WZ_Rollo_Logic.sendCommand(50)
        }
    end

    Kommentar


      #3
      Hi Udo,

      ich probiere das mal.
      Die beiden Items sind als Number definiert.

      Kommentar

      Lädt...
      X