I have the same Thermostats in use and below Rule to change Thermostat setpoints. So no *.update in the rule.
I remember some flipping of values at first but I attributet this to the wakeup interval of the thermostats. When I remember correctly the individual setpoint of the thermostat only shows the new value (sendCommand(X) ) after the thermostat passed its wakeup interval. I can not try this now but after the sendCommand I could wait for 10 min (or whatever your wakeup interval is) and then all setpoints are correct, not before.
When I manually wakeup the thermostat after the sendCommand execution by pressing the middle button I can watch the thermostat change to the new value immediatly and this is representet in the Openhab UI as well.
I will update this when I am able to check this tonight.
rule "Heizung Erdgeschoss"
when
Item EG_Wohnbereich_Solltemperatur changed or
Item EG_Wohnbereich_Absenktemperatur changed or
Item EG_Wohnbereich_Heizungsmodus changed
then
// Heizungsmodus EG Absenkung: 0="Off", 1="On", 2="Automatik"
if (EG_Wohnbereich_Heizungsmodus.state == 0) {
// alle Thermostate auf Solltemperatur
Group_Wohnbereich_Setpoint.members.forEach[ i | i.sendCommand(EG_Wohnbereich_Solltemperatur.state as DecimalType)]
} else if (EG_Wohnbereich_Heizungsmodus.state == 1) {
// alle Thermostate auf Absenktemperatur
Group_Wohnbereich_Setpoint.members.forEach[ i | i.sendCommand(EG_Wohnbereich_Absenktemperatur.state as DecimalType)]
} else if (EG_Wohnbereich_Heizungsmodus.state == 2) {
// TODO Automatik
} else {
// sollte nicht vorkommen
}
end