I have a Radio Thermostat CT-101 Iris model that I’m using with HASS. Setting and getting the temperatures works fine. Originally I had issues with the temperature not updating, but I set polling_intensity: 1
for zwave device_config and now that’s working. Unfortunately the operating_state
and fan_state
attributes only seem to be updating once every 30-60 minutes at the most… so when I’m home I can hear the HVAC system cycle on and off (and even hear the relays in the thermostat itself… it’s within sight of my desk) but HASS never updates. There are times it will cycle on and off multiple times within an hour, and HASS never “finds out” about those. The thermostat is running off of 24VAC power from the HVAC not battery, and the zwave entity attributes confirm that it’s always awake and ready.
One thing that I noticed is that I set polling_intensity in configuration.yaml:
zwave:
usb_path: /dev/ttyACM0
device_config:
zwave.2gig_technologies_ct101_thermostat_iris:
polling_intensity: 1
climate.2gig_technologies_ct101_thermostat_iris_cooling_1:
polling_intensity: 1
climate.2gig_technologies_ct101_thermostat_iris_heating_1:
polling_intensity: 1
sensor.2gig_technologies_ct101_thermostat_iris_temperature:
polling_intensity: 1
But in my zwcfg xml, it looks like the polling is set up for the current temperature:
<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="1" min="0" max="0" value="73.0" />
</CommandClass>
and for the current setpoints:
<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="1" min="0" max="0" value="70" />
<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="1" min="0" max="0" value="71" />
</CommandClass>
but not for the operating state or fan mode:
<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="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>
I was wondering if anyone else has a similar thermostat with this issue?
I guess the only thing I can really think of is that when I set polling_intensity via HASS it only gets applied to attributes that have an entity mapped to them, i.e. the current temperature and set points, and not to attributes that don’t have entities (i.e. operating_state
and fan_state
). Assuming that’s the case, I’d either need to hand-edit my zwcfg xml (which seems like a bad idea since HASS also manages this file) or else patch HASS somehow to fix this (possibly by adding sensor entities for the operating_state and fan_state?)