ZWave Thermostats Broken?

Could you please provide the zwcfg_xxx.xml entry for this device?

zwcfg_0xc66d2420.xml (50.3 KB)

Not sure what else to try, dead in the water with the Climate control.
Here are the error logs, hope it helps

16-09-05 08:45:23 homeassistant.components.climate: Error while setting up platform zwave
Traceback (most recent call last):
File “/usr/local/lib/python3.4/dist-packages/homeassistant/helpers/entity_component.py”, line 98, in _setup_platform
discovery_info)
File “/usr/local/lib/python3.4/dist-packages/homeassistant/components/climate/zwave.py”, line 66, in setup_platform
add_devices([ZWaveClimate(value, temp_unit)])
File “/usr/local/lib/python3.4/dist-packages/homeassistant/components/climate/zwave.py”, line 93, in init
self.update_properties()
File “/usr/local/lib/python3.4/dist-packages/homeassistant/components/climate/zwave.py”, line 153, in update_properties
class_id=COMMAND_CLASS_THERMOSTAT_SETPOINT).values():
File “/usr/local/lib/python3.4/dist-packages/openzwave-0.3.1-py3.4.egg/openzwave/node.py”, line 438, in get_values
for value in self.values:
RuntimeError: dictionary changed size during iteration
16-09-05 08:45:23 homeassistant.components.climate: Error while setting up platform zwave
Traceback (most recent call last):
File “/usr/local/lib/python3.4/dist-packages/homeassistant/helpers/entity_component.py”, line 98, in _setup_platform
discovery_info)
File “/usr/local/lib/python3.4/dist-packages/homeassistant/components/climate/zwave.py”, line 66, in setup_platform
add_devices([ZWaveClimate(value, temp_unit)])
File “/usr/local/lib/python3.4/dist-packages/homeassistant/components/climate/zwave.py”, line 93, in init
self.update_properties()
File “/usr/local/lib/python3.4/dist-packages/homeassistant/components/climate/zwave.py”, line 135, in update_properties
class_id=COMMAND_CLASS_THERMOSTAT_FAN_MODE).values():
File “/usr/local/lib/python3.4/dist-packages/openzwave-0.3.1-py3.4.egg/openzwave/node.py”, line 438, in get_values
for value in self.values:
RuntimeError: dictionary changed size during iteration

Current entities

Entity State Attributes
climate.trane_model_tzemt400bb32maa_cooling_1_2 unknown current_temperature: 74
fan_list: On Low,Auto Low
fan_mode: Auto Low
friendly_name: Cool1
max_temp: 95
min_temp: 45
node_id: 2
operation_list: Heat,Auto,Off,Aux Heat,Cool
operation_mode: Auto
temperature: null
unit_of_measurement: °F
climate.trane_model_tzemt400bb32maa_heating_1_2 unknown current_temperature: 74
fan_list: On Low,Auto Low
fan_mode: Auto Low
friendly_name: Heat1
max_temp: 95
min_temp: 45
node_id: 2
operation_list: Heat,Auto,Off,Aux Heat,Cool
operation_mode: Auto
temperature: null
unit_of_measurement: °FPreformatted text

Try this fix: https://github.com/home-assistant/home-assistant/pull/3205

@turbokongen first thanks for your help!! how do I try the fix?
I’m ignorant with Python.

@turbokongen @robbiet480 One clarification on my Zwave issue, the problem seems to occur with Thermostat is on “AUTO”. The temp can’t be changed, and is reported as Null
Changing from HA the mode to “Cool”, you can see the temp successfully and are able to change the values successfully.

Hi! @turbokongen, I’m new to Python, you mentioned to try a fix, but I’m not sure how to copy the new zwave/py file into my running system (RPi). Any tips? GRACIAS!!

@turbokongen a bit better on 0.28.1, but still if mode is “Auto” the Temp are shown as Null and no service is called if value is changed in the slider

@RABCbot your thermostat does not have a auto setpoint(This is at zwave side of things). That is why setting a temp in auto mode does not work and shows as null.

@turbokongen THANKS FOR YOUR REPLAY!!
I’m confused now…the XML seems to allow Auto option

-

-






-







-



-



-

-

-

-

-

Preformatted text

Here is the XML file, it seems to have Auto mode, I would really like to control my Thermostat only the SET POINTS (Cool/Heat) and keep it on Auto

- Preformatted text

The device supports setting to Auto mode, but there is no setpoint to set for auto mode, Only Heat and Cool setpoint is available at zwave level.

@turbokongen Really appreciate staying with me an explaining the reasons why the Climate component does not work in my case, for my Trane unit, God Bless you for your time!
I think understand now the issue, with my Trane Thersmostate. The fields HA is expecting simple don’t exists. My logic next question is: Can HA be modified to use the Cool/Heat setpoints instead? At this time. I had to (1) Change mode to Auto, (2) Set new Cool point and (3) set back to auto and it does accomplish what I need. Set the new Auto range Can the Climate Zwave component be tweaked to workaround these units that lack the values you spec??
THANK YOU AGAIN

There are some questions to be asked regarding this.

  1. Does the cool and heat setpoints from zwave gets used to control the auto mode on the thermostat itself?
  2. How do you control the auto setpoint at the thermostat? Single setpoint or range?
  3. Can we be sure that the cool and heat setpoints are used to control the auto mode, and is this just specific to this thermostat or all zwave thermostats?
    It is no problem to provide a hack for you to use like you describe. But all of the above will need to be checked for several more devices before we can implement it into HA.

