In der Sitemap habe ich ein
um drei unterschiedlich lange Laufzeiten auszuwählen.
Drücke ich einen der Buttons wird er rot und die unten stehende Rule wird ausgelöst.
Allerdings wäre es schön, wenn das Switch item nach Ablauf des Programms zurück auf Stop wechselt, oder wenigstens keiner der drei Buttons rot bleibt.
Kann mir jemand sagen, wie das funktioniert?
Das postUpdate unten löst es jedenfalls nicht.
In items ist itmSprinklerAutomatik definiert als
Code:
Switch item=itmSprinklerAutomatik mappings=[1="7 Min", 2="12 Min", 3="Stop"]
Drücke ich einen der Buttons wird er rot und die unten stehende Rule wird ausgelöst.
Allerdings wäre es schön, wenn das Switch item nach Ablauf des Programms zurück auf Stop wechselt, oder wenigstens keiner der drei Buttons rot bleibt.
Kann mir jemand sagen, wie das funktioniert?
Das postUpdate unten löst es jedenfalls nicht.
In items ist itmSprinklerAutomatik definiert als
Code:
Number itmSprinklerAutomatik "Sprinkler Automatik"
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 "SprinklerAutomatik" when Item itmSprinklerAutomatik received command then // Alle eventuell bestehenden Timer 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 } var int iDauer = 0 switch(receivedCommand) { case 1 : iDauer = 7 case 2 : iDauer = 12 } if (iDauer == 0) { itmSprinklerFront.sendCommand(OFF) itmSprinklerGarten.sendCommand(OFF) } else { // Sprinkler vorne nach ein paar Minuten stoppen und den hinteren starten timerStopVorne = createTimer(now.plusSeconds(5*iDauer)) [| itmSprinklerFront.sendCommand(OFF) ] timerStopSeite = createTimer(now.plusSeconds(5*2*iDauer)) [| itmSprinklerGarten.sendCommand(OFF) itmSprinklerAutomatik.postUpdate(0) //keine sichtbare Wirkung ] } end
Kommentar