Evohome binding on OH4.0.3: SetPoint incorrectly updates after setting it back to FollowSchedule

I upgraded to Openhab 4.0.3 a while ago, but since I am now using EvoHome again (winter starts :slight_smile:), I have a couple of problems with the EvoHome binding I did not have on previous openhab releases (2 and 3).

  1. SetPoint did not update when set in OpenHab. Following: Evohome binding on OH4.0.1 not working I fixed that by changing my Number Items to Number:Temperature Items (for actual temperature and setpoint). Note that deleting and adding the Things (as suggested in this thread as well) did not work. Updating it to Number:Temperature was the solution for me.
  2. I have a rule that resets a setpoint to FollowSchedule again (by setting the SetPoint to 0). It indeed resets the SetPoint on the EvoHome unit, but OpenHab still shows the customized setpoint and not the actual setpoint. Should I reset the setpoint in a different way or is this a bug?

I have the following items (I actually have 12 zones set up similarly)

Number:Temperature Evo_Living_Temperature "Temperature" <temperature> (Evo_Temperature) { channel="evohome:heatingzone:1fa4e093:4348374:Temperature" }
String             Evo_Living_SetPointStatus "Status" <time> (Evo_SetPointStatus, Evo_ZonesFollowingSchedule) { channel="evohome:heatingzone:1fa4e093:4348374:SetPointStatus" }
Number:Temperature Evo_Living_SetPoint "Set Point" <setpoint> (Evo_SetPoint) { channel="evohome:heatingzone:1fa4e093:4348374:SetPoint" }

And I have the following rules. The switch Evo_FollowSchedule forces all zones back to FollowSchedule. In previous releases, the setpoint was also updated back to the scheduled setpoint, but that does not work anymore.

// when follow schedule, then force all zones to follow schedule
rule "Switch Evo_FollowSchedule ON"
when
    Item Evo_FollowSchedule changed to ON
then
    logInfo("evo.rules", String.format("EvoHome '%s': changes to '%s'", triggeringItemName, newState))
    Evo_SetPointStatus.members.filter[StringItem i | i.state != "FollowSchedule"].forEach[StringItem setpoint_status |
        var setpoint = findSetpoint.apply(setpoint_status)
        setpoint.sendCommand(0)
    ]
end

When I look at my logging (using the following rule)

// log changes to Evo_SetPoint
rule "Log Evo_SetPoint"
when
    Member of Evo_SetPoint changed
then
    logInfo("evo.rules", String.format("EvoHome '%s': changes to '%s'", triggeringItem.name, triggeringItem.state))
end

I see in the logging that the setpoint is set incorrectly.

  • I set the setpoint to 22 degrees.
  • I set the Switch for FollowSchedule.
  • Setpoint is reset by setting it to 0 (Evo_Living_SetPointStatus is set to FollowSchedule)
  • However, the setpoint is magically updated to 22 degrees again (while the actual setpoint is 15 degrees)
2023-10-24 01:04:48.365 [INFO ] [.openhab.core.model.script.evo.rules] - EvoHome 'Evo_Living_SetPoint': changes to '22 °C'
2023-10-24 01:05:10.844 [INFO ] [.openhab.core.model.script.evo.rules] - EvoHome 'Evo_FollowSchedule': changes to 'ON'
2023-10-24 01:05:10.859 [INFO ] [.openhab.core.model.script.evo.rules] - EvoHome 'Evo_Living_SetPoint': changes to '0 °C'
2023-10-24 01:05:21.474 [INFO ] [.openhab.core.model.script.evo.rules] - EvoHome 'Evo_Living_SetPoint': changes to '22 °C'

Suggestions?

1 Like

I have exactly the same problem.

I also tried to delete the Thing and Added it again…