Ankündigung

Einklappen
Keine Ankündigung bisher.

Zweiter Teil der Rule wird nicht ausgeführt

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

    Zweiter Teil der Rule wird nicht ausgeführt

    Hallo,

    Ich habe folgende Rule:

    Code:
    rule "Rollladen Gesamt runter"
     
    when
    
    Channel 'astro:sun:daad88c7:set#event' triggered START
    
    then
    if(AutomatikRolloAbends.state == ON)
       {     
           if(AutomatikWinterzeit.state == ON)
           {
            createTimer(now.plusMinutes(5)) // während der Winterzeit 5 Minuten nach Sonnenuntergang ausführen
            [   
            sendCommand(gRollos, DOWN)
            ]
           }
           else
           {
            createTimer(now.plusMinutes(15)) // während der Sommerzeit 15 Minuten nach Sonnenuntergang ausführen
            [
               sendCommand(gRollos, DOWN)
            ]
           }
    [COLOR=#c0392b]       if(AutomatikWeihnachten.state == ON)
           {
            createTimer(now.plusMinutes(1)) // während Weihnachten 1 Minuten nach dem alle Rollos unten sind 
            [   
            sendCommand(Lamelle_Wohnzimmer_3M1, 0)
            ]
           }  [/COLOR] 
       }  
    end
    Der rot markierte Teil wird nicht ausgeführt. Warum?

    Tom

    #2
    Müsstes Du vielleicht den Timern einen Namen geben? Du verwendest ja in der Rule zwei Timer und ich weiß nicht, ob dies so geht...

    Außerdem sollte der rot markierte Bereich ja sofort mit dem Rest ausgeführt werden, d.h. Du würdest eine Minute nach Sonnenuntergang die Lamellen verstellen, die Rollos werden aber erst nach 5 bzw. 15 Minuten runtergefahren...

    Kommentar


      #3
      Danke für die Hinweise, nun funktioniert es.

      Code:
      var Timer timer1 = null
      var Timer timer2 = null
      var Timer timer3 = null
      
      rule "Rollladen Gesamt runter"
       
      when
      
      Channel 'astro:sun:daad88c7:set#event' triggered START
      
      then
      if(AutomatikRolloAbends.state == ON)
         {     
             if(AutomatikWinterzeit.state == ON)
             {
              timer1 = createTimer(now.plusMinutes(5)) // während der Winterzeit 5 Minuten nach Sonnenuntergang ausführen
              [   
              //sendCommand(gRollos, DOWN)
              sendCommand(g_EG_Rollos, DOWN)
              sendCommand(g_OG_Rollos_O, DOWN)
              sendCommand(g_OG_Rollos_W, DOWN)
              sendCommand(g_OG_Rollos_N, DOWN)
              sendCommand(Rollo_OG_Buero, DOWN)
              sendCommand(Rollo_OG_Kind2_Sueden, DOWN)
              ]
             }
             else
             {
             timer3 = createTimer(now.plusMinutes(15)) // während der Sommerzeit 15 Minuten nach Sonnenuntergang ausführen
              [
                 sendCommand(gRollos, DOWN)
              ]
             }
             if(AutomatikWeihnachten.state == ON)
             {
              timer2 = createTimer(now.plusMinutes(7)) // während Weihnachten 7 Minuten nach Sonnenuntergang ausführen
              [   
              sendCommand(Lamelle_Wohnzimmer_3M1, 0)
              ]
             }   
         }  
      end

      Kommentar

      Lädt...
      X