Honeywell Lyric T6 Pro Z-Wave Plus Smart Thermostat

I recently purchased the Honeywell Z-Wave Plus thermostat (TH6320ZW2003) and finally got around to creating configuration for it in openzwave (https://github.com/OpenZWave/open-zwave/pull/1757). Although it seems like everything is working from a functionality standpoint I did get a few errors in the home assistant logs when including the device in my network. If anyone with more experience with the inner workings of homeassistant has any ideas what might be causing this I would appreciate the help. This is the first time I have written openzwave configuration for a new device so I would not be surprised if it is because I have something configured wrong. It would be nice to get this all working since the CT100+ seems to be unavailable these days this appears to be the only Z-Wave Plus thermostat around.

Here is the error:

Apr  4 14:06:40 house hass[8237]: #033[32m2019-04-04 14:06:40 INFO (SyncWorker_18) [homeassistant.components.zwave] Z-Wave add_node_secure have been initialized#033[0m
Apr  4 14:07:07 house hass[8237]: #033[32m2019-04-04 14:07:07 INFO (MainThread) [homeassistant.helpers.entity_registry] Registered new sensor.zwave entity: sensor.honeywell_th6320zw2003_t6_pro_series_thermostat_temperature#033[0m
Apr  4 14:07:07 house hass[8237]: #033[32m2019-04-04 14:07:07 INFO (MainThread) [homeassistant.helpers.entity_registry] Registered new sensor.zwave entity: sensor.honeywell_th6320zw2003_t6_pro_series_thermostat_relative_humidity#033[0m
Apr  4 14:07:07 house hass[8237]: #033[32m2019-04-04 14:07:07 INFO (MainThread) [homeassistant.helpers.entity_registry] Registered new climate.zwave entity: climate.honeywell_th6320zw2003_t6_pro_series_thermostat_heating_1#033[0m
Apr  4 14:07:07 house hass[8237]: #033[31m2019-04-04 14:07:07 ERROR (MainThread) [homeassistant.core] Error doing job: Task exception was never retrieved#033[0m
Apr  4 14:07:07 house hass[8237]: Traceback (most recent call last):
Apr  4 14:07:07 house hass[8237]:   File "/srv/homeassistant/lib/python3.6/site-packages/homeassistant/helpers/entity_platform.py", line 365, in _async_add_entity
Apr  4 14:07:07 house hass[8237]:     await entity.async_update_ha_state()
Apr  4 14:07:07 house hass[8237]:   File "/srv/homeassistant/lib/python3.6/site-packages/homeassistant/helpers/entity.py", line 225, in async_update_ha_state
Apr  4 14:07:07 house hass[8237]:     self._async_write_ha_state()
Apr  4 14:07:07 house hass[8237]:   File "/srv/homeassistant/lib/python3.6/site-packages/homeassistant/helpers/entity.py", line 255, in _async_write_ha_state
Apr  4 14:07:07 house hass[8237]:     attr = self.state_attributes or {}
Apr  4 14:07:07 house hass[8237]:   File "/srv/homeassistant/lib/python3.6/site-packages/homeassistant/components/climate/__init__.py", line 216, in state_attributes
Apr  4 14:07:07 house hass[8237]:     self.precision),
Apr  4 14:07:07 house hass[8237]:   File "/srv/homeassistant/lib/python3.6/site-packages/homeassistant/helpers/temperature.py", line 26, in display_temp
Apr  4 14:07:07 house hass[8237]:     temperature, temperature_unit, ha_unit)
Apr  4 14:07:07 house hass[8237]:   File "/srv/homeassistant/lib/python3.6/site-packages/homeassistant/util/temperature.py", line 25, in convert
Apr  4 14:07:07 house hass[8237]:     from_unit, TEMPERATURE))
Apr  4 14:07:07 house hass[8237]: ValueError:  is not a recognized temperature unit.#033[0m
Apr  4 14:07:07 house hass[8237]: #033[32m2019-04-04 14:07:07 INFO (MainThread) [homeassistant.helpers.entity_registry] Registered new climate.zwave entity: climate.honeywell_th6320zw2003_t6_pro_series_thermostat_cooling_1#033[0m
Apr  4 14:07:07 house hass[8237]: #033[32m2019-04-04 14:07:07 INFO (MainThread) [homeassistant.helpers.entity_registry] Registered new climate.zwave entity: climate.honeywell_th6320zw2003_t6_pro_series_thermostat_furnace#033[0m
Apr  4 14:07:07 house hass[8237]: #033[32m2019-04-04 14:07:07 INFO (MainThread) [homeassistant.helpers.entity_registry] Registered new climate.zwave entity: climate.honeywell_th6320zw2003_t6_pro_series_thermostat_dry_air#033[0m
Apr  4 14:07:07 house hass[8237]: #033[31m2019-04-04 14:07:07 ERROR (MainThread) [homeassistant.core] Error doing job: Task exception was never retrieved#033[0m
Apr  4 14:07:07 house hass[8237]: Traceback (most recent call last):
Apr  4 14:07:07 house hass[8237]:   File "/srv/homeassistant/lib/python3.6/site-packages/homeassistant/helpers/entity_platform.py", line 365, in _async_add_entity
Apr  4 14:07:07 house hass[8237]:     await entity.async_update_ha_state()
Apr  4 14:07:07 house hass[8237]:   File "/srv/homeassistant/lib/python3.6/site-packages/homeassistant/helpers/entity.py", line 225, in async_update_ha_state
Apr  4 14:07:07 house hass[8237]:     self._async_write_ha_state()
Apr  4 14:07:07 house hass[8237]:   File "/srv/homeassistant/lib/python3.6/site-packages/homeassistant/helpers/entity.py", line 255, in _async_write_ha_state
Apr  4 14:07:07 house hass[8237]:     attr = self.state_attributes or {}
Apr  4 14:07:07 house hass[8237]:   File "/srv/homeassistant/lib/python3.6/site-packages/homeassistant/components/climate/__init__.py", line 216, in state_attributes
Apr  4 14:07:07 house hass[8237]:     self.precision),
Apr  4 14:07:07 house hass[8237]:   File "/srv/homeassistant/lib/python3.6/site-packages/homeassistant/helpers/temperature.py", line 26, in display_temp
Apr  4 14:07:07 house hass[8237]:     temperature, temperature_unit, ha_unit)
Apr  4 14:07:07 house hass[8237]:   File "/srv/homeassistant/lib/python3.6/site-packages/homeassistant/util/temperature.py", line 25, in convert
Apr  4 14:07:07 house hass[8237]:     from_unit, TEMPERATURE))
Apr  4 14:07:07 house hass[8237]: ValueError:  is not a recognized temperature unit.#033[0m
Apr  4 14:07:07 house hass[8237]: #033[31m2019-04-04 14:07:07 ERROR (MainThread) [homeassistant.core] Error doing job: Task exception was never retrieved#033[0m
Apr  4 14:07:07 house hass[8237]: Traceback (most recent call last):
Apr  4 14:07:07 house hass[8237]:   File "/srv/homeassistant/lib/python3.6/site-packages/homeassistant/helpers/entity_platform.py", line 365, in _async_add_entity
Apr  4 14:07:07 house hass[8237]:     await entity.async_update_ha_state()
Apr  4 14:07:07 house hass[8237]:   File "/srv/homeassistant/lib/python3.6/site-packages/homeassistant/helpers/entity.py", line 225, in async_update_ha_state
Apr  4 14:07:07 house hass[8237]:     self._async_write_ha_state()
Apr  4 14:07:07 house hass[8237]:   File "/srv/homeassistant/lib/python3.6/site-packages/homeassistant/helpers/entity.py", line 255, in _async_write_ha_state
Apr  4 14:07:07 house hass[8237]:     attr = self.state_attributes or {}
Apr  4 14:07:07 house hass[8237]:   File "/srv/homeassistant/lib/python3.6/site-packages/homeassistant/components/climate/__init__.py", line 216, in state_attributes
Apr  4 14:07:07 house hass[8237]:     self.precision),
Apr  4 14:07:07 house hass[8237]:   File "/srv/homeassistant/lib/python3.6/site-packages/homeassistant/helpers/temperature.py", line 26, in display_temp
Apr  4 14:07:07 house hass[8237]:     temperature, temperature_unit, ha_unit)
Apr  4 14:07:07 house hass[8237]:   File "/srv/homeassistant/lib/python3.6/site-packages/homeassistant/util/temperature.py", line 25, in convert
Apr  4 14:07:07 house hass[8237]:     from_unit, TEMPERATURE))
Apr  4 14:07:07 house hass[8237]: ValueError:  is not a recognized temperature unit.#033[0m
Apr  4 14:07:07 house hass[8237]: #033[31m2019-04-04 14:07:07 ERROR (MainThread) [homeassistant.core] Error doing job: Task exception was never retrieved#033[0m
Apr  4 14:07:07 house hass[8237]: Traceback (most recent call last):
Apr  4 14:07:07 house hass[8237]:   File "/srv/homeassistant/lib/python3.6/site-packages/homeassistant/helpers/entity_platform.py", line 365, in _async_add_entity
Apr  4 14:07:07 house hass[8237]:     await entity.async_update_ha_state()
Apr  4 14:07:07 house hass[8237]:   File "/srv/homeassistant/lib/python3.6/site-packages/homeassistant/helpers/entity.py", line 225, in async_update_ha_state
Apr  4 14:07:07 house hass[8237]:     self._async_write_ha_state()
Apr  4 14:07:07 house hass[8237]:   File "/srv/homeassistant/lib/python3.6/site-packages/homeassistant/helpers/entity.py", line 255, in _async_write_ha_state
Apr  4 14:07:07 house hass[8237]:     attr = self.state_attributes or {}
Apr  4 14:07:07 house hass[8237]:   File "/srv/homeassistant/lib/python3.6/site-packages/homeassistant/components/climate/__init__.py", line 216, in state_attributes
Apr  4 14:07:07 house hass[8237]:     self.precision),
Apr  4 14:07:07 house hass[8237]:   File "/srv/homeassistant/lib/python3.6/site-packages/homeassistant/helpers/temperature.py", line 26, in display_temp
Apr  4 14:07:07 house hass[8237]:     temperature, temperature_unit, ha_unit)
Apr  4 14:07:07 house hass[8237]:   File "/srv/homeassistant/lib/python3.6/site-packages/homeassistant/util/temperature.py", line 25, in convert
Apr  4 14:07:07 house hass[8237]:     from_unit, TEMPERATURE))
Apr  4 14:07:07 house hass[8237]: ValueError:  is not a recognized temperature unit.#033[0m
Apr  4 14:07:07 house hass[8237]: #033[31m2019-04-04 14:07:07 ERROR (MainThread) [homeassistant.core] Error doing job: Task exception was never retrieved#033[0m
Apr  4 14:07:07 house hass[8237]: Traceback (most recent call last):
Apr  4 14:07:07 house hass[8237]:   File "/srv/homeassistant/lib/python3.6/site-packages/homeassistant/helpers/entity.py", line 225, in async_update_ha_state
Apr  4 14:07:07 house hass[8237]:     self._async_write_ha_state()
Apr  4 14:07:07 house hass[8237]:   File "/srv/homeassistant/lib/python3.6/site-packages/homeassistant/helpers/entity.py", line 255, in _async_write_ha_state
Apr  4 14:07:07 house hass[8237]:     attr = self.state_attributes or {}
Apr  4 14:07:07 house hass[8237]:   File "/srv/homeassistant/lib/python3.6/site-packages/homeassistant/components/climate/__init__.py", line 216, in state_attributes
Apr  4 14:07:07 house hass[8237]:     self.precision),
Apr  4 14:07:07 house hass[8237]:   File "/srv/homeassistant/lib/python3.6/site-packages/homeassistant/helpers/temperature.py", line 26, in display_temp
Apr  4 14:07:07 house hass[8237]:     temperature, temperature_unit, ha_unit)
Apr  4 14:07:07 house hass[8237]:   File "/srv/homeassistant/lib/python3.6/site-packages/homeassistant/util/temperature.py", line 25, in convert
Apr  4 14:07:07 house hass[8237]:     from_unit, TEMPERATURE))
Apr  4 14:07:07 house hass[8237]: ValueError:  is not a recognized temperature unit.#033[0m
Apr  4 14:07:07 house hass[8237]: #033[32m2019-04-04 14:07:07 INFO (MainThread) [homeassistant.helpers.entity_registry] Registered new sensor.zwave entity: sensor.honeywell_th6320zw2003_t6_pro_series_thermostat_sourcenodeid#033[0m
Apr  4 14:07:07 house hass[8237]: #033[32m2019-04-04 14:07:07 INFO (MainThread) [homeassistant.helpers.entity_registry] Registered new sensor.zwave entity: sensor.honeywell_th6320zw2003_t6_pro_series_thermostat_power_management#033[0m
Apr  4 14:07:07 house hass[8237]: #033[31m2019-04-04 14:07:07 ERROR (MainThread) [homeassistant.core] Error doing job: Task exception was never retrieved#033[0m
Apr  4 14:07:07 house hass[8237]: Traceback (most recent call last):
Apr  4 14:07:07 house hass[8237]:   File "/srv/homeassistant/lib/python3.6/site-packages/homeassistant/helpers/entity.py", line 225, in async_update_ha_state
Apr  4 14:07:07 house hass[8237]:     self._async_write_ha_state()
Apr  4 14:07:07 house hass[8237]:   File "/srv/homeassistant/lib/python3.6/site-packages/homeassistant/helpers/entity.py", line 255, in _async_write_ha_state
Apr  4 14:07:07 house hass[8237]:     attr = self.state_attributes or {}
Apr  4 14:07:07 house hass[8237]:   File "/srv/homeassistant/lib/python3.6/site-packages/homeassistant/components/climate/__init__.py", line 216, in state_attributes
Apr  4 14:07:07 house hass[8237]:     self.precision),
Apr  4 14:07:07 house hass[8237]:   File "/srv/homeassistant/lib/python3.6/site-packages/homeassistant/helpers/temperature.py", line 26, in display_temp
Apr  4 14:07:07 house hass[8237]:     temperature, temperature_unit, ha_unit)
Apr  4 14:07:07 house hass[8237]:   File "/srv/homeassistant/lib/python3.6/site-packages/homeassistant/util/temperature.py", line 25, in convert
Apr  4 14:07:07 house hass[8237]:     from_unit, TEMPERATURE))
Apr  4 14:07:07 house hass[8237]: ValueError:  is not a recognized temperature unit.#033[0m
Apr  4 14:07:07 house hass[8237]: #033[31m2019-04-04 14:07:07 ERROR (MainThread) [homeassistant.core] Error doing job: Task exception was never retrieved#033[0m
Apr  4 14:07:07 house hass[8237]: Traceback (most recent call last):
Apr  4 14:07:07 house hass[8237]:   File "/srv/homeassistant/lib/python3.6/site-packages/homeassistant/helpers/entity.py", line 225, in async_update_ha_state
Apr  4 14:07:07 house hass[8237]:     self._async_write_ha_state()
Apr  4 14:07:07 house hass[8237]:   File "/srv/homeassistant/lib/python3.6/site-packages/homeassistant/helpers/entity.py", line 255, in _async_write_ha_state
Apr  4 14:07:07 house hass[8237]:     attr = self.state_attributes or {}
Apr  4 14:07:07 house hass[8237]:   File "/srv/homeassistant/lib/python3.6/site-packages/homeassistant/components/climate/__init__.py", line 216, in state_attributes
Apr  4 14:07:07 house hass[8237]:     self.precision),
Apr  4 14:07:07 house hass[8237]:   File "/srv/homeassistant/lib/python3.6/site-packages/homeassistant/helpers/temperature.py", line 26, in display_temp
Apr  4 14:07:07 house hass[8237]:     temperature, temperature_unit, ha_unit)
Apr  4 14:07:07 house hass[8237]:   File "/srv/homeassistant/lib/python3.6/site-packages/homeassistant/util/temperature.py", line 25, in convert
Apr  4 14:07:07 house hass[8237]:     from_unit, TEMPERATURE))
Apr  4 14:07:07 house hass[8237]: ValueError:  is not a recognized temperature unit.#033[0m
Apr  4 14:07:07 house hass[8237]: #033[31m2019-04-04 14:07:07 ERROR (MainThread) [homeassistant.core] Error doing job: Task exception was never retrieved#033[0m
Apr  4 14:07:07 house hass[8237]: Traceback (most recent call last):
Apr  4 14:07:07 house hass[8237]:   File "/srv/homeassistant/lib/python3.6/site-packages/homeassistant/helpers/entity.py", line 225, in async_update_ha_state
Apr  4 14:07:07 house hass[8237]:     self._async_write_ha_state()
Apr  4 14:07:07 house hass[8237]:   File "/srv/homeassistant/lib/python3.6/site-packages/homeassistant/helpers/entity.py", line 255, in _async_write_ha_state
Apr  4 14:07:07 house hass[8237]:     attr = self.state_attributes or {}
Apr  4 14:07:07 house hass[8237]:   File "/srv/homeassistant/lib/python3.6/site-packages/homeassistant/components/climate/__init__.py", line 216, in state_attributes
Apr  4 14:07:07 house hass[8237]:     self.precision),
Apr  4 14:07:07 house hass[8237]:   File "/srv/homeassistant/lib/python3.6/site-packages/homeassistant/helpers/temperature.py", line 26, in display_temp
Apr  4 14:07:07 house hass[8237]:     temperature, temperature_unit, ha_unit)
Apr  4 14:07:07 house hass[8237]:   File "/srv/homeassistant/lib/python3.6/site-packages/homeassistant/util/temperature.py", line 25, in convert
Apr  4 14:07:07 house hass[8237]:     from_unit, TEMPERATURE))
Apr  4 14:07:07 house hass[8237]: ValueError:  is not a recognized temperature unit.#033[0m
Apr  4 14:07:07 house hass[8237]: #033[31m2019-04-04 14:07:07 ERROR (MainThread) [homeassistant.core] Error doing job: Task exception was never retrieved#033[0m
Apr  4 14:07:07 house hass[8237]: Traceback (most recent call last):
Apr  4 14:07:07 house hass[8237]:   File "/srv/homeassistant/lib/python3.6/site-packages/homeassistant/helpers/entity.py", line 225, in async_update_ha_state
Apr  4 14:07:07 house hass[8237]:     self._async_write_ha_state()
Apr  4 14:07:07 house hass[8237]:   File "/srv/homeassistant/lib/python3.6/site-packages/homeassistant/helpers/entity.py", line 255, in _async_write_ha_state
Apr  4 14:07:07 house hass[8237]:     attr = self.state_attributes or {}
Apr  4 14:07:07 house hass[8237]:   File "/srv/homeassistant/lib/python3.6/site-packages/homeassistant/components/climate/__init__.py", line 216, in state_attributes
Apr  4 14:07:07 house hass[8237]:     self.precision),
Apr  4 14:07:07 house hass[8237]:   File "/srv/homeassistant/lib/python3.6/site-packages/homeassistant/helpers/temperature.py", line 26, in display_temp
Apr  4 14:07:07 house hass[8237]:     temperature, temperature_unit, ha_unit)
Apr  4 14:07:07 house hass[8237]:   File "/srv/homeassistant/lib/python3.6/site-packages/homeassistant/util/temperature.py", line 25, in convert
Apr  4 14:07:07 house hass[8237]:     from_unit, TEMPERATURE))
Apr  4 14:07:07 house hass[8237]: ValueError:  is not a recognized temperature unit.#033[0m
Apr  4 14:07:07 house hass[8237]: #033[32m2019-04-04 14:07:07 INFO (MainThread) [homeassistant.components.zwave] Z-Wave node 31 ready after 1 seconds#033[0m
Apr  4 14:07:07 house hass[8237]: #033[32m2019-04-04 14:07:07 INFO (MainThread) [homeassistant.helpers.entity_registry] Registered new zwave.zwave entity: zwave.honeywell_th6320zw2003_t6_pro_series_thermostat#033[0m
Apr  4 14:07:08 house hass[8237]: #033[31m2019-04-04 14:07:08 ERROR (MainThread) [homeassistant.core] Error doing job: Task exception was never retrieved#033[0m
Apr  4 14:07:08 house hass[8237]: Traceback (most recent call last):
Apr  4 14:07:08 house hass[8237]:   File "/srv/homeassistant/lib/python3.6/site-packages/homeassistant/helpers/entity.py", line 225, in async_update_ha_state
Apr  4 14:07:08 house hass[8237]:     self._async_write_ha_state()
Apr  4 14:07:08 house hass[8237]:   File "/srv/homeassistant/lib/python3.6/site-packages/homeassistant/helpers/entity.py", line 255, in _async_write_ha_state
Apr  4 14:07:08 house hass[8237]:     attr = self.state_attributes or {}
Apr  4 14:07:08 house hass[8237]:   File "/srv/homeassistant/lib/python3.6/site-packages/homeassistant/components/climate/__init__.py", line 216, in state_attributes
Apr  4 14:07:08 house hass[8237]:     self.precision),
Apr  4 14:07:08 house hass[8237]:   File "/srv/homeassistant/lib/python3.6/site-packages/homeassistant/helpers/temperature.py", line 26, in display_temp
Apr  4 14:07:08 house hass[8237]:     temperature, temperature_unit, ha_unit)
Apr  4 14:07:08 house hass[8237]:   File "/srv/homeassistant/lib/python3.6/site-packages/homeassistant/util/temperature.py", line 25, in convert
Apr  4 14:07:08 house hass[8237]:     from_unit, TEMPERATURE))
Apr  4 14:07:08 house hass[8237]: ValueError:  is not a recognized temperature unit.#033[0m
Apr  4 14:07:08 house hass[8237]: #033[31m2019-04-04 14:07:08 ERROR (MainThread) [homeassistant.core] Error doing job: Task exception was never retrieved#033[0m
Apr  4 14:07:08 house hass[8237]: Traceback (most recent call last):
Apr  4 14:07:08 house hass[8237]:   File "/srv/homeassistant/lib/python3.6/site-packages/homeassistant/helpers/entity.py", line 225, in async_update_ha_state
Apr  4 14:07:08 house hass[8237]:     self._async_write_ha_state()
Apr  4 14:07:08 house hass[8237]:   File "/srv/homeassistant/lib/python3.6/site-packages/homeassistant/helpers/entity.py", line 255, in _async_write_ha_state
Apr  4 14:07:08 house hass[8237]:     attr = self.state_attributes or {}
Apr  4 14:07:08 house hass[8237]:   File "/srv/homeassistant/lib/python3.6/site-packages/homeassistant/components/climate/__init__.py", line 216, in state_attributes
Apr  4 14:07:08 house hass[8237]:     self.precision),
Apr  4 14:07:08 house hass[8237]:   File "/srv/homeassistant/lib/python3.6/site-packages/homeassistant/helpers/temperature.py", line 26, in display_temp
Apr  4 14:07:08 house hass[8237]:     temperature, temperature_unit, ha_unit)
Apr  4 14:07:08 house hass[8237]:   File "/srv/homeassistant/lib/python3.6/site-packages/homeassistant/util/temperature.py", line 25, in convert
Apr  4 14:07:08 house hass[8237]:     from_unit, TEMPERATURE))
Apr  4 14:07:08 house hass[8237]: ValueError:  is not a recognized temperature unit.#033[0m
Apr  4 14:07:09 house hass[8237]: #033[32m2019-04-04 14:07:09 INFO (MainThread) [homeassistant.components.zwave] Z-Wave entity Honeywell TH6320ZW2003 T6 Pro Series Thermostat Alarm Type (node_id: 31) ready after 3 seconds#033[0m
Apr  4 14:07:09 house hass[8237]: #033[32m2019-04-04 14:07:09 INFO (MainThread) [homeassistant.helpers.entity_registry] Registered new sensor.zwave entity: sensor.honeywell_th6320zw2003_t6_pro_series_thermostat_alarm_type#033[0m
Apr  4 14:07:09 house hass[8237]: #033[32m2019-04-04 14:07:09 INFO (MainThread) [homeassistant.components.zwave] Z-Wave entity Honeywell TH6320ZW2003 T6 Pro Series Thermostat Alarm Level (node_id: 31) ready after 3 seconds#033[0m
Apr  4 14:07:09 house hass[8237]: #033[32m2019-04-04 14:07:09 INFO (MainThread) [homeassistant.helpers.entity_registry] Registered new sensor.zwave entity: sensor.honeywell_th6320zw2003_t6_pro_series_thermostat_alarm_level#033[0m

