Refreshing a thermostat returns incorrect setpoint

I have a zwave thermostat, and cannot get it to work properly. I have tried some of the modified device types out there with no luck, as well as deleting the device. Here are the symptoms:

Temp in 66F in both app and thermostat.
Increase temp on thermostat to 67, app increases to 67.
Press refresh in app, app returns to 66…and from now on will always report 66.

Set app to 63, thermostat obeys.
Increase thermostat to 66, app reflects increase (sometimes).
Press refresh…app returns to 63.

Any ideas?

Are you using the modified code or stock code? Also look at the live logging and see what it reports when you press refresh.
Try 2 things

  1. Reset your hub (don’t ask why but it helps)
  2. If you’re using custom code, ensure you didn’t accidentally make a mistake in the refresh function

This happens to me with a few different device types, but I’m pretty sure they all use the same poll code for heatSetpoint.

The parse logging returns exactly as if the thermostat had reported back the wrong setpoint (no exceptions, anything like that) with isstatechange false.

I have reset the thermostat to no avail. I just reset my hub, will update if that makes a difference.

No, no difference. I wonder if this is a problem in the firmware I am using on the hub:

zigbeeFirmware: 1.5.4

By reset did you mean reboot? I rebooted.

What thermostat are you using?

The Lowes Iris thermostat, which is a rebranded 2gig ct101 (identified by a sticker inside). All other functions are fine…humimdity, battery, etc. I just cannot refresh the setpoint.

Well, after a lot of debugging, all I can figure is that my thermostat must have a hardware bug.

Everything works perfectly as long as I do not do a refresh. By doing a refresh I will get the last setpoint value set over zwave, not the current value.