core: Honeywell Lyric Cool Mode Not Supported

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.

About this issue

  • Original URL
  • State: closed
  • Created 3 years ago
  • Comments: 22 (4 by maintainers)

Most upvoted comments

@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.

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