-
-
Notifications
You must be signed in to change notification settings - Fork 30.8k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Honeywell Lyric integration unable to make changes #48801
Comments
lyric documentation |
I am also unable to send any setpoint commands to my device. The thermostat lights up like it is receiving something but the setpoint doesn't change the log reads: {'code': 400, 'message': 'Cool setpoint can not be lower than heat setpoint plus deadband.'}, 'status': 400}. Even if I try to manually adjust the setpoints I get the same error. |
According to the API docs: https://developer.honeywellhome.com/lyric/apis/post/devices/thermostats/%7BdeviceId%7D
@wtadler What thermostat are you using? The docs don't make much sense of whether this setting should be set or not in the request.. @thedude0101 That error is different. Can you open another issue detailing your thermostat and the errors with any other logs you can find? If you know how, you can set the logger component/integration to debug to find the request made to Lyric. homeassistant.components.lyric: debug
lyric: debug |
Just to confuse things even more:
|
It's a Honeywell Lyric Round RCH9310WF. |
I also have a lyric round and am experiencing this issue. It only happens in cool mode. Heat Mode works perfect. Logs:
|
I believe the issue of the thermostat not updating may be tied to the code not setting the coolsetpoint when the mode is cool. The following error messages show the heatsetpoint being updated even though the mode = cool, and the coolsetpoint is not. No changes are accepted by the thermostat when it is in cool mode, and when coolsetpoint is raised "too high" it throws an error because the cool setpoint is too low compared to the heat setpoint. Errors showing code is only updating the heatsetpoint even when in cool mode: `{'request': {'method': 'POST', 'url': 'https://api.honeywell.com/v2/devices/thermostats/TCC-4559684?apikey=VghRFeH6UDYmmoUEAvA3Jno08mJvGEsx&locationId=2181062', 'headers': {'Authorization': 'Bearer cBFpYekMn1l4AXeA06HNFob1TFgK', 'Content-Type': 'application/json'}, 'json': {'mode': 'Cool', 'heatSetpoint': 72.0, 'coolSetpoint': 68, 'autoChangeoverActive': False}}, 'response': {'code': 400, 'message': 'Cool setpoint can not be lower than heat setpoint plus deadband.'}, 'status': 400} {'request': {'method': 'POST', 'url': 'https://api.honeywell.com/v2/devices/thermostats/TCC-4559684?apikey=VghRFeH6UDYmmoUEAvA3Jno08mJvGEsx&locationId=2181062', 'headers': {'Authorization': 'Bearer cBFpYekMn1l4AXeA06HNFob1TFgK', 'Content-Type': 'application/json'}, 'json': {'mode': 'Cool', 'heatSetpoint': 75.0, 'coolSetpoint': 68, 'autoChangeoverActive': False}}, 'response': {'code': 400, 'message': 'Cool setpoint can not be lower than heat setpoint plus deadband.'}, 'status': 400}` My assumption of where the code is mishandling temp setting is in the climate.py file. The set_temperature function odesnt hcnage the cool set point. Function: async def async_set_temperature
The set temp only changes heatSetPoint, which means coolsetpoint is never changed, hence the issue and the errors |
I am seeing this same thing. I change the setpoint on the GUI and get the error below indicating the heat setpoint is changed instead of the coolSetpoint..... EDIT: Sorry forgot some info regarding my systems... Error: {'request': {'method': 'POST', 'url': 'https://api.honeywell.com/v2/devices/thermostats/LCC-00D02DB15F97?apikey=MJXYUi2JoMsTePG7l4LsBQGqJeAo6hlH&locationId=1330400', 'headers': {'Authorization': 'Bearer f8NnEVsqgCxZQaPka73V51Azs0AK', 'Content-Type': 'application/json'}, 'json': {'mode': 'Cool', 'heatSetpoint': 77.0, 'coolSetpoint': 76, 'thermostatSetpointStatus': 'PermanentHold'}}, 'response': {'code': 400, 'message': 'Thermostat already switched to Cool mode.'}, 'status': 400} |
I'm seeing the same thing with the cool set point not actually changing in the post request, but the response I'm getting from the server is a little different:
|
Spotted and fixed by @yraghu in timmo001/aiolyric#11 I'll be releasing a package update soon and updating the version here. |
Sad to report that this fix, which I believe made it into 2021.6.2, doesn't eliminate the problem. Here is what appears to be happening for me. If I am in cooling mode, adjusting the temperature appears to be requesting a change to
and if I do basically anything else (like switch to heat mode, turn it off, or set the target temperature low) I get the following error:
Seems like the two fixes would be to figure out why it is requesting an adjustment to |
The problem
The Lyric integration seems to be reading the thermostat status just fine. But I cannot make changes. No error is made visible in Lovelace. But I do get the below error in the log, printed once for each time I try to make a change.
What is version of Home Assistant Core has the issue?
core-2021.4.0
What was the last working version of Home Assistant Core?
No response
What type of installation are you running?
Home Assistant OS
Integration causing the issue
Lyric
Link to integration documentation on our website
https://www.home-assistant.io/integrations/lyric/
Example YAML snippet
No response
Anything in the logs that might be useful for us?
The text was updated successfully, but these errors were encountered: