rule "Umlaufpumpe aus bei Abwesenheit"
when
Item Warmwasser_HVACMode changed
then
logInfo("contacts","Rule <Umlaufpumpe aus bei Abwesenheit> gestartet")
if(Warmwasser_HVACMode.state == OFF) {
ZirkulationspumpeHeizung_Steckdose.send(OFF)
} else {
ZirkulationspumpeHeizung_Steckdose.send(ON)
}
end
Warum schaltet er mir die Steckdose nicht aus? Im Log siehts so aus:
2020-10-17 13:12:47.811 [INFO ] [ipse.smarthome.model.script.contacts] - Rule <Umlaufpumpe aus bei Abwesenheit> gestartet
==> /var/log/openhab2/events.log <==
2020-10-17 13:12:47.814 [vent.ItemStateChangedEvent] - Warmwasser_HVACMode changed from HEAT to OFF
2020-10-17 13:12:47.818 [ome.event.ItemCommandEvent] - Item 'ZirkulationspumpeHeizung_Steckdose' received command ON
2020-10-17 13:12:47.825 [nt.ItemStatePredictedEvent] - ZirkulationspumpeHeizung_Steckdose predicted to become ON
Wenn ich die Steckdose vorher manuell ausschalte und das Warmwasser wieder angeht funktioniert es einwandfrei? Hab ich was übersehen?
Also, je nach Version könnte .send ebenfalls funktionieren. Das Problem an der Rule ist, dass nicht klar ist, was nun "wirklich" passiert.
Also etwas mehr Logging:
rule "Umlaufpumpe aus bei Abwesenheit"
when
Item Warmwasser_HVACMode changed
then
logInfo("contacts","Rule <Umlaufpumpe aus bei Abwesenheit> gestartet")
logInfo("contacts","Status: {}",Warmwasser_HVACMode.state)
if(Warmwasser_HVACMode.state.toString == "OFF") {
ZirkulationspumpeHeizung_Steckdose.sendCommand(OFF)
} else {
ZirkulationspumpeHeizung_Steckdose.sendCommand(ON)
}
end
Die explizite Wandlung nach Stringsollte aber schon reichen, um die Bedingung korrekt greifen zu lassen.
openHAB4.3.5 stable in einem Debian-Container (bookworm) (Proxmox 8.4.1, LXC), mit openHABian eingerichtet
2020-10-17 16:56:33.191 [INFO ] [ipse.smarthome.model.script.contacts] - Rule <Umlaufpumpe aus bei Abwesenheit> gestartet
2020-10-17 16:56:33.194 [INFO ] [ipse.smarthome.model.script.contacts] - Status: OFF
==> /var/log/openhab2/events.log <==
2020-10-17 16:56:33.199 [ome.event.ItemCommandEvent] - Item 'ZirkulationspumpeHeizung_Steckdose' received command OFF
2020-10-17 16:56:33.210 [nt.ItemStatePredictedEvent] - ZirkulationspumpeHeizung_Steckdose predicted to become OFF
2020-10-17 16:56:33.217 [vent.ItemStateChangedEvent] - ZirkulationspumpeHeizung_Steckdose changed from ON to OFF
2020-10-17 16:56:39.828 [vent.ItemStateChangedEvent] - Pumpe changed from ON to OFF
2020-10-17 16:57:03.058 [vent.ItemStateChangedEvent] - Warmwasser_HVACMode changed from OFF to HEAT
==> /var/log/openhab2/openhab.log <==
2020-10-17 16:57:03.059 [INFO ] [ipse.smarthome.model.script.contacts] - Rule <Umlaufpumpe aus bei Abwesenheit> gestartet
2020-10-17 16:57:03.063 [INFO ] [ipse.smarthome.model.script.contacts] - Status: HEAT
==> /var/log/openhab2/events.log <==
2020-10-17 16:57:03.069 [ome.event.ItemCommandEvent] - Item 'ZirkulationspumpeHeizung_Steckdose' received command ON
2020-10-17 16:57:03.079 [nt.ItemStatePredictedEvent] - ZirkulationspumpeHeizung_Steckdose predicted to become ON
2020-10-17 16:57:03.087 [vent.ItemStateChangedEvent] - ZirkulationspumpeHeizung_Steckdose changed from OFF to ON
2020-10-17 16:57:09.843 [vent.ItemStateChangedEvent] - Pumpe changed from OFF to ON