Honeywell Lyric Thermostat

Since it seems to me like a big change I’m not sure if I can fix it since I’m not that experienced in programming.

The full pull request of the change in. 96 is here:
https://github.com/home-assistant/home-assistant/pull/23899

I hope to find some time during the weekend to look into it. But all help is appreciated.

Edit: based on a first analyse I think it’s fixable by replacing all removed contants by the new ones. Will check this weekend when I’m near my computer.

I can’t say I have a complete understanding of all the changes but I’ll share what I do know:

There is now a clear separation between the operation mode (the task it will perform: auto, heat, cool, off, etc) and the operating state (the task it is actively performing: heating, cooling, idle). The component’s state continues to represent the operation mode but now it has a new attribute to represent its operating state. The History Chart used to graph the climate component’s state but now it graphs the new attribute. That means the shaded area on the graph will correctly indicate when the HVAC system is actually heating or cooling.

To support this new ability (distinguishing between operation mode and operating state), several constants have been removed and replaced by new ones.

The ability to hold a temperature has been incorporated into a broader concept known as ‘presets’. Presets can be as simple as ‘hold’ (meaning to ignore the schedule and hold this temperature indefinitely) to more complex situations like ‘away’, ‘vacation’, etc. There is now a new service call set_preset_mode which replaces previous ones like set _away_mode.

Too bad, it’s more then just replacing the constants. Got locally another message now about not implemented hvac_mode. Hope to find time for further analyse, but as mentioned I’m not a programmer so it’s all just trial and error.

Update July 22:
got rid of a lot of different errors with help from other climate related forum posts. But it’s not working yet. Will continue tomorrow with the hope it will be fixed then.

Good news, I’ve got the custom component up-and-running again. See the repo for the updated climate.py

Two notes:

  • I saw already an error in one of my automations. The operation mode is replaced by hvac mode. So perhaps updates on automations is needed int this case.
  • I didn’t had time to test the changes. I didn’t change functionality as far as I’m aware, but I can’t oversee all consequences of the update. If you experience problems please post them here so we are al aware.
1 Like

Thanks for digging into it a bit more! I’ll give it a shot over the next few days.

There is a PR in progress to add this natively. In the meantime, grab the files from that PR, here: https://github.com/home-assistant/home-assistant/tree/92082b687a46c17a9a94a598b245728a8832b179/homeassistant/components/lyric

add them to the custom_components folder like you’ve always done. Next, update your API app at the honeywell site to use the new URL structure as documented here: https://github.com/home-assistant/home-assistant.io/blob/223483daef3fa7dd0f0dc6da69367ecb64e5fe58/source/_components/lyric.markdown

– should be “/auth/lyric/callback”

Then you can upgrade to latest and use the configuration flow (integrations page) to setup and add your devices! This version also adds sensors and additional capabilities that my thermostats did not have with the previous version of the custom component.

4 Likes

I tried this and when I get to the part to add an integration I get an error:

The webpage at https:/XXX.DuckDNS.org:8123/auth/lyric/callback?code=OqXxU0fl&scope=&state=ce9334f3b11e46469ea8dbbd35f65603 might be temporarily down or it may have moved permanently to a new web address.

ERR_TUNNEL_CONNECTION_FAILED

Any suggestions?

Great job, I just switched to this version. Working fine!

did you reboot after making all the changes and “installing” the custom_component files?

I have done all the outlined procedures but am not seeing my Lyric T5 thermostat. Any suggestions will be appreciated.

If you had the previous custom component; did you delete the lyric conf file and rebooted Hass?

After that and the change in config url like suggested by @kylerw you should be able to add the lyric via the integrations panel.

Just updated and the new version is working great!

I got it working, had to turn off duck dns add the thermostats then turn it back off. I have seen a weird issue where sometimes it wont make changes to the mode or temp, or randomly set the schedule.