Hi @jaminh, did you ever manage to get this working? I have managed to setup 3 of these and they all seem to function mostly fine except for the (somewhat major) sticking point that I don’t seem to be able to set the target temp through home assistant. I detailed the problem a bit more here: Unable to set target temperature of Honeywell Lyric T6 Pro Thermostat.

Hey I was able to get it working. Looking at what you had posted it seems strange that you are trying to set the temperature on the dry air entity. For me it created climate entities for heating and cooling and I set the target temp in those. If you don’t have those entities you might have to remove the thermostats from your network, make sure the openzwave devices file is up to date and then re add the thermostats. Also make sure you are using the secure add function in home assistant. Hopefully that helps and feel free to let me know if any of that didn’t make sense. Also if it does work feel free to post this on your thread so other people can find it if they run into the same issue.

Interesting, I don’t seem to have a heat entity, I just had the cooling and dry air entities. And since there is no cooling system, I assumed that the dry air was just what the heating entity was called. I can definitely exclude and re-include the thermostats into the network (though its not at my home so it might be a bit before I get direct access to them to do this).

You also mention making sure the the openzwave devices file is up to date, is there anywhere you could point me in order to figure out how to do that? I’m fairly new to all this zwave stuff :slight_smile: I will be sure to update with how I end up getting it working if I am able to!

