I saw this thread where for z-wave there’s a sleep and awake period and the setpoint can only be set when the device wakes up. Is it possible that is what is happening to me with this zigbee thermostat?
If I reboot the thermostat and openhab and then change the setpoint (such as saying “alexa set thermostat to 70”) it will update on the thermostat nearly immediately which is good.
But if some hours later I try to change the setpoint it updates the openhab item but doesn’t change on the thermostat. Then some time later the openhab item changes back to what the thermostat actually is.
ZigBee (generally) has a different concept for managing battery devices. Instead of the defined wake period like ZWave, devices like thermostats are meant to wake up at least every 7.6 seconds to check their parent for any waiting messages.
Not all battery devices do this (many don’t!), but I would expect a thermostat to follow this rule since it needs to be controllable “immediately”.
No, not using a rule for this at all. Here are my items:
Group Thermostat “Thermostat” [ “Thermostat”, “Fahrenheit” ]
Number:Temperature Temperature “Temperature” (Thermostat) [ “CurrentTemperature” ]
Number:Temperature TargetTemp “Target Temperature” (Thermostat) [ “homekit:TargetTemperature” ]
Number HeatingMode “Heating Mode” (Thermostat) [ “homekit:TargetHeatingCoolingMode” ]
I simply say “alexa set temperature to 70” and after the thermostat and openhab are freshly started I can go over and literally see that the temperature set on the thermostat has changed. But if some hours later I try adjusting the temperature again the item changes in openhab like before but the thermostat itself no longer changes.
It’s not really got anything to do with the thermostat - the binding handles everything to do with the Item types - the thermostat will only see the ZigBee attribute updates which the binding sends. Any conversion is done in the binding and it handles the QuantityType.
I appreciate the responses. I’ve just been a bit busy. I was hoping to get time to enable the zigbee debug logging and then see if there becomes a difference in the send/receive of the packets after time. I figured that would probably be of more use to Chris to help troubleshoot this. I’ll update once I find time to try these things.
@chris I’ve been trying the latest SNAPSHOT for a while but still having this problem. Here are two logs …of when the thermostat set temp does change (after restarting the thermostat) and then hours later when it no longer changes.
What I’ll do is to create a new release of the libraries - once this is done I’ll post back here. Please then update to this library using @5iver s script -:
It will ask you what version to use - this should be 1.3.5 for the libraries.
I don’t really expect this to change anything, but let’s start from a known baseline. I assume this is happening reasonably often (??) - if so I’ll probably add some debug to the libraries so we can try and work out what is wrong.
@chris Thank you. Whatever you have for me to try I’m willing to give a shot. After the thermostat is reset after a few hours it quits updating the set temperature if I ask it to so sadly I’ve just been changing it manually by walking over to it. Obviously you’re the expert but I believe from my looking at the logs I uploaded that the logs change from when it works to when it doesn’t.
There’s clearly an issue - the libraries are not sending commands to this device - I don’t know why and will likely need to add debug to work out why…
V 1.3.5 should now be available - or if not, then it should be in the next 30 minutes or so (depending on where @5iver s script gets the files from (Bintray or central).
If you can get another log to show that this issue still exists, then I’ll try to work out what to do next - it will no doubt be a few iterations of debugging.
The script downloads everything from bintray, but gets some OH version info from CI and GH. Version 1.3.5 is available using option 2: ZigBee Library release (pre-openHAB snapshot).
Nope, you’ll need to do it manually. I just updated the script today and changed some URLs and this reminded me that I did not update the readme. I’ll try to get to it tonight, but if downloads don’t work, look into the script for the URLs.
One of these days I will convert it to a Jython rule.