I tried it again from scratch but still no luck. A few things about my system. I am running on a PI from the original install of Hassbian with the All In One Installer. I opened a new App on Honeywell and tried both the new and the old. When I try to add the new integration I do not see lyric or anything related to Honewell.

After a few failures i finally got it. These are the steps i took (dont know if all the steps are necessary, but its what i did to finally get it working).

  1. Created a full Hassio snapshot in case something went seriously wrong.

  2. Made sure I removed all old instances of the component (aka removing the lyric component from HACS) in order to start with a blank slate.

  3. Delete the existing lyric.conf file.

  4. Created all the files from scratch from the the link sent earlier. Makes sure you use raw text to copy and paste the text for each file. Don’t forget there is a .translations folder (and the en.json file) that is in the lyric folder now that wasn’t in previous versions (i was forgetting that one in my failed attempts). There should be 8 files in your lyric folder (init.py, climate.py, config_flow.py, cosnt.py, manifeset.json, sensor.py, services.yaml, strings.json) plus another folder called .translations that has 1 more file in it called en.json.

  5. Restarted Home assistant

  6. The Honeywell Lyric finally showed up in the integration list and followed instructions to add it in.

I appreciated all of your suggestions and I have tried all with no success. Everything is working great on 0.95.4 so it looks like it is time to stick with what works. Thanks again for trying.

These are the steps I took as well, but 2 things got me.

  1. I was having a brain cramp and looking for Lyric rather then Honeywell Lyric in the Integrations page
  2. I recently switch HA from http to https, but forgot to update API app at Honeywell, once I made the change everything started working.

Unfortunately my Aros AC via Wink is no longer work, ugh…obviously unrelated to this though :slight_smile: .

Okay I will have to admit it I couldn’t give up and here are the steps I took to get it working.

  1. I put my lyric directory here /home/homeassistant/.homeassistant/components/ and it is now here /srv/homeassistant/lib/python3.7/site-packages/homeassistant/components/ where it should be on my system,
  2. The next mistake I made was the spacing on
    lyric:
    client_id: ‘myconsumerkey’
    client_secret: ‘myconsumersecret’
    which didn’t seem to get detected on reboot because the new version of HA doesn’t automatically turn on Advanced Mode so I couldn’t find the Configuration validation section to check my config.
  3. The final mistake I made was not paying close attention to instructions. The previous Honeywell App used the Callback URL http://192.168.1.xxx:8123/api/lyric/authenticate and after I reread the instructions several times I realized the new Callback URL is http://192.168.1.xxx:8123/auth/lyric/callback
    My HA is now working on 0.96.5 and everything is working I think. Next upgrade moving to the Raspberry PI 4 when it arrives this week. That should be easy (HA HA).
    Thanks again for the ideas that got my thoughts moving in the right direction. Hope this helps someone.
1 Like

Thanks for sharing!

Ps: if you can afford move HASS to an Intel NUC. I have done this about 6 months ago and all works significant better! Furthermore you can use the visual studio add which is briljant. Basically you can do everything you need from the HASS interface.

I have been working on this off and on for two days and have reached a point where I am totally confused. I have Hassio 96.4 running in a Pi3B. I started out with the version that is currently available on HACS and used the instructions listed there but it is not working. Would someone be kind enough to answer my ‘very’ basic questions that might help someone else as well?

  1. Because I am running Hassio, do I need to use the version on HACS or am I free to choose?
  2. The values after CLIENT_ID and CLIENT_SECRET have single quotes around them in the documentation. Do I need quotes or not?
  3. Some of the posts above reference a file named lyric.conf and needing to delete it somewhere along in the process. I have not found that file on my Pi so am wondering if I that is part of my problem, that file is not applicable to me or I just haven’t gotten there yet? Please advise.
  4. I should add that I am reaching the point where I get a notification that lyric needs to be configured. I am going thru the notification, clicking on Request Authorization and getting this apparent error message ==> {“code”:400, “message”:“The redirect URL provided does not match the redirect URL registered for the app.”}

Any help that anyone can provide shall be greatly appreciated.

  • D