That is strange, because prior to 0.28, which is to say prior to combining hvac and thermostat under the climate domain, my thermostat (a CT100) was in Auto mode 24/7, and I was always able to change the temperature, but you are talking like this is a limitation with Zwave, yet it was able to work when I used the hvac domain on earlier versions of Home Assistant, so how does a feature that worked suddenly not work, and the only change was updating Home Assistant, because it worked for me prior to the update for 3 months.

Prior to moving over to Home Assistant, I was on SmartThigns, and it worked exactly the same way over there as well… same thermostat, set to Auto mode 24/7, and i was changing the temperature through automations daily for nearly a year.

Either way, would it be a a difficult undertaking to have a standard feature built in where by Home Assistant checks if the mode is set to Auto, and if so, changes it to Cool or Heat, then sets the temperature, and finally changes it back to Auto?

I have tried this myself with an automation, but the timing is not accurate, so no matter what steps I take, I can see the Mode change from Auto to Cool and then Back to Auto, but only half the time it actually changes the temperature before the mode is set back to Auto, so its not a usable work around.

Its just frustrating to have an Auto mode that does not have any use in automation. Having to manually check the current temperature and determine if my target temperature is above or below the current temperature to determine whether to set it to Cool or Heat is basically like programing my own Auto mode, which defeats the purpose of the thermostat having a built in Auto mode.

Here is a link to the Trane TZEMT400 model Thermostat


I was controlling it using myNexia.com, but switched to HA recently

From page 17 on the PDF manual
The current heat and cool setpoints are displayed.
These setpoints may be set using the Z-Wave control
system, the thermostat’s internal schedule, or by
pressing the Setpoint Up/Down buttons. In HEAT
mode, the Setpoint Up/Down buttons change the heat
setpoint. In COOL mode, they change the cooling
setpoint. In AUTO mode, the buttons change the last
call’s heating or cooling setpoint.

PLEASE HELP!
MyNexia subscription expired and had to move all my devices to Home-assistant. Not all Climate Zwave devices are detected. This is frustrating!

Getting multiple errors

16-09-24 14:47:33 homeassistant.components.climate: Error while setting up platform zwave
Traceback (most recent call last):
File “/usr/local/lib/python3.4/dist-packages/homeassistant/helpers/entity_component.py”, line 107, in _setup_platform
discovery_info)
File “/usr/local/lib/python3.4/dist-packages/homeassistant/components/climate/zwave.py”, line 73, in setup_platform
add_devices([ZWaveClimate(value, temp_unit)])
File “/usr/local/lib/python3.4/dist-packages/homeassistant/components/climate/zwave.py”, line 102, in init
self.update_properties()
File “/usr/local/lib/python3.4/dist-packages/homeassistant/components/climate/zwave.py”, line 143, in update_properties
class_id=COMMAND_CLASS_SENSOR_MULTILEVEL).values():
File “/usr/local/lib/python3.4/dist-packages/openzwave-0.3.1-py3.4.egg/openzwave/node.py”, line 438, in get_values
for value in self.values:
RuntimeError: dictionary changed size during iteration
16-09-24 14:47:34 homeassistant.components.climate: Error while setting up platform zwave
Traceback (most recent call last):
File “/usr/local/lib/python3.4/dist-packages/homeassistant/helpers/entity_component.py”, line 107, in _setup_platform
discovery_info)
File “/usr/local/lib/python3.4/dist-packages/homeassistant/components/climate/zwave.py”, line 73, in setup_platform
add_devices([ZWaveClimate(value, temp_unit)])
File “/usr/local/lib/python3.4/dist-packages/homeassistant/components/climate/zwave.py”, line 102, in init
self.update_properties()
File “/usr/local/lib/python3.4/dist-packages/homeassistant/components/climate/zwave.py”, line 167, in update_properties
class_id=COMMAND_CLASS_THERMOSTAT_SETPOINT).values():
File “/usr/local/lib/python3.4/dist-packages/openzwave-0.3.1-py3.4.egg/openzwave/node.py”, line 438, in get_values
for value in self.values:
RuntimeError: dictionary changed size during iteration
16-09-24 14:47:37 homeassistant.components.climate: Error while setting up platform zwave
Traceback (most recent call last):
File “/usr/local/lib/python3.4/dist-packages/homeassistant/helpers/entity_component.py”, line 107, in _setup_platform
discovery_info)
File “/usr/local/lib/python3.4/dist-packages/homeassistant/components/climate/zwave.py”, line 73, in setup_platform
add_devices([ZWaveClimate(value, temp_unit)])
File “/usr/local/lib/python3.4/dist-packages/homeassistant/components/climate/zwave.py”, line 102, in init
self.update_properties()
File “/usr/local/lib/python3.4/dist-packages/homeassistant/components/climate/zwave.py”, line 149, in update_properties
class_id=COMMAND_CLASS_THERMOSTAT_FAN_MODE).values():
File “/usr/local/lib/python3.4/dist-packages/openzwave-0.3.1-py3.4.egg/openzwave/node.py”, line 438, in get_values
for value in self.values:
RuntimeError: dictionary changed size during iteration
16-09-24 14:47:55 homeassistant.components.recorder: Error during query: (sqlite3.OperationalError) database is locked
16-09-24 14:48:00 homeassistant.components.recorder: Error during query: (sqlite3.OperationalError) database is locked

Hello

i may have the same issue