Ich habe die Rule gerade bei mir getestet, und sie funktioniert einwandfrei.
Ich habe sie noch ein wenig optimiert

Ich habe hier zum Testen auf Sekunden umgestellt, damit es nicht so lange dauert.
Testumgebung:
Items:
Code: Alles auswählen
Switch SpsDgk1RelayOutput
String RuehrwerkSteuerung
Code: Alles auswählen
var Timer tRuehrwerk = null // Zeiger auf Timer
var Integer nRuehrwerkOn = 5 // Länge der Einschaltphase in Sekunden
var Integer nRuehrwerkOff = 10 // Länge der Ausschaltphase in Sekunden
rule "Rührwerk Steuerung"
when
Item RuehrwerkSteuerung changed
then
tRuehrwerk?.cancel // Timer canceln
switch(newState.toString) { // Item liefert State
case "ON", // Zustand ON
case "OFF" : // Zustand OFF
if(SpsDgk1RelayOutput.state.toString != newState.toString) // Falls aktueller Zustand abweicht
SpsDgk1RelayOutput.sendCommand(newState.toString) // Schalten
case "AUTO" : // Zustand ist Auto
tRuehrwerk = createTimer(now, [| // timer anlegen und sofort ausführen
val soll = if(SpsDgk1RelayOutput.state != ON) ON else OFF // falls nicht ON, ON, ansonsten OFF
val zeit = if(soll == ON) nRuehrwerkOn else nRuehrwerkOff // falls ON, ON-Zeit, sonst OFF-Zeit
if(SpsDgk1RelayOutput.state != soll) // falls vom Soll abweichend
SpsDgk1RelayOutput.sendCommand(soll.toString) // Schalten
tRuehrwerk.reschedule(now.plusSeconds(zeit)) // Timer nach zeit erneut ausführen
])
}
end
Code: Alles auswählen
sitemap test label="Test Sitemap" {
Frame label="Automatik" icon="icon" {
Switch item=RuehrwerkSteuerung label="Rührwerk[]" mappings=["OFF"="Aus","ON"="An","AUTO"="Auto"]
Text item=SpsDgk1RelayOutput label="Relais [%s]"
}
}
Code: Alles auswählen
2025-02-15 11:48:03.205 [INFO ] [openhab.event.ItemCommandEvent ] - Item 'RuehrwerkSteuerung' received command OFF
2025-02-15 11:48:03.206 [INFO ] [openhab.event.ItemStateChangedEvent ] - Item 'RuehrwerkSteuerung' changed from NULL to OFF
2025-02-15 11:48:03.223 [INFO ] [openhab.event.ItemCommandEvent ] - Item 'SpsDgk1RelayOutput' received command OFF
2025-02-15 11:48:03.226 [INFO ] [openhab.event.ItemStateChangedEvent ] - Item 'SpsDgk1RelayOutput' changed from NULL to OFF
2025-02-15 11:48:09.282 [INFO ] [openhab.event.ItemCommandEvent ] - Item 'RuehrwerkSteuerung' received command ON
2025-02-15 11:48:09.283 [INFO ] [openhab.event.ItemStateChangedEvent ] - Item 'RuehrwerkSteuerung' changed from OFF to ON
2025-02-15 11:48:09.286 [INFO ] [openhab.event.ItemCommandEvent ] - Item 'SpsDgk1RelayOutput' received command ON
2025-02-15 11:48:09.287 [INFO ] [openhab.event.ItemStateChangedEvent ] - Item 'SpsDgk1RelayOutput' changed from OFF to ON
2025-02-15 11:48:25.457 [INFO ] [openhab.event.ItemCommandEvent ] - Item 'RuehrwerkSteuerung' received command AUTO
2025-02-15 11:48:25.460 [INFO ] [openhab.event.ItemStateChangedEvent ] - Item 'RuehrwerkSteuerung' changed from ON to AUTO
2025-02-15 11:48:25.576 [INFO ] [openhab.event.ItemCommandEvent ] - Item 'SpsDgk1RelayOutput' received command OFF
2025-02-15 11:48:25.577 [INFO ] [openhab.event.ItemStateChangedEvent ] - Item 'SpsDgk1RelayOutput' changed from ON to OFF
2025-02-15 11:48:35.577 [INFO ] [openhab.event.ItemCommandEvent ] - Item 'SpsDgk1RelayOutput' received command ON
2025-02-15 11:48:35.578 [INFO ] [openhab.event.ItemStateChangedEvent ] - Item 'SpsDgk1RelayOutput' changed from OFF to ON
2025-02-15 11:48:40.577 [INFO ] [openhab.event.ItemCommandEvent ] - Item 'SpsDgk1RelayOutput' received command OFF
2025-02-15 11:48:40.579 [INFO ] [openhab.event.ItemStateChangedEvent ] - Item 'SpsDgk1RelayOutput' changed from ON to OFF
2025-02-15 11:48:50.578 [INFO ] [openhab.event.ItemCommandEvent ] - Item 'SpsDgk1RelayOutput' received command ON
2025-02-15 11:48:50.579 [INFO ] [openhab.event.ItemStateChangedEvent ] - Item 'SpsDgk1RelayOutput' changed from OFF to ON
2025-02-15 11:48:55.580 [INFO ] [openhab.event.ItemCommandEvent ] - Item 'SpsDgk1RelayOutput' received command OFF
2025-02-15 11:48:55.581 [INFO ] [openhab.event.ItemStateChangedEvent ] - Item 'SpsDgk1RelayOutput' changed from ON to OFF
2025-02-15 11:49:05.581 [INFO ] [openhab.event.ItemCommandEvent ] - Item 'SpsDgk1RelayOutput' received command ON
2025-02-15 11:49:05.582 [INFO ] [openhab.event.ItemStateChangedEvent ] - Item 'SpsDgk1RelayOutput' changed from OFF to ON
2025-02-15 11:49:10.582 [INFO ] [openhab.event.ItemCommandEvent ] - Item 'SpsDgk1RelayOutput' received command OFF
2025-02-15 11:49:10.583 [INFO ] [openhab.event.ItemStateChangedEvent ] - Item 'SpsDgk1RelayOutput' changed from ON to OFF
2025-02-15 11:49:20.583 [INFO ] [openhab.event.ItemCommandEvent ] - Item 'SpsDgk1RelayOutput' received command ON
2025-02-15 11:49:20.584 [INFO ] [openhab.event.ItemStateChangedEvent ] - Item 'SpsDgk1RelayOutput' changed from OFF to ON
2025-02-15 11:49:25.584 [INFO ] [openhab.event.ItemCommandEvent ] - Item 'SpsDgk1RelayOutput' received command OFF
2025-02-15 11:49:25.585 [INFO ] [openhab.event.ItemStateChangedEvent ] - Item 'SpsDgk1RelayOutput' changed from ON to OFF
2025-02-15 11:49:29.348 [INFO ] [openhab.event.ItemCommandEvent ] - Item 'RuehrwerkSteuerung' received command OFF
2025-02-15 11:49:29.349 [INFO ] [openhab.event.ItemStateChangedEvent ] - Item 'RuehrwerkSteuerung' changed from AUTO to OFF