You can look here for how to update the openzwave config files Z-wave XML config files .

1 Like

@jaminh I tried this tonight while I had access to the devices (adding new config repo & repairing device) and unfortunately it doesn’t seem to have helped. The only change appears to be the entity name indicating that it has some idea of what device it is now rather than unknown being in the ids, they are now climate.honeywell_th6320zw2003_t6_pro_series_thermostat_*. But I still only have cooling and dry air climate entities, no heating.

If you have any other thoughts, please let me know! Regardless, thanks for you help!

I believe when first setting up the thermostat you have to tell it how many heating and cooling stages you have, is there any chance you may have forgotten to configure the heating stages?

If you look in your home assistant config directory I think there should be a file named something like zwcfg_*.xml. In there it should have an entry for the target set points for your thermostat, mine looks like:

<CommandClass id="67" name="COMMAND_CLASS_THERMOSTAT_SETPOINT" version="1" request_flags="4" innif="true" base="0">
        <Instance index="1" />
        <Value type="decimal" genre="user" instance="1" index="1" label="Heating 1" units="F" read_only="false" write_only="false" verify_changes="false" poll_intensity="0" min="0" max="0" value="66.0" />
        <Value type="decimal" genre="user" instance="1" index="2" label="Cooling 1" units="F" read_only="false" write_only="false" verify_changes="false" poll_intensity="0" min="0" max="0" value="77.0" />
        <Value type="decimal" genre="user" instance="1" index="7" label="Furnace" units="C" read_only="false" write_only="false" verify_changes="false" poll_intensity="0" min="0" max="0" value="0.0" />
        <Value type="decimal" genre="user" instance="1" index="8" label="Dry Air" units="C" read_only="false" write_only="false" verify_changes="false" poll_intensity="0" min="0" max="0" value="0.0" />
