It seems like I need to set the target temperature on both of those entities in order to have this thermostat work like you’d expect (change the mode to heat or cool and set a temp). If the mode is set to heat, only the _heating_1 entity actually changes the target temperature on the thermostat. If the mode is set to cool, only the _cooling_1 entity actually changes anything.
I figure if I can make a thermostat card (I’m using lovelace right now) that always changes both entities that would basically solve it.
Really the best solution would be an internal fix to HomeAssistant when the operation_mode is set to heating, control the heating entity, cooling control cooling, and make it a single entity.
Here is my solution for this. I created 2 automations to keep the target temperatures in sync. For example if the heating_1 temperature is changed then the cooling_1 temperature will be updated and vice a versa.
This way I can share out one entity to home kit and use Siri to set the temperature. Also it doesn’t matter which entity I show in Home Assistant because theoretically they should always be in sync.
Here are the automations:
- alias: 'Update cooling temperature when heating temperature changes'
initial_state: 'on'
trigger:
platform: state
entity_id: climate.thermostat_heating_1
condition:
condition: template
value_template: "{{ trigger.to_state.attributes.temperature != trigger.from_state.attributes.temperature and states.climate.thermostat_heating_1.attributes.temperature != states.climate.thermostat_cooling_1 }}"
action:
- service: climate.set_temperature
data_template:
entity_id: climate.thermostat_cooling_1
temperature: "{{ trigger.to_state.attributes.temperature }}"
- alias: 'Update heatin temperature when cooling temperature changes'
initial_state: 'on'
trigger:
platform: state
entity_id: climate.thermostat_cooling_1
condition:
condition: template
value_template: "{{ trigger.to_state.attributes.temperature != trigger.from_state.attributes.temperature and states.climate.thermostat_cooling_1.attributes.temperature != states.climate.thermostat_heating_1 }}"
action:
- service: climate.set_temperature
data_template:
entity_id: climate.thermostat_heating_1
temperature: "{{ trigger.to_state.attributes.temperature }}"