Honeywell Lyric Thermostat

So I got it working after a couple hard reboots now I am getting a 404 not found error after trying to authenticate. I did make sure that the base_url in the configuration.yaml and Honewyell app was was the same IP. I read through the post and found cheelio post and put them in the custom components folder but still getting 404 errors. Any help would be appreciated. Thanks!

If your base url is configured as mentioned above that could be the problem.
The lyric addition should t be there, it should stop after the port number I guess, so: http://192.168.x.xxx:8123/

1 Like

Thanks teunhev that worked!

Woohoo!! https://github.com/home-assistant/home-assistant/pull/23015

@timmo001 Many thanks for picking this up!

2 Likes

What does this mean? Will it be integrated in a new HA version? Is there a way to already use it?

Currently the request is open, so not sure.

You can use it anyway as a custom component, see following post in this topic: Honeywell Lyric Thermostat

Thanks @teunehv, tried to implement it, but it does not show up a new card:
019-04-22 19:54:55 ERROR (MainThread) [homeassistant.setup] Error during setup of component lyric
Traceback (most recent call last):
File “/usr/local/lib/python3.7/site-packages/homeassistant/setup.py”, line 154, in _async_setup_component
component.setup, hass, processed_config) # type: ignore
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/init.py”, line 116, in setup
import lyric

What am I missing? Running latest version of Hassio

This stopped working for me with 0.91.4 as well. Not sure how to troubleshoot.

I will update my hassio in the upcoming days and I will check on my side.

Mhh, indeed seems to be some stuff broken. Lot of errors in log but there is still some form of communication; When I update temp in the honeywell App I see the change in HASS

As a follow up to my prior post…I went back to a prior snapshot to confirm and it wasn’t working in the prior snapshot…even though I know for a fact it was in that snapshot.

So not sure what has suddenly change…is it working for others?

I wonder if Honeywell is having a problem, although my Google Home Assistant works fine in controlling my Lyric.

If I had to guess, something about an expired token?

oauthlib.oauth2.rfc6749.errors.TokenExpiredError: (token_expired)

Fuller log

2019-04-24 13:06:26 WARNING (MainThread) [homeassistant.loader] You are using a custom component for lyric which has not been tested by Home Assistan
t. This component might cause stability problems, be sure to disable it if you do experience issues with Home Assistant.
2019-04-24 13:06:27 ERROR (MainThread) [homeassistant.setup] Error during setup of component lyric
Traceback (most recent call last):
 File "/usr/local/lib/python3.7/site-packages/requests_oauthlib/oauth2_session.py", line 395, in request
   http_method=method, body=data, headers=headers)
 File "/usr/local/lib/python3.7/site-packages/oauthlib/oauth2/rfc6749/clients/base.py", line 198, in add_token
   raise TokenExpiredError()
oauthlib.oauth2.rfc6749.errors.TokenExpiredError: (token_expired)  

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
 File "/usr/local/lib/python3.7/site-packages/homeassistant/setup.py", line 154, in _async_setup_component
   component.setup, hass, processed_config)  # type: ignore
 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/__init__.py", line 136, in setup
   setup_lyric(hass, lyric, config)
 File "/config/custom_components/lyric/__init__.py", line 99, in setup_lyric
   hass.data[DATA_LYRIC] = LyricDevice(hass, conf, lyric)
 File "/config/custom_components/lyric/__init__.py", line 149, in __init__
   if not lyric.locations:
 File "/config/deps/lib/python3.7/site-packages/lyric/__init__.py", line 864, in locations
   if (self._locations):
 File "/config/deps/lib/python3.7/site-packages/lyric/__init__.py", line 808, in _locations
   new_value = self._get('locations')
 File "/config/deps/lib/python3.7/site-packages/lyric/__init__.py", line 754, in _get
   client_secret=self._client_secret)
 File "/usr/local/lib/python3.7/site-packages/requests/sessions.py", line 546, in get
   return self.request('GET', url, **kwargs)
 File "/usr/local/lib/python3.7/site-packages/requests_oauthlib/oauth2_session.py", line 408, in request
   self.auto_refresh_url, auth=auth, **kwargs
 File "/usr/local/lib/python3.7/site-packages/requests_oauthlib/oauth2_session.py", line 374, in refresh_token
   self.token = self._client.parse_request_body_response(r.text, scope=self.scope)
 File "/usr/local/lib/python3.7/site-packages/oauthlib/oauth2/rfc6749/clients/base.py", line 415, in parse_request_body_response
   self.token = parse_token_response(body, scope=scope)
 File "/usr/local/lib/python3.7/site-packages/oauthlib/oauth2/rfc6749/parameters.py", line 425, in parse_token_response
   validate_token_parameters(params)
 File "/usr/local/lib/python3.7/site-packages/oauthlib/oauth2/rfc6749/parameters.py", line 435, in validate_token_parameters
   raise MissingTokenError(description="Missing access token parameter.")
