MislavMandaric / home-assistant-vaillant-vsmart

Home Assistant custom component for Vaillant vSMART.
MIT License
57 stars 12 forks source link

Calling set_operation_mode cancels temporary set points #320

Closed xionic closed 22 hours ago

xionic commented 4 months ago

Version of the custom_component

v0.9.0

Configuration

Describe the bug

TLDR; Switching off Hot Water Boost now cancels manual set point changes

If you set a temporary set point either via the vSMART app, or via this HA integration, then call set_operation_mode on the water_heater entity with the operation_mode heating, then the temporary set point is cancelled. This was previously not how the integration behaved prior to the refactor into 2 devices and I assume is not the intended behavior?

For example, if I manually set the set point to 20 degrees (from the schedule default of 18), then turn on the hot water boost using set_operation_mode -> hot_water_boost, then disable it again using set_operation_mode -> heating, then the set point will revert to the default of 18 degrees rather than remaining at the previously set 20.

Note: I have to close and reopen the vSMART app when testing to see the change in a timely manor.

To Reproduce:

  1. Set a temporary set point in the vSMART app
  2. Turn on Hot Water Boost by calling:
    service: water_heater.set_operation_mode
    target:
    entity_id: water_heater.vsmart
    data:
    operation_mode: hot_water_boost
  3. Observe that the temporary set point is still set at this point
  4. Turn off Hot Water Boost by calling:
    service: water_heater.set_operation_mode
    target:
    entity_id: water_heater.vsmart
    data:
    operation_mode: heating
  5. The temporary set point will now have reset to the scheduled default

Note: I discovered it is not actually necessary to turn on HWB first, simply calling set_operation_mode -> heating always cancels the temporary set point

Debug log

Here's the debug log, but doesn't seem relevant

2024-02-19 15:10:00.350 INFO (MainThread) [homeassistant.components.automation.sync_hot_water_boost_helper_with_vsmart_water_heater_boost] Sync Hot Water Boost Helper with vSmart Water Heater Boost: Running automation actions
2024-02-19 15:10:00.350 INFO (MainThread) [homeassistant.components.automation.sync_hot_water_boost_helper_with_vsmart_water_heater_boost] Sync Hot Water Boost Helper with vSmart Water Heater Boost: Executing step call service
2024-02-19 15:10:00.364 DEBUG (MainThread) [custom_components.vaillant_vsmart.water_heater] Setting water heater operation mode to: heating
janchlebek commented 4 months ago

I have a similar experience that I mentioned in https://github.com/MislavMandaric/home-assistant-vaillant-vsmart/issues/269 I also am fighting a little with the new split set up in my automations and I had to redo many of them. I do understand the reason the device is split in two but a simple ON/OFF toggle for HWB somewhere (like before) would be cool and would make hot water automating easier again.

MislavMandaric commented 22 hours ago

This is now fixed, by re-introducing a separate HWB switch.