How to make heatit thermostats work with the zwave binding


This was a bit frustrating. I followed the item and sitemap examples on the wiki:

Following the example on the wiki I have item and sitemap entries as follows:

	Number TestTemp  "Heating [%.1f C]" {zwave="30:0:command=sensor_multilevel,sensor_type=1"}
	Number TestSetpoint	"Heating [%.1f C]" {zwave="30:command=thermostat_setpoint,setpoint_type=1,setpoint_scale=0"}
	Number TestMode "Mode [%.1f]" {zwave="30:0:command=thermostat_mode"}
	DateTime TestLastUpdated "Updated [%1$tH:%1$tM]" {zwave="30:command=info,item=last_update"}

	Setpoint item=TestSetpoint icon="heating" minValue=4 maxValue=30 step=0.5
	Text item=TestTemp
	Text item=TestLastUpdated
	Text item=TestMode`

The temperature updated correctly (using the default air sensor), the time updated showed correctly, and the mode read as 11 (“Heat Econ”). However changing the setpoint had no effect on the device.

On a hunch I changed the mode to 1 (“Heat”). It then started working, with changes to the setpoint being immediately reflected on the device. This doesn’t make much sense to me, but I thought I’d put it in a post in case it’s of assistance to anyone else (or indeed anyone can explain this odd behaviour!)