oauthlib.oauth2.rfc6749.errors.MissingTokenError: (missing_token) Missing access token parameter.
2019-04-24 13:06:31 ERROR (MainThread) [homeassistant.core] Error doing job: Task exception was never retrieved
Traceback (most recent call last):
 File "/usr/local/lib/python3.7/site-packages/homeassistant/helpers/entity_platform.py", line 365, in _async_add_entity
   await entity.async_update_ha_state()
 File "/usr/local/lib/python3.7/site-packages/homeassistant/helpers/entity.py", line 225, in async_update_ha_state
   self._async_write_ha_state()
 File "/usr/local/lib/python3.7/site-packages/homeassistant/helpers/entity.py", line 248, in _async_write_ha_state
   state = self.state
 File "/usr/local/lib/python3.7/site-packages/homeassistant/components/upnp/sensor.py", line 150, in state
   return format(self._state, 'd')

Updated to 91.4, no problem so far.

Darn, I know it was working last week and it just stopped a few days ago, but hadn’t notice until this morning as weather has been warmed. Tried a bunch of different things but no luck, not really sure how to troubleshoot this one, but will keep digging at it.

Okay, got it working. I had to delete the lyric.conf file where the access token is kept, not sure if it expired or something. But went through the re-config in HA with Honeywell to rebuild a new lyric.conf file and now the T5 is working again.

I seem to have lost fan speed control at some point… does anyone still have that available?

@timmo001 when do you think the PR can/will be merged?

It worked great for me untill yesterday. I keep getting this error.

Log Details (ERROR)

Sat Apr 27 2019 09:42:45 GMT+0200 (Midden-Europese zomertijd)

HTTP Error Lyric API: 500 Server Error: Server Error for url: https://api.honeywell.com/v2/devices/thermostats/LCC-00D01DF34875?locationId=1245523&apikey=myapikey

12:37 PM deps/lib/python3.7/site-packages/lyric/__init__.py (ERROR)

edit
when i tried to call it directly trough my browser i get this:

{"code":401, "message":"Invalid or expired accesstoken"}

i tried deleting my lyric.conf because i read somewhere in this topic that this would re-trigger the authorisation proccess. however after restarting hassio i noticed there is a new lyric.conf in my folder and when i tried to authorize manualy it tels me

404: Not Found

Are there any identity ID’s I can use with the Lyric implementation right now to start automation?

I want to implement my Honywell lyric T6 in my Hassio 0.90.1,

As the topic here is quit long I started at the top with the instructions from Bram_kragten on Jan ’17.

I downloaded the two lyric.py files and put them in the custom_components folder.

But none of the way’s I put them in there works I always get “ Component not found: lyric:disappointed_relieved: when I validate before restarting.

I tried :

Config/custom_components/climate/lyric.py

Config/custom_components/components/lyric.py

Config/custom_components/climate/lyric.py

Config/custom_components/lyric.py


And some other ways.

What am I doing wrong?