Honeywell T6 Z-Wave thermostat

From my experience with this thermostat the auto changeover feature uses the set points for heating and cooling.

It works! After I shut down Hass, but left the Pi running was able to copy over the modded zwcfg file and get it loaded into Hass on reboot.

1 Like

I just got one of these thermostats last week. I also saw the behaviour from the original post, so I excluded the thermostat from the network. I copied the following configuration file config/honeywell/th6320zw2003.xml from branch 1.4 of openzwave code at and added the line

<Product type="0011" id="0008" name="TH6320ZW2003 T6 Pro Series Thermostat" config="honeywell/th6320zw2003.xml"/>

into the Honeywell section in config/manufacturer_specific.xml.

These changes are made in my home assistant python virtual env: ./lib/python3.7/site-packages/python_openzwave/ozw_config.

I realize these changes will probably be overrriden if the HA fork of gets updated, but I can add them manually again if required. Maybe I should create a PR to have them added to the HA fork.

Now when I re-add the thermostat I get the following exposed entities

and I use the heating_1 entry to set the setpoint.

1 Like

Do you have a climate…_thermostat_cooling_1?

Mine has both, one sets the cooling temp the other sets the heat - may be a function of how I have it set up, auto changeover turned on always.


My aircon doesn’t work so I disconnected it from the furnace controller and configured 2 heating + 0 cooling in the initial thermostat setup. Perhaps that is why there is no …_thermostat_cooling_1 exposed.

When adjusting the temperature through the lovelace contributed simple-thermostat card ( and maybe the default lovelace thermostate?), I had the problem that the setpoint would suddenly drop to 4.5 C, so could be a bug somewhere in the component. (Nov 11: Still working fine with the simple-thermostat card as long as I set the temperature step-size to 1 so that it only sends integer temperature setpoints.)

Instead for adjustments I have service call automations which run actions on climate.set_temperature with attributes like

entity_id: climate.honeywell_th6320zw2003_t6_pro_series_thermostat_heating_1
temperature: 21

to adjust the temperature setpoints.

How do I see if this is fixed in side of Home Assistant or python-openzwave? I’m having a hard time digging through the repos to try to find the version of the config they’re using.

I found a github issue with someone else reporting the same problem. It’s still not clear if this issue was resolved in a newer version of HA. I’m using 0.101.3, which is the stable docker tag.

Assuming home assistant is pulling in its own fork of OpenZwave, the current state of the Honeywell configs in the HA fork is whereas the v1.4 branch of openzwave is here .

By comparing the two, the file th6320zw2003.xml , which is for the Honeywell T6 Zwave thermostat, is still missing from the HA fork.

1 Like

Ah, thanks! Didn’t see that the config folder had moved under the hass folder had in their fork.

Thank you. This helped me. I’m using the docker version of the HA, so I was able to add that file to the base image and now my heater controls work. If it helps, here’s the contents of my Dockerfile:

FROM homeassistant/home-assistant:latest
COPY --chown=root:root th6320zw2003.xml /usr/local/lib/python3.7/site-packages/python_openzwave/ozw_config/honeywell/

I copied the th6320zw2003.xml file into the same directory as the Dockerfile and built it:

# docker build -t my-home-assistant .

Then ran my new image.

This Dockerfile won’t work correctly in the future because it’s missing the edit to the manufacturer_specific.xml file. The added entry in that file is what tells OZW to load the th6320zw2003.xml file. Simply adding the xml file by itself does nothing.

For a permanent solution you’re better off either downloading the OZW 1.4 config files which already support this thermostat, or downloading the config files from the HA fork, editing the manufacturer_specific.xml file and adding the xml file. I think the HA fork has 3 extra device files that are not included in OZW 1.4, but it’s also missing several more from 1.4.

After you’ve downloaded the config files (preferably in your HA config dir) you can just reference them with the config_path zwave setting. HA upgrades won’t clobber the files and you won’t need to maintain a Dockerfile. But, you could always update your Dockerfile to add/modify the manufacturer_specific.xml file if that’s more your style.

BTW, once you’ve added the node with the updated device file, the information is saved to the zwcfg*.xml cache file. So as long as you don’t lose that file (keep a backup) you technically don’t really need to keep around the device files. The only time they’d be used again is if you removed then added the node again, or refreshed the node info, or lost the cache file.

Thanks for explaining that. I was hoping that the HA fork would get updated in the future and my hack wouldn’t be necessary. I wonder why adding that file worked for me. Each time I modified that zwcfg*.xml file it would get overwritten when I started HA. Sounds like adding that configuration file to the docker image was unrelated to HA not overwriting my changes to zwcfg*.xml?

I didn’t see the config_path setting previously. I’ll give that a shot. Thanks.

For posterity’s sake here’s the Dockerfile I’m using. Starting from @ChrisG0x20’s I added a sed command to add in the reference in manufacturer_specific.xml.

FROM homeassistant/home-assistant:0.101.3
COPY --chown=root:root th6320zw2003.xml /usr/local/lib/python3.7/site-packages/python_openzwave/ozw_config/honeywell/

RUN mv /usr/local/lib/python3.7/site-packages/python_openzwave/ozw_config/manufacturer_specific.xml /usr/local/lib/python3.7/site-packages/python_openzwave/ozw_config/manufacturer_specific.xml.orig && \
  sed '1049i<Product type="0011" id="0008" name="TH6320ZW2003 T6 Pro Series Thermostat" config="honeywell/th6320zw2003.xml"/>' /usr/local/lib/python3.7/site-packages/python_openzwave/ozw_config/manufacturer_specific.xml.orig >/usr/local/lib/python3.7/site-packages/python_openzwave/ozw_config/manufacturer_specific.xml

FYI, I’d say there’s a chance the next release of HA will include this config file by default.

Updated to 103.0, I now have a single Thermostat card for Heat/Cool, awesome!

But, I cannot read or set my Heat Setpoint. Cool is working. I’ve read through the thread, not sure what I should do, any suggestions?

Set your thermostat to heat, then adjust set point.

oh, I wish it was that easy!! :slight_smile:

Whether I set the Card or the Thermostat to Heat, I am unable to read the Set Point from the Thermostat or Set it from the Card. This is also the case if I set to Aux Heat as well.

Do you get any error messages in the log when you set it to heat?

This is the behavior I’m seeing as well.

I’ll try to check the logs today when I have a chance to see if I get anything back that looks like an error.

My cooling setting appears to work as designed, just when I try to modify the heat settings it does not update the thermostat and ends up producing no value for the setpoint.

I have no issues changing modes, presets, or fan modes. So the primary functionality of my thermostat is not impeded but the ability to change the temperature while heating is restricted to physical intervention at the thermostat.

The only function that doesn’t appear to work properly is the heating setpoint adjustment/read

1 Like

No logs appear to generate either in z-wave logs or home assistant logs when attempting to set the temperature. So it appears that no command is actually issued.