</CommandClass>

I seem to remember an incorrect number for the “base” attribute could would cause the wrong setpoints to be available so that may be an issue as well?

I think they came out with a version with newer firmware since I got my thermostat so that may be an issue to? It might be worth trying to remove and re-include the thermostats one more time too. I wish I could be more help but that is all I can think of right now.

No worries @jaminh, this is very helpful as its at least something to try out! I’ll have to check on the heating stages next time I have direct access to the thermostats, but if I remember correctly we set them to have a single heating stage.

These thermostat zwfg xml looks a bit different than yours so that may be leading down the right path. Here’s what they have:

<CommandClass id="67" name="COMMAND_CLASS_THERMOSTAT_SETPOINT" version="1" request_flags="4" innif="true" base="1">
    <Instance index="1" />
    <Value type="decimal" genre="user" instance="1" index="2" label="Cooling 1" units="C" read_only="false" write_only="false" verify_changes="false" poll_intensity="0" min="0" max="0" value="0.0" />
    <Value type="decimal" genre="user" instance="1" index="8" label="Dry Air" units="C" read_only="false" write_only="false" verify_changes="false" poll_intensity="0" min="0" max="0" value="0.0" />
</CommandClass>

Would changing this config file to match yours make a difference or are these details generated automatically from the device or something and would possibly be overwritten?

