Ankündigung

Einklappen
Keine Ankündigung bisher.

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