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

Geschachteltes IF in Rules

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

    Geschachteltes IF in Rules

    Hallo,

    ich will innerhalb einer Rule die mehrern Gruppen Mitgliedern ein START schickt eine Abfrage starten - wenn ein bestimmtes Element kommt - das dann ein STOP gesendet werden soll.

    Meine idee war folgenderweise:

    Code:
    rule "Testrule "
    when 
            Time cron "0 35 18 * * ?"   // Every day 12:20 hours, evaluate sunset5
    then {
             logInfo("Testrule","Timer Testrule executed") 
             gTest?.members.forEach(Switch|
                    sendCommand(Switch, ON)
                    )
             gTestS?.members.forEach(Rollershutter|
                    sendCommand(Rollershutter, DOWN)       
             if(gTestS?.members==Shutter_DG_South)
                    {    Thread::sleep(8000)
                        sendCommand(Shutter_DG_South, STOP)
                        logInfo("Testrule","TestruleShutter Stop für einen rollladen executed")
                    })
            
            logInfo("Testrule","TestruleShutter Stop in Test executed")
        }
    Leider erfolglos - hat jemand ein ähnliches Beispiel?

    Danke für die Hilfe
    Karsten

    #2
    wie wäre es mit (ohne Gewähr und Test)

    Code:
    rule "Testrule "
    when 
        Time cron "0 35 18 * * ?"   // Every day 12:20 hours, evaluate sunset5
    then
        logInfo("Testrule","Timer Testrule executed") 
        gTest?.members.forEach[Switch|
            sendCommand(Switch, ON)
        ]
        gTestS?.members.forEach[Rollershutter|
            if (Rollershutter == Shutter_DG_South)) {
                Thread::sleep(8000)
                sendCommand(Shutter_DG_South, STOP)
                logInfo("Testrule","TestruleShutter Stop für einen rollladen executed")
            } else {
                sendCommand(Rollershutter, DOWN)       
            }
        ]
        logInfo("Testrule","TestruleShutter Stop in Test executed")
    end
    Visualisierung, Rule/Logic-Engine, Integrationsplattform mit openhab (Supportforum)

    Kommentar

    Lädt...
    X