Yeah I think it is the “base=1” that is likely an issue. If I remember that file gets written when home assistant stops. The contents of that file should be populated based on what is in your openzwave configuration. Hopefully some combination of re-including the thermostats and restarting home assistant will get things to a working state.

@jaminh I now have better access to one of these thermostats and have been playing around with it some more. Thus far, I have not been able to get it to change from “base=1” to “base=0”, do you have any idea what setting might affect that? I’ve looked at all the different options for the thermostat and nothing seemed like an obvious problem.

I actually have more values now, but its still missing the heating one!

<CommandClass id="67" name="COMMAND_CLASS_THERMOSTAT_SETPOINT" version="1" request_flags="4" innif="true" base="1">
	<Instance index="1" />
	<Value type="decimal" genre="user" instance="1" index="2" label="Cooling 1" units="C" read_only="false" write_only="false" verify_changes="false" poll_intensity="0" min="0" max="0" value="24.0" />
	<Value type="decimal" genre="user" instance="1" index="3" label="Unused 3" units="C" read_only="false" write_only="false" verify_changes="false" poll_intensity="0" min="0" max="0" value="0.0" />
        <Value type="decimal" genre="user" instance="1" index="8" label="Dry Air" units="C" read_only="false" write_only="false" verify_changes="false" poll_intensity="0" min="0" max="0" value="0.0" />
	<Value type="decimal" genre="user" instance="1" index="9" label="Moist Air" units="C" read_only="false" write_only="false" verify_changes="false" poll_intensity="0" min="0" max="0" value="0.0" />
