Honeywell Lyric Thermostat

Just select both the thermostats when you are adding it on Honeywell website.

Delete the lyric.conf file from your config directory and rerun the authorization flow from Honeywell. Then select both the thermostats there.

We will need to document all this in the docs (may be with screenshots).

Bram I am having the same issue as Chadbone. Looking into the log, what should I do. Good work with all this, helping alot of people.Appreciate your help in advance, also the folder exist with custom_components and climate has the lyric.py

2017-09-25 22:15:04 ERROR (MainThread) [homeassistant.loader] Error loading custom_components.climate.lyric. Make sure all dependencies are installed
Traceback (most recent call last):
File “/srv/homeassistant/lib/python3.5/site-packages/homeassistant/loader.py”, line 142, in get_component
module = importlib.import_module(path)
File “/srv/homeassistant/lib/python3.5/importlib/init.py”, line 126, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
File “”, line 986, in _gcd_import
File “”, line 969, in _find_and_load
File “”, line 958, in _find_and_load_unlocked
File “”, line 673, in _load_unlocked
File “”, line 665, in exec_module
File “”, line 222, in _call_with_frames_removed
File “/home/ian/.homeassistant/custom_components/climate/lyric.py”, line 16, in
from homeassistant.custom_components.lyric import DATA_LYRIC, CONF_FAN, CONF_AWAY_PERIODS
ImportError: No module named ‘homeassistant.custom_components’
2017-09-25 22:15:04 ERROR (MainThread) [homeassistant.loader] Unable to find component climate.lyric
2017-09-25 22:15:04 ERROR (MainThread) [homeassistant.setup] Unable to prepare setup for platform climate.lyric: Platform not found.

You need to copy two lyric.py files (scroll up for instructions). Also, make sure lyric.py file inside custom_components\climate reads has custom_components.lyric and not homeassistant.custom_components.lyric for import.

Aarasboo, just to clarify, noob here trying to understand. The component folder should be in one these three folders after reading again which spot should it be in:

  1. Folder where configuration.yaml is location
  2. /usr/local/lib/python3.5/dist-packages/homeassistant/components/
  3. /srv/homeassistant/lib/python3.4/site-packages/homeassistant/components

Right now my components folder is lying where the automation.yaml and other .yaml are lying. Is that correct?

Here’s the structure you want. custom_components will be in the same location as your configuration.yaml file.

My first try with the Lyric Thermostat. I put the latest files in required directories and got me a honeywell id en client secret .

Restarting home assistent got me this error messages:

2017-09-26 19:13:00 ERROR (Thread-9) [homeassistant.components.sensor.rest] Error fetching data: <PreparedRequest [GET]>
2017-09-26 19:13:00 ERROR (Thread-9) [homeassistant.components.sensor.rest] Unable to fetch REST data
2017-09-26 19:13:03 ERROR (MainThread) [homeassistant.core] Error doing job: Task exception was never retrieved
Traceback (most recent call last):
File “/usr/lib/python3.4/asyncio/tasks.py”, line 233, in _step
result = coro.throw(exc)
File “/srv/homeassistant/lib/python3.4/site-packages/homeassistant/setup.py”, line 61, in async_setup_component
return (yield from task)
File “/usr/lib/python3.4/asyncio/futures.py”, line 388, in iter
yield self # This tells Task to wait for completion.
File “/usr/lib/python3.4/asyncio/tasks.py”, line 286, in _wakeup
value = future.result()
File “/usr/lib/python3.4/asyncio/futures.py”, line 277, in result
raise self._exception
File “/usr/lib/python3.4/asyncio/tasks.py”, line 237, in _step
result = next(coro)
File “/srv/homeassistant/lib/python3.4/site-packages/homeassistant/setup.py”, line 145, in _async_setup_component
component = loader.get_component(domain)
File “/srv/homeassistant/lib/python3.4/site-packages/homeassistant/loader.py”, line 142, in get_component
module = importlib.import_module(path)
File “/usr/lib/python3.4/importlib/init.py”, line 109, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
File “”, line 2254, in _gcd_import
File “”, line 2237, in _find_and_load
File “”, line 2226, in _find_and_load_unlocked
File “”, line 1200, in _load_unlocked
File “”, line 1129, in _exec
File “”, line 1467, in exec_module
File “”, line 1572, in get_code
File “”, line 1532, in source_to_code
File “”, line 321, in _call_with_frames_removed
File “/srv/homeassistant/lib/python3.4/site-packages/homeassistant/components/lyric.py”, line 1
upport for Honeywell Lyric devices.
^
SyntaxError: invalid syntax

Looks like there is a line break of something where it should not be. Did you download the file or copy pasted it? And did you use the raw version?

I copied the files via right mouse click from this link:

It is very simple:

Place these files
lyric.py9
climate/lyric.py6
climate/services.yaml5
in your custom_components folder.

And put this in your config:

lyric:
client_id: xxxx
client_secret: xxxxx

Ok, that should be ok… Try it again and place them in the custom_components folder.

to be sure where should that folder be?
I’ve placed them now in:
“/srv/homeassistant/lib/python3.4/site-packages/homeassistant/components/lyric.py”
“/srv/homeassistant/lib/python3.4/site-packages/homeassistant/components/climate/lyric.py”

In your config directory create a custom_components folder and place the files in there (with the climate folder)

Thanks! this gives an entities called: configurator.lyric

Ok I have it in the right directory then, just need to look at line 16 then for climate/lyric.py.
Will report back in a couple hours.

I tried again arasboo and I don’t know what else could be missing. Started from scratch, the configurator shows up but then just the error and then I can’t get into HA’s configuration at all to restart.

2017-09-26 21:15:47 ERROR (Thread-3) [homeassistant.core] Error doing job: Future exception was never retrieved
Traceback (most recent call last):
File “/usr/lib/python3.5/concurrent/futures/thread.py”, line 55, in run
result = self.fn(*self.args, **self.kwargs)
File “/home/ian/.homeassistant/custom_components/lyric.py”, line 65, in lyric_configuration_callback
setup_lyric(hass, lyric, config) # url=url
File “/home/ian/.homeassistant/custom_components/lyric.py”, line 96, in setup_lyric
configurator.request_done(_CONFIGURING.pop(‘lyric’))
TypeError: request_done() missing 1 required positional argument: ‘request_id’

Looks like paulcarlucci is having the same issue.

Thats because of this change:

Will fix it soon.

Should be fixed now (not tested…)

What do I have to do for now? Should I redo the whole setup piece?

1 Like