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

Deklaration CreateTimer

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

    Deklaration CreateTimer

    Hallo zusammen,
    bei folgendem Script bekomme ich in den Fehler:
    couldn't resolve reference to JvmIdentifiableElement 'CreateTimer'
    Warum? Welche Deklaration fehlt noch?

    Code:
    import org.joda.time.DateTime
    import org.openhab.model.script.actions.Timer
    
    var Timer timerStopVorne = null
    var Timer timerStopSeite = null
    var Timer timerStartGarten = null
    var Timer timerStopGarten = null
    
    rule "Sprinkler kurz"
        when
            Item itmSprinklerProgKurz received command ON
        then
            // Alle eventuell bestehenden zurücksetzen
            if (timerStopVorne != null){
                timerStopVorne.cancel
                timerStopVorne=null
            }
            if (timerStopSeite != null){
                timerStopSeite.cancel
                timerStopSeite=null
            }
            if (timerStartGarten != null){
                timerStartGarten.cancel
                timerStartGarten=null
            }
            if (timerStopGarten != null){
                timerStopGarten.cancel
                timerStopGarten=null
            }
    
            
            // Sprinkler vorne und an der Seite starten
            itmSprinklerFront.sendCommand(ON)
            itmSprinklerSeite.sendCommand(ON)
            
            // Sprinkler vorne nach ein paar Minuten stoppen und den hinteren starten
            timerStopVorne = CreateTimer(now.plusMinutes(5)) [|
                itmSprinklerFront.sendCommand(OFF)
            ]
            timerStartGarten = CreateTimer(now.plusMinutes(5)) [|
                itmSprinklerFront.sendCommand(ON)
            ]
            // Sprinkler hinten und an der Seite stoppen
            timerStopGarten = CreateTimer(now.plusMinutes(10)) [|
                itmSprinklerFront.sendCommand(OFF)
            ]
            timerStopSeite = CreateTimer(now.plusMinutes(10)) [|
                itmSprinklerFront.sendCommand(OFF)
            ]
    end

    #2
    Oh Gott!
    Manchmal ist man so blöd!
    Wer CreateTimer als createTimer schreibt, dem wird geholfen.

    Aber jetzt gibt es ein anderes Problem:
    der Wechsel der Sprinkler findet nicht statt.
    timerStopvorne wird noch ausgeführt.
    Aber der timerStartGarten beginnt nicht?
    Zuletzt geändert von wbuh; 30.06.2015, 07:14.

    Kommentar


      #3
      Sieht nach einem Copy&Paste-Fehler aus. Im Befehlsteil des Timers steht immer "itmSprinklerFront".

      Gruß,
      Oliver

      "
      Doch, das ist lösbar :-)
      Die Mutter ist 21 Jahre älter als ihre Tochter und wird in 6 Jahren fünfmal so alt sein. Wo ist der Vater?

      Kommentar


        #4
        Es war zu früh zum posten... einfach zu früh.
        Danke!

        Kommentar

        Lädt...
        X