</CommandClass>

Looking at the OpenZwave config file for the thermostat I noticed the following:

  <!-- This thermostat's setpoint descriptions are 1 based, not 0 -->
  <CommandClass id="67">
    <Compatibility>
      <Base>0</Base>
    </Compatibility>
  </CommandClass>

I’m not sure what the base of the command class means, but I guess it makes sense that it wouldn’t work if its only compatible with 0 and my config is set to 1.

Right, I am pretty sure that base setting has to do with whether the indexes are started at 0 or 1. So your thermostat may be reporting the index for heat but home assistant is interpreting it as something else because the index is off by one. I don’t know why you ended up with the wrong value if it is correct in the openzwave config though.

That would make a lot of sense, since the first value I have is 2, which is the cooling entity, but it would be 1 if was base 0 instead of base 1, which would make it the heating entity which I’m looking for.

I tried manually changing the file myself which, unsurprising, got overwritten when I restarted Home Assistant. As far as you know is this strictly a Hass problem or could there be something wrong with the devices? Like they’re reporting something back to Hass incorrectly?

We can see the base value in the file is wrong so I assume the device is fine. If you are changing the file manually you would have to stop Hass first before modifying the file because as you found out Hass writes that file out when it stops the Z-Wave network on shutdown. I don’t think you should have to manually change that file though, I would recommend trying to remove the device, restart Hass, make sure the device has been removed from the file, re-add the device, restart Hass again, then check to see if it has the config correct in the file. If that doesn’t work maybe check to make sure you don’t have the openzwave library installed in multiple places or something, maybe the device config was updated in the wrong place? I would save manually updating the file as a last resort.

