Honeywell Lyric Thermostat

Looks like timmo001 (the person working on the most recent implementation and pull request: https://github.com/home-assistant/home-assistant/pull/23015) pushed some changes to their fork (https://github.com/timmo001/home-assistant/tree/lyric) as recently as 17 days ago, but apparently they’re also hitting the 500 error. I’m guessing that’s making it harder to develop and debug.

I just tried the most recent code from that fork (and looking at the code, it appears to address the thread issues noted earlier), but it’s failing to load the component with this error:

2019-11-11 21:18:27 ERROR (MainThread) [homeassistant.config] Unable to import lyric: No module named 'homeassistant.components.lyric'
2019-11-11 21:18:27 ERROR (MainThread) [homeassistant.setup] Setup failed for lyric: Invalid config.

Not sure if this is caused by something left over from the version I had previously installed, a change in the configuration format, or just a bug.

1 Like

Oddly, my 2 thermos are T5’s. They’re on a schedule to turn down the heat at midnight.

Today, they’ve been on the same temp until I manually turned it down on both floors.

When I did that, the Hass.io saw it and updated the cards in Lovelace.

But could their server have had some maintenance around midnight? But even so, the T5 should hold the schedule even with no internet, no?

I could set up a job to connect to the service every 30 mins or so…but that may make things worse!

One way a service load balances is to allow then block CIDR blocks based on region. Perhaps this is what they do to us?

Maybe they say “nobody watches and changes their thermostats at 2AM, so shut off those time zones until 5 am!”, maybe?

Cheers,
Ambi

I’m fairly certain schedules do not require or use cloud services, but are stored on the thermostat itself. Is it possible you had put the thermostat into “Hold” mode?

1 Like

Unless Ambi’s T5’s behave differently than mine. They only hold until the next scheduled change at which point they resume their schedule

1 Like

Hmmmmm, maybe a coincidence, but my heat was turned off at 10:47pm last night mysteriously by HA! Everyone was in bed sleeping, house was damn cold this morning as we’re in a cold snap right now here.

As a network security expert beginning to wonder if Honeywell’s developer site has been hacked?

Since the homekit lyrics support is depricated I had to move back here, but I can’t seem to get it to authorize. I’m using nabu casa, could anyone help me out what to type in the dev app and what to set as base_url? http or https ? the nabu casa adres in both ? …

{"code":400, "message":"The redirect URL provided does not match the redirect URL registered for the app."}

Very much appreciated!

I believe you have to use the internal URL of HA at the Honeywell developers site…screen shot from the Honeywell developers site of what mine looks like pointing to my internal IP of HA.

1 Like

thanks, that did the trick for me :smiley:

Just got the following email…I suspect this isn’t with the app per say but more around their API servers…so if the HA plugin stops working around this time, it’s probably due to this maintenance window.

I consider a EU T6, integration with the hassio version of HA is mandatory for me. From the endless posts it has become really unclear to me whether a reliable and stable way of controlling it could be expected. Therefore your vision/knowledge counts :slight_smile:

  • can I expect in all cases to have it working fine?
  • is a consistent and complete setup process available (For noobs)
  • would you recommend the T6 with HA.

Looking forward to your responses…

  • can I expect in all cases to have it working fine?

I have the T5, for the most part it’s been working fine the majority of the time, I think awhile back Honeywell was having some trouble with their API servers that caused some inconsistencies. But I’ve had no problems since and the problems are just with communications to the Lyric…so even without internet the Lyric will continue to run at the set temp and/or schedule if you set one up on the unit.

I also used this plugin all last winter and it worked great.

  • is a consistent and complete setup process available (For noobs)

Unfortunately this is a PITA to setup right now as there is no real clear and easy setup process available. Seems most here have gotten it working just by reading the countless post :slight_smile: and then trial & error.

Also (at the moment) the original developer isn’t on this thread anymore and not much love seems to be giving to the Lyric from the HA developer community. The plugin works fine, but there is always concern a change with Honeywell’s API’s servers could break things with the plugin and a fix might not happen right away should the latter occur.

  • would you recommend the T6 with HA.

I think the majority of us here are using the T5, can’t speak to the T6, but not sure Honeywell would have changed the API calls that much between the T5 and T6…they both look the same outside of the screen. Then again engineers like to fix things that aren’t broken so it’s possible the T6 at the API level is completely different from the T5.

Thanks Ski, great feedback. As far as I’ve been able to find out, T5 and T6 are rather equal so I don’t worry about that. Setting it up properly will probably be fone for me, mostly I’m glad that it appears to be stable within HA. Simply hate to fix things for no reason…

My T5’s work fine on HA. image

But as you said, the Honeywell API changed. It took HA gurus a day or so to get a fix pushed through. I imagining, if Honeywell is anything like Rinnai, that it takes weeks or months to patch a problem with their app or service!

So, thanks again HA Team!

Cheers,

Ambi

I have a T6r working fine, but if I had to buy t now, I would probably choose another different one. One that could allow me different zones and controlling valves in different rooms. T6 works fine, but it seems quite basic in these cases.

About the HA integration, I configured it once and it’s been working fine. I can control it from Lovelace for usual things, but I don’t know if geofence (for example) can be managed from HA. I just didn’t test it, I don’t use it normally.

Hello Aluisperezh,

I also have a T6 but it doesnt work anymore.
Wich Lyric components do you got?

I hope you can help :slight_smile:

Greets,

Randy

I was absolutely sure I was using a custom component from HACS, but when I tried to find it it was not there…

I have a lyric folder in the custom_components folder, but it points to “https://www.home-assistant.io/components/lyric” for documentation. I think it should be a standard component, but maybe I modified somehting… I’m getting old :slight_smile:

If your T6 does not work, maybe I can zip all the files and send them somewhere, but I wouldn’t like somebody thinking I’m using their work, I’m not a programmer…

Regards.

Ps. The only configuration I have in configuration.yaml is the user and the password for the Honeywell network

Hi everyone,

I took the excellent work by @Bram_Kragten and fixed some bugs, added support for setting Fan modes, and redesigned the code to work with the recent breaking changes of the Home Assistant Climate reassign. I’ve created a PR to hopefully get the plugin officially merged. In the meantime, please check out: https://github.com/shellster/lyric

If you find any bugs, let me know. I am happy to merge back into @Bram_Kragten’s base if that repo is not completely abandoned.

2 Likes

@shellster Sounds good! Would love to see this as an official component. Do you know how this differences from the component/code that was also submitted but for some reason did not make it (here) ?

@shellster Just trying to setup this component and getting this error. The thermostat is a T6 Pro.

Log Details (ERROR)
Tue Dec 24 2019 10:31:15 GMT-0500 (Eastern Standard Time)
Error while setting up platform lyric
Traceback (most recent call last):
File “/usr/src/homeassistant/homeassistant/helpers/entity_platform.py”, line 150, in _async_setup_platform
await asyncio.wait_for(asyncio.shield(task), SLOW_SETUP_MAX_WAIT)
File “/usr/local/lib/python3.7/asyncio/tasks.py”, line 442, in wait_for
return fut.result()
File “/usr/local/lib/python3.7/concurrent/futures/thread.py”, line 57, in run
result = self.fn(*self.args, **self.kwargs)
File “/config/custom_components/lyric/climate.py”, line 62, in setup_platform
for _, device in hass.data[DATA_LYRIC].thermostats()]
File “/config/custom_components/lyric/climate.py”, line 62, in
for _, device in hass.data[DATA_LYRIC].thermostats()]
File “/config/custom_components/lyric/climate.py”, line 126, in init
self.update()
File “/config/custom_components/lyric/climate.py”, line 145, in update
self._hvac_modes[key.lower()] = self._hvac_possible_modes[key.lower()]
KeyError: ‘emergencyheat’

@Tyfoon I did a search and somehow missed this newest version. The code that I based mine on was submitted as a PR a long time ago and didn’t make it into the official repo. Perhaps this version will finally make it. I just needed an integration that worked, and couldn’t find one. I’m going to try to get my version cleaned up enough to get a clean PR submitted, but if the other one makes it, then hopefully it works well.
Also, from the images, it would appear that this version does not support Heat + Cool mode at the same time, or fan management, like my version does.

@passarb Thanks for the bug. I’ve updated the repo with a fix, so please pull the latest version and let me know if there are any other issues. It would probably make more sense to submit Github issues, but I will be monitoring this channel as well.

I have a T5, so my only ability to test is with that. The Honeywell Home Assistant API is not well documented (well it is, but the documentation is not always accurate). So, there are likely some bugs that I’ve missed, and some corner cases to work out.

EDIT 12/25:
If you want to track the PR process (or lack there of as the case may be): https://github.com/home-assistant/home-assistant/pull/30192

I’m going to be traveling for the next three weeks, so I may not be able to do any further work until I get back.