Thank you for this tip. I was able to configure the Honeywell T5 thermostat with HA using the Homekit method you mentioned. I do NOT have any other homekit products in my setup at all. The key to discovering the T5 thermostats in your home network in HA is that they MUST be on the 2.4 ghz wifi band. I had to force my router to have my thermostats connect on the 2.4 ghz band and they were quickly discovered by HA and I was able to set these up in HA using the Homekit device using their 8 digit pairing code. Was a 1 minute setup once all the prerequisites were met.
I was able to get the T5 to pair by doing a reset → homekit on the thermostat! works well
By the way I did not have the 2.4/5ghz issue described earlier… the tstat had already been connected to the network with matching 2.4+5ghz ssid’s
I also removed it from SmartThings (phone app) and then did a homekit reset on the tstat touchscreen without needing a power cycle. The homekit device popped right up in HA
Very interesting…
do you have the code for this card , specially the fan part please ?
Here is the thermostat card with the fan section.
type: vertical-stack
cards:
- type: entities
entities:
- entity: climate.t9_thermostat
type: custom:simple-thermostat
step_size: 1
header:
icon: mdi:thermostat
style: |
:host {
{% if state_attr('climate.t9_thermostat','hvac_action')|string in 'idle' %}
--paper-item-icon-color: gray ;
color: gray;
{% elif state_attr('climate.t9_thermostat','hvac_action') |string in 'heating ' %}
--paper-item-icon-color: orange;
color: yellow ;
{% elif state_attr('climate.t9_thermostat','hvac_action') |string in 'cooling' %}
--paper-item-icon-color: dodgerblue;
color: yellow;
{% endif %}
}
layout:
mode:
headings: false
- square: false
type: grid
cards:
- show_name: true
show_icon: false
type: button
tap_action:
action: call-service
service: script.thermostat_fan_on
service_data: {}
name: 'On'
style: |
ha-card {
{% if states('sensor.thermostat_fan') == 'On' -%}
background: green;
{%- endif %}
}
- show_name: true
show_icon: false
type: button
tap_action:
action: call-service
service: script.thermostat_fan_circulate
service_data: {}
name: Circulate
style: |
ha-card {
{% if states('sensor.thermostat_fan') == 'Circulate' -%}
background: green;
{%- endif %}
}
- show_name: true
show_icon: false
type: button
tap_action:
action: call-service
service: script.thermostat_fan_auto
service_data: {}
name: Auto
style: |
ha-card {
{% if states('sensor.thermostat_fan') == 'Auto' -%}
background: green;
{%- endif %}
}
columns: 3
And the fan scripts. The circulate function is what causes the scripts to be more complex. I have a boolean I set if circulate is on. Also a timer with a default value of 20 minutes.
alias: Thermostat Fan Circulate
sequence:
- if:
- condition: state
entity_id: input_boolean.thermostat_fan_circulating
state: "off"
then:
- service: input_boolean.turn_on
target:
entity_id:
- input_boolean.thermostat_fan_circulating
data: {}
- service: switch.turn_on
metadata: {}
data: {}
target:
entity_id: switch.hvac_fan
- service: timer.start
data:
duration: "00:10:00"
target:
entity_id:
- timer.thermostat_fan_timer
mode: single
icon: mdi:fan-clock
alias: Thermostat Fan On
sequence:
- if:
- condition: state
entity_id: input_boolean.thermostat_fan_circulating
state: "on"
then:
- service: timer.cancel
metadata: {}
data: {}
target:
entity_id: timer.thermostat_fan_timer
- service: input_boolean.turn_off
target:
entity_id:
- input_boolean.thermostat_fan_circulating
data: {}
- service: switch.turn_on
metadata: {}
data: {}
target:
entity_id: switch.hvac_fan
mode: single
icon: mdi:fan
alias: Thermostat Fan Auto
sequence:
- if:
- condition: state
entity_id: input_boolean.thermostat_fan_circulating
state: "on"
then:
- service: timer.cancel
metadata: {}
data: {}
target:
entity_id: timer.thermostat_fan_timer
- service: input_boolean.turn_off
target:
entity_id:
- input_boolean.thermostat_fan_circulating
data: {}
- service: switch.turn_off
target:
entity_id:
- switch.hvac_fan
data: {}
mode: single
icon: mdi:fan-auto
switch.hvac_fan is the shelly switch
sensor.thermostat_fan is a template used to display on, circulating, auto
{% if is_state('input_boolean.thermostat_fan_circulating', 'on') %}Circulate{% elif is_state('switch.hvac_fan', 'on') %}On{% else %}Auto{% endif %}
Edit:
And also an automation to cycle the fan when circulating
alias: Thermostat Fan Circulate
description: ""
trigger:
- platform: event
event_type: "timer.finished "
event_data:
entity_id: timer.thermostat_fan_timer
condition:
- condition: state
entity_id: input_boolean.thermostat_fan_circulating
state: "on"
action:
- if:
- condition: state
entity_id: switch.hvac_fan
state: "on"
then:
- service: switch.turn_off
metadata: {}
data: {}
target:
entity_id: switch.hvac_fan
- service: timer.start
metadata: {}
data:
duration: "00:20:00"
target:
entity_id: timer.thermostat_fan_timer
else:
- service: switch.turn_on
target:
entity_id:
- switch.hvac_fan
data: {}
- service: timer.start
metadata: {}
data:
duration: "00:10:00"
target:
entity_id: timer.thermostat_fan_timer
mode: single