CT101 Thermostat Heating/Cooling Entities

I recently installed a CT101 thermostat and ended up with 2 entities:

climate.2gig_technologies_ct101_thermostat_iris_cooling_1
climate.2gig_technologies_ct101_thermostat_iris_heating_1

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.

Or maybe there’s some easier solution?

Ideas?

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.

I agree. I might try my hand at making a custom component that uses the two entities and handles it properly.

Just wanted to update this topic with a link to a solution I found that required almost no effort on my part (bonus!).

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 }}"