Honeywell Lyric Thermostat

it’s just another connection protocol you need to configure. No other hardware required…

Hi All,

HA Newbie that has been playing with this integration for a while and hoping for some guidance. Here’s the history

  • Tried setting up the original HACS integration and got to the point where configure showed in the notifications, I could log into Honeywell Developer, selected my home security system and then it returned an Error 500 - Server confused itself…

  • Custom installed the new integration via the HACS custom install function. Followed the steps of another in the thread…removed current installation and config, restart, add custom integration, restart, add config file update, restart. After doing all of the that, there is no notification to configure like before but also no errors. I don’t seem to notice any new entities or anything so it doesn’t seem to have worked.

  • This got me to thinking…will this new integration even work on the security aspect of Honeywell Home or is it only for thermostats? Here’s the security system I have which uses the lyric app - https://www.honeywellhome.com/us/en/products/security/security-systems/smart-home-security-base-station-rchs5200wf1004-u/

Thanks in advance for any guidance…this is the last integration I need before doing away with IFTTT

Where do you get the device id?

I’m curious about the status of this integration. I have it installed, authorized and (mostly) working great. The component successfully GET’s the sensor information as well as the hvac mode and set temperature. However all POST requests error out. The logs seem to suggest that python-lyric could be at fault for a bad request. My hunch is that there is a required parameter missing from the POST. Can you offer any insight?

have you tried the homekit method?

Has anyone been able to resolve this? I’m getting 100’s of errors in a day’s time.

Logger: lyric
Source: /usr/local/lib/python3.8/site-packages/lyric/__init__.py:758
First occurred: 1:39:18 PM (1 occurrences)
Last logged: 1:39:18 PM
    HTTP Error Lyric API: 401 Client Error: Unauthorized for url: https://api.honeywell.com/v2/locations?apikey=[REDACTED]
Logger: homeassistant.util.async_
Source: util/async_.py:105
First occurred: 12:45:13 PM (31 occurrences)
Last logged: 2:38:25 PM

    Detected I/O inside the event loop. This is causing stability issues. Please report issue to the custom component author for lyric doing I/O at custom_components/lyric/__init__.py, line 92: if not lyric.locations:
    Detected I/O inside the event loop. This is causing stability issues. Please report issue to the custom component author for lyric doing I/O at custom_components/lyric/sensor.py, line 122: state = getattr(self.device, self.key)
    Detected I/O inside the event loop. This is causing stability issues. Please report issue to the custom component author for lyric doing I/O at custom_components/lyric/climate.py, line 241: self._humidity = self.device.indoorHumidity

I don’t know why so many are against using homekit, it works, it’s local, doesn’t use the cloud and no you don’t need to have an Apple hub. Which I initially thought was required, but homekit is just the communications protocol. I have a T5 so maybe other models don’t work with homekit?

Since switching in July haven’t had a single issue with controlling the thermostat.

Ironically I did setup Honeywell cloud up with google assistant to also control my heat…can’t tell you how many times Google Assistant has told me “Sorry but I was unable to reach Honeywell services right now please try again later”

2 Likes

@uiguy @ski522 I have not tried the homekit controller because in addition to the T5 I have 4 D6 Pro thermostats that I had been controlling with the custom_component. I would be open to trying the homekit version but I don’t have an apple device and presume that I would need one to get the D6’s connected.

No Apple device is needed, Homekit is a protocol that is used by HA. Not sure if the D6 supports homekit protocol, but be surprised if it didn’t.

My understanding is that some devices (those which require an app to connect to the network) do require an apple device. The D6 does not have any sort of menu and the connection is handled through the honeywell (and maybe? the homekit) app. If I am incorrect, I would welcome any resources you could point me to.

I quickly looked up the manual for the D6, I think you’re correct and that there is no way to locally reset homekit, so in this case you probably do need the cloud version of this integration. I know with my T5 once I reset Homekit via the onscreen menu, HA then found it and I was able to add it as a locally managed device in HA.

Homekit doesnt support honeywell T9/10

EDIT pls see: Honeywell Lyric Thermostat

Thanks for the sanity check. That’s what I was afraid of.

Are you using a T 9/10 well I noticed on the honeywell page smart things supports t9/10. It works, I have all sensor data. A thermostat card didn’t populate in lovelace, I’ll try tomorrow.

So download the smartthings app on your phone. Setup an account --> add (+) on the front page–>device–>browse by brand, honeywell non tcc version. follow thermostat setup.

In HA integrations smartthings follow setup in description. You should see the thermostat listed as one of your devices then restart HA.

Take out all the lyric stuff first and restart before. idk if it’s necessary but I did.

If you use @timmo001 release here: https://github.com/home-assistant/core/pull/39695, you will no longer receive that error. Still awaiting review…there’s apparently a lot to review in the queue.

Has anyone installed the timmo001 update as a custom component?

I’m assuming I need to copy the updated files from the PR into custom_components/lyric. Do I also need a manifest that will pull in the new dependency of aiolyric?

As a matter of fact I just did. I copied the translations folder, init.py, api.py, climate.py, config_flow.py, const.py, manifest.json, services.yaml, and strings.json to a lyric folder within the custom_components folder.

The component installed just fine and is making requests to the Honeywell API, however when I try to change the temperature or mode, the API is returning a 400 error saying “Device not Found”.

I’m currently trying to decipher the problem. When I use the same POST parameters from the log on the Honeywell developer site, it works, so it’s probably something stupid on my end.

I’m getting the same error. However I can’t even get it to install. When I first go to authenticate it switches my outside address to my inside address eg 192.168.x.xxx. I’m guessing you never uninstalled so the app was already authenticated.

Maybe it’s in the coding or there is something else that needs to configured. I tried setting my external address as the internal. Manually in the config and through the gui but it still changes the api call to 192.168.x.xxx. I don’t know where it’s getting the internal address from.

Smartthings was a bust by the way.

edit add api call

https://api.honeywell.com/oauth2/authorize?response_type=code&client_id=[redacted]&redirect_uri=https://192.168.1.151:8123/auth/external/callback&state=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJmbG93X2lkIjoiYzBiYjk1NjY1YjA5NDkzZTk4NjMzYzdlODIwODk5N2QifQ.fK-UtQZLLcRYz8vK-amIhSAtoDgHl7Yjj7brNmGzTy8

If you make this the callback URL setting for your app on the Honeywell developer’s site you should be able to authenticate.

I did that and it does authenticate but then it throws another error. I put @jasondefuria version of lyric back and the authentication works fine. It calls my duckdns address. Then if I swap folders to the new lyric it breaks.

@timmo001 is there a setting, so that lyric-2 calls my external ip rather than the internal?