Honeywell Thermostat Hold Status

Currently using the honeywell climate platform to integrate a few different Honeywell thermostats into HA. These are setup and working fine, except I can’t ascertain how to grab the ‘hold’ status. Right now the system is ‘Following Schedule’:


If I increase the temperature to 68 via HA:


The new entity looks like this:

After this update, HA shows the updated temperature (68) and the hvac_action = heating - but nowhere (unfortunately) does it show that the unit is on HOLD (or ideally, what TIME it’s held UNTIL).

Anyone found / seen a way to bring the hold status?

The HA climate entity doesn’t seem to mesh well with Honeywell’s hold modes.

The entity supports a hold_mode, but it seems to be looking at something different. The only options there are “hold,” “swing,” and “away.” Here’s the documentation:

My Honeywell thermostat has “permanent hold” and “temporary hold” modes. Nothing which seems like it could map to “swing” or “away.”

When I change the set temperature from HA, if the thermostat was previously running the normal schedule, it changes to temporary hold. If it was already in a hold, it stays in that hold, and just changes the temperature setting for the duration of that hold.

I haven’t found a way to cancel the hold and return to running the schedule, nor does it show when a temporary hold will revert back (at the next scheduled change) the way the thermostat and the Honeywell app do. Those things don’t appear to be supported in HA.

Beyond this basic difference, I’m convinced there are other problems with the Honeywell integration. For example, one of my thermostats appears to correctly shade the area under the line in the history_graph when the heat is on, but two do not. The one that works has heating and cooling capability, the others have heating only. The only apparent difference is the working one has “fan_mode” and “fan_modes” attributes. Obviously the fan doesn’t reflect whether it’s heating or cooling. Again, this points to some sort of issue mapping the Honeywell’s capabilities to the climate entity.

Did you make any progress with this? I’ve got a Honeywell thermostat and I’m after the same information/control as you.

I’d be willing to chip in a few bucks if it motivates a programmer to add the extra functions in.

No, others have reported it, but I’ve never heard any developer express an interest.

I’ve gotten used to this limitation. If I really need to change the type of hold, or the schedule, I’ll just use the native Honeywell app. That doesn’t happen often enough for it to be a big issue.

I love home assistant, but dang, it’s frustrating how so many integrations are effectively abandoned.

Don’t feel bad. I’ve paid a lot of money for commercial systems and had the firmware and/or software abandoned by the manufacturer. In the maritime industry Garmin is famous for this. And what about cell phones? Sadly, it’s to be expected from almost any electronics manufacturer these days.

Sure, some HA developers lose interest after the first couple of releases. But overall the community keeps most things going most of the time.


nice climate control, any chances to share the code?

You’re right of course, I just have optimistic hopes for HA, at least for any integration that’s part of the core. Google probably somehow manages to shut down more apps/services than they create for example.

It looks like this is merged into the dev branch. Add a Preset mode for Honeywell permanent hold by schreyack · Pull Request #58060 · home-assistant/core · GitHub

But it hasn’t made it to release yet. So I guess it’s happening thanks to @tims300 I think that’s schreyack But let me know if I have the wrong person.

Yes, that’s me. I think it should make it to the general release in December.

Awesome! Thank you so much for putting this together!

Sorry to resurrect an old thread, but I just noticed now that this is fixed in the current version.

For the first time in a while, I set my Honeywell thermostats on “permanent hold.” Then I noticed that HA reflected the change as Preset: Hold:

I’ll play around with this more, to confirm that I can change it back to running the normal schedule from within HA, rather than at the thermostat or via the Honeywell web page.

But for now I’m very appreciative of all the hard work which went into this update!!

@CaptTom did you ever confirm if you could actually control the thermostat from HA? I was hoping to be able to setup a vacation mode in HA that could also setup a proper Away mode on the thermostat but attempting to create a working automation has been challenging. I really want the heating & cooling set points changed such that I don’t need some complicated logic in HA to determine if it’s winter or summer and adjust the target temp from there. I’ve still got some playing around to do but if someone has some sort of working vacation automation with the Honeywell Thermostat integration that’s working it would be great to have some tips.

I control the thermostats from within HA almost exclusively. I rarely touch the actual device.

I don’t have different modes like “home” and “away.” The thermostats have a schedule programmed into them. I can override that until the next scheduled change (temporary hold) or until I undo it (permanent hold.) So far that’s all the automation I’ve needed.

The internal schedule can not be changed from HA, but it can be changed from the Honeywell web site.

1 Like

Here’s how I set a Honeywell thermostat to permanent hold a temperature

This is a script that I pass a temp data variable to, but you can just hardcode it

As you can see, it takes two calls. One to set the preset mode and then the other to set the temperature.

1 Like

@Markus99 ah, thanks for this example, I think when I was initially testing I was trying to set the temp before the preset.

Hi, Guys!
I was struggling with some of these items as well; I needed to bump up the temperature setting for a (short) time, then return to the previous scheduled settings.
Using the first automation to change the temperature worked well with the visual editor ‘Climate: set temperature’ - it was returning to previous that was the issue.
Turns out that using ‘Climate: set preset mode’ and setting it to ‘none’ wipes out the temporary hold on the thermostat and returns it to the previously programmed (set on the device or in the Honeywell app) settings.
Hope that helps somebody!

1 Like