Skip to content
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 Cool Mode Not Supported #50825

Closed
ecelonghorn opened this issue May 18, 2021 · 22 comments · Fixed by #54856
Closed

Honeywell Lyric Cool Mode Not Supported #50825

ecelonghorn opened this issue May 18, 2021 · 22 comments · Fixed by #54856

Comments

@ecelonghorn
Copy link

The problem

The Lyric Integration only updates the heat setpoint, and does not support updating the cool setpoint. This means that any changes made to the thermostat while the mode = cool are not supported, and the heat setpoint is incorrectly updated.

What is version of Home Assistant Core has the issue?

core-2021.5.4

What was the last working version of Home Assistant Core?

Never

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?

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-', 'headers': {'Authorization': 'Bearer ', '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-', 'headers': {'Authorization': 'Bearer ', '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}`

Additional information

May or may not be related to Issue #48801, but at 41 days since it was opened, and no activity in 14 days, it seemed like that issue is dead.

As seen in the errors above, the coolSetpoint is not being changed. On the thermostat, no changes are ever seen while it is in cool mode. In heat mode everything works perfectly. If the heatSetpoint gets too high, then an error is thrown for: 'Cool setpoint can not be lower than heat setpoint plus deadband.'

I believe the issue of the thermostat not updating is due to the code not setting the coolSetpoint when the mode is cool.

My assumption of where the code is mishandling temp setting is in the climate.py file. The set_temperature function doesn't change the cool set point.

Function: async def async_set_temperature

else: temp = kwargs.get(ATTR_TEMPERATURE) _LOGGER.debug("Set temperature: %s", temp) try: await self._update_thermostat(self.location, device, heatSetpoint=temp) except LYRIC_EXCEPTIONS as exception: _LOGGER.error(exception) await self.coordinator.async_refresh()

The set temp only changes heatSetpoint, which means coolSetpoint is never changed, hence the issue and then the errors if you keep trying to change it.

@probot-home-assistant
Copy link

lyric documentation
lyric source
(message by IssueLinks)

@mdezzi
Copy link

mdezzi commented May 25, 2021

I am also noticing this issue with my Lyric T5 now that it has been switched to cool mode. Maybe @timmo001 can help us. I believe he/she is the maintainer of the lyric code.

@mdezzi
Copy link

mdezzi commented May 25, 2021

I also think there's something funky going on with aiolyric on line 95?? Seems like its also only adjusting heatsetpoint there as well.

@tmcb82
Copy link

tmcb82 commented May 27, 2021

Same issue on my T5

@thedude0101
Copy link

I also have this same issue with my Lyric Round

@ecelonghorn
Copy link
Author

@bdraco @timmo001 Anyone who can look into this issue?

@timmo001
Copy link
Contributor

timmo001 commented Jun 4, 2021

Spotted and fixed by @yraghu in timmo001/aiolyric#11

I'll be releasing a package update soon and updating the version here.

@timmo001 timmo001 mentioned this issue Jun 4, 2021
13 tasks
@yraghu
Copy link
Contributor

yraghu commented Jun 4, 2021

aiolyric update alone won't fix this problem in HA.
Home Assistant code needs to be updated as well:

yraghu/lyric@ed30de0

This will fix the issue even before aiolyric was bumped up to 1.0.7
With the 1.0.7, line 274 in the homeassitant lyric code does not need both heat and cool setpoint.

@timmo001
Copy link
Contributor

timmo001 commented Jun 4, 2021

aiolyric update alone won't fix this problem in HA.
Home Assistant code needs to be updated as well:

yraghu/lyric@ed30de0

This will fix the issue even before aiolyric was bumped up to 1.0.7
With the 1.0.7, line 274 in the homeassitant lyric code does not need both heat and cool setpoint.

Go ahead and open a PR. I don't have a system with cooling functionality (I live in the UK) so someone else will be best to submit and test the fix

@tmcb82
Copy link

tmcb82 commented Jun 5, 2021

Has a PR been opened yet? Is there any way to make this a high priority resolution since it makes the integration useless in large swaths of the world that depend on AC?

@mdezzi
Copy link

mdezzi commented Jun 11, 2021

@tmcb82 doesnt appear to be anything yet. However I was able to add yraghu's fork as a custom component in hacs.

To do so, add the following as a custom repository in HACS:

https://github.com/yraghu/lyric

and it will allow you to install that version of the lyric component. I have tested it and appears to be working in cool mode.

@yraghu
Copy link
Contributor

yraghu commented Jun 11, 2021

Added a pull request post aiolyric fix. (version 1.0.7)

#51760

@mdezzi
Copy link

mdezzi commented Jun 11, 2021

@yraghu thanks a lot. I'm using your fork and it works perfectly. Appreciate the help.

@yraghu yraghu mentioned this issue Jun 11, 2021
21 tasks
@fsaccomandi
Copy link

I can confirm that this is still an issue in core-2021.6.5. I tried the @yraghu fork and I am still getting the following error when trying to set the temperature while the thermostat is in cool mode:

2021-06-16 18:42:11 ERROR (MainThread) [homeassistant.components.lyric.climate] {'request': {'method': 'POST', 'url': 'https://api.honeywell.com/v2/devices/thermostats/XXXXXXXXXXXX?apikey=XXXXXXX&locationId=XXXXXXX', 'headers': {'Authorization': 'Bearer XXXXXXXX’, 'Content-Type': 'application/json'}, 'json': {'mode': 'Cool', 'heatSetpoint': 72.0, 'coolSetpoint': 74, 'thermostatSetpointStatus': 'PermanentHold'}}, 'response': {'code': 400, 'message': 'Device Not Found'}, 'status': 400}

Interestingly enough even though the error says device not found I can see all of the statistics from the thermostats and when I change the temperature on the thermostat it gets reflected in home assistant.

@mazcoder
Copy link

mazcoder commented Jun 19, 2021

@tmcb82 doesnt appear to be anything yet. However I was able to add yraghu's fork as a custom component in hacs.

To do so, add the following as a custom repository in HACS:

https://github.com/yraghu/lyric

and it will allow you to install that version of the lyric component. I have tested it and appears to be working in cool mode.

I can confirm this repo fixed my issue of not being able to change the cool set point. I was a little different because I received no errors but the cool setpoint would not change. Before installing this repo in hacs I had the default lyric integration installed. Then installing the hacs repo I guess the component started using this custom component. So I guess homeassistant must check custom components first before the default core.

@enablingpenguin
Copy link

@tmcb82 doesnt appear to be anything yet. However I was able to add yraghu's fork as a custom component in hacs.

To do so, add the following as a custom repository in HACS:

https://github.com/yraghu/lyric

and it will allow you to install that version of the lyric component. I have tested it and appears to be working in cool mode.

This patched the issue for me as well.

@mdezzi
Copy link

mdezzi commented Jul 7, 2021

@mazcoder @yraghu @enablingpenguin did any of you notice that you have to reconfigure the integration every few days now? I'm not sure if thats related to the custom component or a change on honeywell's side.

@tmcb82
Copy link

tmcb82 commented Jul 7, 2021

I have been having this problem on both the official and @yraghu corrected version. I started having this problem a month or so before switch to @yraghu fork but continued after I switched. It’s really frustrating because (for security) I have it so I can only authenticate on my home network but it doesn’t always stop being authenticated while I’m at home and yes, it’s like every 2-4 days.

@mazcoder
Copy link

mazcoder commented Jul 7, 2021

@mdezzi yes I have noticed this re authentication problem. Mine only shows up after a home assistant reboot. And even then it is not every single time only maybe 80% of the reboots I have to reconfigure.

@mdezzi
Copy link

mdezzi commented Jul 7, 2021

@tmcb82 @mazcoder OK, glad I'm not the only one. It seems that it is on the honeywell side. I see in the logs that the API refused the authentication randomly at 11:30 last night.

I just created a new app on the honeywell developer site with a new key pair, hoping that might help the problem.

@crickmac
Copy link

I'm still having this problem, I tried recreating the app on honeywell, re-creating the honeywell integration but still need to reconfigure it every 4-8 hours. @mdezzi did you have success with the new app creation on honeywell site?

@mdezzi
Copy link

mdezzi commented Jul 22, 2021

I still get occasional reconfigures, but not every 4-8 hours. The last time i had to reconfigure, i saw this error in the log:

Authentication failed while fetching lyric_coordinator data: {'request': {'method': 'GET', 'url': 'https://api.honeywell.com/v2/locations?apikey=', 'headers': {'Authorization': 'Bearer ', 'Content-Type': 'application/json'}}, 'response': {'code': 'Unauthorized', 'message': 'Authorization has been denied for this request '}, 'status': 401}

I sent an email to the residio dev account but never got a response.

@github-actions github-actions bot locked and limited conversation to collaborators Sep 19, 2021
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

Successfully merging a pull request may close this issue.

10 participants