Z-Wave Thermostat Problem

I have a CT-101 Radio Thermostat that I added to HA a few months back prior to our summer months. I haven’t as of yet added any automation around it however I was able to change the target temperature by moving the slider that appears in the UI. I noticed now that I have switched over to the Heating mode that even though I can change the slider to a desired temperature it doesn’t actually change the target temperature. It remains at what I set it for manually on the unit.

Is there an issue with controlling z-wave thermostats in the latest version of HA? Or has something changed when it moved to being a “Climate” component and maybe I need to update my configuration?

Do I need this set in my configuration file?

climate:
  platform: zwave

This was not previously required when I setup the z-wave thermostat. Is it required now? Seems like nothing has changed as far as what I see in the UI. It’s just not changing the temperature.

Anyone using either a CT-101 or CT-100 Radio Thermostat in HA? If so, any chance you could post a copy of the node information contained in your zwcgf_xxxxx.xml file? I would like to see if there any differences between what I current have showing (link below) and what your setup looks like assuming that yours is functioning correctly.

Before I attempt to remove and re-add it to my network I’d like to see if there really is a problem with the z-wave information.

http://hastebin.com/nimaqixala.xml

Thanks!

Sorry I didn’t see this sooner! I’m running a CT-101 and aside from the humidity updating only about twice a day (and seemingly stuck at 57%, I’m not sure it’s actually updating at all) it seems to run fine. Here’s the node from my xml:

<Node id="2" name="" location="" basic="4" generic="8" specific="6" type="General Thermostat V2" listening="true" frequentListening="false" beaming="true" routing="true" max_baud_rate="40000" version="3" query_stage="Complete">
<Manufacturer id="98" name="2GIG Technologies">
<Product type="6501" id="c" name="CT101 Thermostat (Iris)"/>
</Manufacturer>
<CommandClasses>
<CommandClass id="32" name="COMMAND_CLASS_BASIC" version="1" request_flags="5" innif="true" mapping="64">
<Instance index="1"/>
</CommandClass>
<CommandClass id="49" name="COMMAND_CLASS_SENSOR_MULTILEVEL" version="2" request_flags="1" innif="true">
<Instance index="1"/>
<Instance index="2" endpoint="1"/>
<Instance index="3" endpoint="2"/>
<Value type="decimal" genre="user" instance="1" index="1" label="Temperature" units="F" read_only="true" write_only="false" verify_changes="false" poll_intensity="0" min="0" max="0" value="67.5"/>
<Value type="decimal" genre="user" instance="1" index="5" label="Relative Humidity" units="%" read_only="true" write_only="false" verify_changes="false" poll_intensity="0" min="0" max="0" value="57"/>
</CommandClass>
<CommandClass id="64" name="COMMAND_CLASS_THERMOSTAT_MODE" version="1" request_flags="5" innif="true">
<Instance index="1"/>
<Value type="list" genre="user" instance="1" index="0" label="Mode" units="" read_only="false" write_only="false" verify_changes="false" poll_intensity="0" min="0" max="0" vindex="3" size="1">
<Item label="Off" value="0"/>
<Item label="Heat" value="1"/>
<Item label="Cool" value="2"/>
<Item label="Auto" value="3"/>
</Value>
<SupportedModes>
<Mode index="0" label="Off"/>
<Mode index="1" label="Heat"/>
<Mode index="2" label="Cool"/>
<Mode index="3" label="Auto"/>
</SupportedModes>
</CommandClass>
<CommandClass id="66" name="COMMAND_CLASS_THERMOSTAT_OPERATING_STATE" version="1" request_flags="5" innif="true">
<Instance index="1"/>
<Value type="string" genre="user" instance="1" index="0" label="Operating State" units="" read_only="true" write_only="false" verify_changes="false" poll_intensity="0" min="0" max="0" value="Idle"/>
</CommandClass>
<CommandClass id="67" name="COMMAND_CLASS_THERMOSTAT_SETPOINT" version="1" request_flags="5" 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="65"/>
<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="75"/>
</CommandClass>
<CommandClass id="68" name="COMMAND_CLASS_THERMOSTAT_FAN_MODE" version="1" request_flags="5" innif="true">
<Instance index="1"/>
<Value type="list" genre="user" instance="1" index="0" label="Fan Mode" units="" read_only="false" write_only="false" verify_changes="false" poll_intensity="0" min="0" max="0" vindex="0" size="1">
<Item label="Auto Low" value="0"/>
<Item label="On Low" value="1"/>
</Value>
<SupportedModes>
<Mode index="0" label="Auto Low"/>
<Mode index="1" label="On Low"/>
</SupportedModes>
</CommandClass>
<CommandClass id="69" name="COMMAND_CLASS_THERMOSTAT_FAN_STATE" version="1" request_flags="5" innif="true">
<Instance index="1"/>
<Value type="string" genre="user" instance="1" index="0" label="Fan State" units="" read_only="true" write_only="false" verify_changes="false" poll_intensity="0" min="0" max="0" value="Idle"/>
</CommandClass>
<CommandClass id="96" name="COMMAND_CLASS_MULTI_INSTANCE/CHANNEL" version="3" request_flags="1" innif="true">
<Instance index="1"/>
</CommandClass>
<CommandClass id="112" name="COMMAND_CLASS_CONFIGURATION" version="1" request_flags="5" innif="true">
<Instance index="1"/>
</CommandClass>
<CommandClass id="114" name="COMMAND_CLASS_MANUFACTURER_SPECIFIC" version="1" request_flags="5" innif="true">
<Instance index="1"/>
</CommandClass>
<CommandClass id="128" name="COMMAND_CLASS_BATTERY" version="1" request_flags="5" innif="true">
<Instance index="1"/>
<Value type="byte" genre="user" instance="1" index="0" label="Battery Level" units="%" read_only="true" write_only="false" verify_changes="false" poll_intensity="0" min="0" max="255" value="100"/>
</CommandClass>
<CommandClass id="129" name="COMMAND_CLASS_CLOCK" version="1" request_flags="5" innif="true">
<Instance index="1"/>
<Value type="list" genre="user" instance="1" index="0" label="Day" units="" read_only="false" write_only="false" verify_changes="false" poll_intensity="0" min="0" max="0" vindex="3" size="1">
<Item label="Monday" value="1"/>
<Item label="Tuesday" value="2"/>
<Item label="Wednesday" value="3"/>
<Item label="Thursday" value="4"/>
<Item label="Friday" value="5"/>
<Item label="Saturday" value="6"/>
<Item label="Sunday" value="7"/>
</Value>
<Value type="byte" genre="user" instance="1" index="1" label="Hour" units="" read_only="false" write_only="false" verify_changes="false" poll_intensity="0" min="0" max="255" value="7"/>
<Value type="byte" genre="user" instance="1" index="2" label="Minute" units="" read_only="false" write_only="false" verify_changes="false" poll_intensity="0" min="0" max="255" value="17"/>
</CommandClass>
<CommandClass id="133" name="COMMAND_CLASS_ASSOCIATION" version="1" request_flags="5" innif="true">
<Instance index="1"/>
<Instance index="2" endpoint="1"/>
<Instance index="3" endpoint="2"/>
<Associations num_groups="1">
<Group index="1" max_associations="2" label="Group 1" auto="true">
<Node id="1"/>
</Group>
</Associations>
</CommandClass>
<CommandClass id="134" name="COMMAND_CLASS_VERSION" version="1" request_flags="5" innif="true">
<Instance index="1"/>
<Value type="string" genre="system" instance="1" index="0" label="Library Version" units="" read_only="true" write_only="false" verify_changes="false" poll_intensity="0" min="0" max="0" value="3"/>
<Value type="string" genre="system" instance="1" index="1" label="Protocol Version" units="" read_only="true" write_only="false" verify_changes="false" poll_intensity="0" min="0" max="0" value="3.28"/>
<Value type="string" genre="system" instance="1" index="2" label="Application Version" units="" read_only="true" write_only="false" verify_changes="false" poll_intensity="0" min="0" max="0" value="9.00"/>
</CommandClass>
<CommandClass id="135" name="COMMAND_CLASS_INDICATOR" version="1" request_flags="5" innif="true">
<Instance index="1"/>
<Value type="byte" genre="user" instance="1" index="0" label="Indicator" units="" read_only="false" write_only="false" verify_changes="false" poll_intensity="0" min="0" max="255" value="0"/>
</CommandClass>
</CommandClasses>
</Node>