Hate to say it, but manually updating the file seems to have worked haha. I tried removing, restarting, re-adding, and restarting but it ended up with the same entities there unfortunately.

I’m not sure if manually updating the config will have any other side affects, but I was at least able to set the target temperature remotely for the heating mode!

If anyone else runs into similar issues, I followed basically what @jaminh said:

  1. Shutdown Home Assistant
  2. Edited zwcfg file to:
<CommandClass id="67" name="COMMAND_CLASS_THERMOSTAT_SETPOINT" version="1" request_flags="4" innif="true" base="0">
	<Instance index="1" />
        <Value type="decimal" genre="user" instance="1" index="1" label="Heating 1" units="C" read_only="false" write_only="false" verify_changes="false" poll_intensity="0" min="0" max="0" value="21.0" />
	<Value type="decimal" genre="user" instance="1" index="2" label="Cooling 1" units="C" read_only="false" write_only="false" verify_changes="false" poll_intensity="0" min="0" max="0" value="24.0" />
</CommandClass>
  1. Started Home Assistant back up

I’m glad you got it to work but I am curious why it wouldn’t work without manually editing the file.

Yeah, its very curious. As far as I know I don’t have multiple zwave configs, in my configuration.yaml I have the following:

zwave:
  config_path: /share/open-zwave/config

For what it’s worth it looks like other people ran into this issue and it sounds like someone else got it to work Honeywell T6 Z-Wave thermostat. That thread also has a much better description of the index issue than I provided.

Interesting, I’ll have a read through that as well. I can always just fall back to this manual edit of the file if need be, it would be nice to have it setup “properly” though, so I’ll give that a shot.

Did you change the zwave config files in the location you referenced “/share/open-zwave/config” or in the openzwave library location (likely something like “/srv/homeassistant/lib/python3.7/site-packages/python_openzwave/ozw_config/”)? I thought I may have remembered people having issues using the config_path setting in the past, could that be the issue?