Background: I have an oil fired boiler and a heat pump. I was manually going from one to the other and decided it was time to make them smart. For the boiler I used a simple z-wave thermostat, all I needed was on & off but for the heat pump which is 75% of my heating and cooling I bought a Honeywell RTH9585WF1004. Those who have one know the pains. Not sure if the issues are specific to the thermostat or to Total Connect.
My heating / cooling switches as the temp and time of day does but it is pretty simple. Since someone is usually always home my weekly schedule is always the same.
Temp < 36F - Boiler, Temp follows boiler thermostat schedule
Temp > 37F, < 54F - Heat Pump (Heat Mode, Fan Auto) Temp set at 72F always
Temp > 55F, < 64F - Heat Pump (Auto Mode, Fan Auto) Temp Day 71F - 74F, Temp Night 70F - 73F
Temp >65F Heat Pump (Cool Mode, Fan On) Temp Day 74F, Temp Night 73F
As I said no rocket science here… So on to the issues.
Getting everything to switch between systems and modes has worked no problem the issue has been setting temps in any mode. Kind of a hit and miss. One thing that did help me was turning off the scheduling mode on the thermostat as I read in another post. No problem use HA to do the schedule since mine is simple anyway.
(SETTINGS>Preferences>Advanced Perferences>Scheduling Options>Non-Programable)
The issue I had then in any mode was temp values would sometimes change as expected but other times no changes and no errors or I would get invalid temp or out of range errors.
What I found… Without going into a bunch more detail, after watching what the errors were and some testing I found that if I set the “target_temp_high: and target_temp_low:” to a much higher and lower value than I wanted it all worked every time. So no matter what those values get set first with a second delay for them to digest. The second delay is not long enough for the thermostat to react to it from what I have seen so far so no false stop and starts.
This example is setting my night temp. Since heat is always set to 72F I us the “Choose Action” to check to see if I’m in “COOL or AUTO” and then set the temp accordingly. No matter what I set “target_temp_high: 79 and target_temp_low: 69” first and have found my final values always work after that. The one second delay’s give the system time to digest the commands.
This example is part of my night/day schedule… I set my night temp for either Auto or Cool modes.
- id: '1600181325003'
alias: Heat Pump Night Temp
description: ''
trigger:
- at: '22:00:00'
platform: time
condition: []
action:
- choose:
- conditions: ### look for the "cool mode" if it isn't found
- condition: state ### it drops to next condition
entity_id: climate.thermostat
state: cool
sequence:
- data: ### setup the high-low
target_temp_high: 79
target_temp_low: 69
entity_id: climate.thermostat
service: climate.set_temperature
- delay: 00:00:01
- data: ### set the temp
temperature: 73
entity_id: climate.thermostat
service: climate.set_temperature
- conditions: ### here I look for condition 2 "heat_cool (auto) mode"
- condition: state ### if it isn't found the automation exits
entity_id: climate.thermostat
state: heat_cool
sequence:
- data: ### setup the high-low
target_temp_high: 79
target_temp_low: 69
entity_id: climate.thermostat
service: climate.set_temperature
- delay: 00:00:01
- data: ### set the temp
target_temp_high: 73
target_temp_low: 70
entity_id: climate.thermostat
service: climate.set_temperature
default: []
mode: single
So the 2 main things I have found that let me control this thermostat reliably is turning off scheduling, I have not played around to see if it is really necessary but I’m not using it anyway. And setting the target high and low temps with a wide gap before any temp change. So far no issues and I am finally a happy customer. If anything does show up I’ll come back and edit this write up.