While I’m here, has anyone figured out how to get the humidity to poll more often? I’ve tried setting polling in the zwave config panel but if I change it at all and restart I get “can’t load zwave.”

@Dan_Bowkley,

Thanks for posting your xml: information. I did a compare and noticed a few things different however I am not sure what kind of impact it would have. Here are the items I noticed that are different:

  1. frequentListening=“false” you have as false, mine is set to “true”
  2. yours list CT101 and your id=“c”, mine is listed as “Unknown: type 6501 id=000b” and my id=“b”
    3.In CommandClass 49 you have a whole section for “Relative Humidity”, I do not have this listed
  3. In CommandClass 64 your vindex=“3”, min is vindex=“1”

The remainder of the information seems to be identical.

These are the two climate sensors I see in HA: (Is yours similar?)

climate.first_floor_thermostat_cooling_1_34_2
current_temperature: 70
friendly_name: First_Floor_Thermostat Cooling 1
operation_mode: Heat
temperature: 70
operating_state: Heating
fan_list: On Low,Auto Low
unit_of_measurement: °F
max_temp: 95
fan_mode: Auto Low
fan_state: Idle
operation_list: Heat,Auto,Off,Cool
node_id: 34
min_temp: 44.6

climate.first_floor_thermostat_unused_3_34_3
current_temperature: 70
friendly_name: First_Floor_Thermostat Unused 3
operation_mode: Heat
temperature: 70
operating_state: Heating
fan_list: On Low,Auto Low
unit_of_measurement: °F
max_temp: 95
fan_mode: Auto Low
fan_state: Idle
operation_list: Heat,Auto,Off,Cool
node_id: 34
min_temp: 44.6

I do not even see humidity listed however I wonder if it’s because of that missing section in the CommandClass?

I have some questions but started a thread here more generic than this issue.
https://community.home-assistant.io/t/radio-thermostat-ct101/21605