swingerman / ha-dual-smart-thermostat

The `dual_smart_thermostat` is an enhaced verion of generic thermostat implemented in Home Assistant. It uses several sensors and dedicated switches connected to a heater and air conditioning under the hood.
https://github.com/swingerman/ha-dual-thermostat
Apache License 2.0
120 stars 20 forks source link

[feat] - save last state in off state, so toggling after restart picks up last settings #245

Open jacobw opened 1 month ago

jacobw commented 1 month ago

If I restart HA while the climate control is on, it correctly continues as it was before the restart. However, if it's off, it forgets the recent state and I have to manually set it again, instead if just being able to toggle it back on again. This also means I lose the previous temp setting.

Is it possible to save and restore state when of too?

E.g, before restart, last setting was heating with target 20.5. After restart if I toggle on, it goes back to cooling target 19, and I have to go and configure again. This happens fairly regularly due to many updates requiring restarts.

swingerman commented 1 month ago

Could you confirm the current version you use and your current configuration?

jacobw commented 1 month ago

v0.9.7 (though this has been an issue for a while)

I've been trying different things to resolve this issue so a few bits commented out while I've been testing.

  - platform: dual_smart_thermostat
    name: Main Bedroom Climate
    unique_id: main_bedroom_climate
    heater: switch.main_bedroom_heatpump_heat
    cooler: switch.main_bedroom_heatpump_cool
    target_sensor: sensor.yz_e871_temperature
    # heat_cool_mode: true
    min_temp: 15
    max_temp: 26
    target_temp: 19.5
    # target_temp_high: 21
    # target_temp_low: 19
    cold_tolerance: 0.5
    hot_tolerance: 0
    precision: 0.1
    target_temp_step: 0.5
swingerman commented 1 month ago

Thanks. I will look into this.

cyberkryten commented 1 month ago

I'm not sure if it is related (or helpful) but hvac_action_reason doesn't get set to anything at all after a restart until the thermostat takes some 'action' again.

So if it was target_temp_reached and you restart (or reload the YAML from Developer tools) then it remains as an empty attribute until something gets changed and causes an action to occur that would change it.

I've been trying to use it to determine if an AC has been turned off by the integration or manually from a control panel and the 'blank' value has caused some issues with the logic

jacobw commented 1 month ago

Yeah it's never set every time I check it too. Right now it's active and idle because it just hit target but doesn't say that. Eg

hvac_modes: