Wo ist der Fehler in meiner Rule?
Verfasst: 7. Jul 2022 09:54
Habe mal wieder ein kleines Problem und komme nicht weiter. Habe diese Rule hier zum herunterfahren der Rollladen wenn es dunkel wird. Zudem werden je nach Sommer/Winter andere Rolladengruppen herunter gefahren:
So funktioniert die DSL-Rule. Ich möchte aber einen Timer mit einbauen. Mache ich dieses, funktioniert die Rule nicht mehr:
Frage an die Spezialisten: Wo ist hier der Fehler damit es mit dem createTimer nicht mehr geht?
Ich habe z.B. dieses hier und da funktioniert das auch mit dem Timer:
Oli
Code: Alles auswählen
configuration: {}
triggers:
- id: "1"
configuration:
event: END
channelUID: astro:sun:local:set#event
type: core.ChannelEventTrigger
conditions: []
actions:
- inputs: {}
id: "13"
configuration:
type: application/vnd.openhab.dsl.rule
script: >-
if(Dummy_alle_geschlossen.state == ON)
return;
if(now.getMonthValue >= 4 && now.getMonthValue() <= 9)
Rolladen.members.forEach[ r | r.sendCommand(DOWN) Thread::sleep(900)]
Dummy_alle_geschlossen.postUpdate(ON)
else if(now.getMonthValue >= 10 && now.getMonthValue() <= 3)
Rollladen_Winter.members.forEach[ r | r.sendCommand(DOWN) Thread::sleep(900)]
Dummy_alle_geschlossen.postUpdate(ON)
type: script.ScriptAction
Code: Alles auswählen
if(Dummy_alle_geschlossen.state == ON)
return;
if(now.getMonthValue >= 4 && now.getMonthValue() <= 9)
createTimer(now.plusMinutes(10), [|
Rolladen.members.forEach[ r | r.sendCommand(UP) Thread::sleep(900)]
])
Dummy_alle_geschlossen.postUpdate(ON)
else if(now.getMonthValue >= 10 && now.getMonthValue() <= 3)
Rollladen_Winter.members.forEach[ r | r.sendCommand(DOWN) Thread::sleep(900)]
Dummy_alle_geschlossen.postUpdate(ON)
Ich habe z.B. dieses hier und da funktioniert das auch mit dem Timer:
Code: Alles auswählen
if(Brunnen.state == ON)
return;
createTimer(now.plusMinutes(60), [|
Brunnen.sendCommand(ON)
])