I figured it out with the help of this GoControl GC-TBZ48 Z-Wave Thermostat - Can't control setpoints?
I think it would work on hass io, but I was using raspbian + hass.
Steps:
- Stop hass
- Edit zwcfg_*.cfg. Not sure if you can edit this with hass io stopped. Maybe you can get away with just stopping the zwave network. I had trouble with the file getting overwritten though.
- Find the node for your thermostat and change the section
COMMAND_CLASS_THERMOSTAT_SETPOINT
to:
<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="1" label="Heating 1" units="F" read_only="false" write_only="false" verify_changes="false" poll_intensity="0" min="0" max="0" value="67" />
<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" />
</CommandClass>
- Start hass
This worked for GoControl. I assume it’s similar for other thermostats.