Home Assistant Community

CT101 Thermostat Heating/Cooling Entities

#1

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?

#2

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.

#3

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

#4

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

#5

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