Honeywell Lyric Thermostat

@shellster That fixed it. Thank you very much!

image This is what happens after logging in and trying to connect my Lyric Round to HA.

Any idea how to combat this?

Been awhile since I set mine up, but sounds like you need to be using https verses http for HA. I donā€™t recall if HA defaults to https anyways from the start or notā€¦basically see if https://192.168.0.15 works instead.

It comes back default to https, and Iā€™ve also tried http just for shits. no luck.

This thing is making me want to pull my hair out.

Maybe a stupid questionā€¦
Succeeded with this one: https://github.com/shellster/lyric
In Home Assistant i finished the setup.
And then? I canā€™t find my lyric t6 in integrations and even canā€™t add it in a card.
Can someone tell me how i can set this up?

seem to be this error:

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 71, in setup_platform
    LyricThermostat(device) for _, device in hass.data[DATA_LYRIC].thermostats()
  File "/config/custom_components/lyric/climate.py", line 71, in <listcomp>
    LyricThermostat(device) for _, device in hass.data[DATA_LYRIC].thermostats()
  File "/config/custom_components/lyric/climate.py", line 145, in __init__
    self.update()
  File "/config/custom_components/lyric/climate.py", line 194, in update
    for key in self.device.settings["fan"]["allowedModes"]:
KeyError: 'fan'

@shellster

Considering thermostats & found this thread along with your component. Thanks for your hard work!

What functions currently donā€™t work with the Lyric? Both heating & cooling work? Can display in celcius for everyone outside of USA? Any ongoing frustrations I should know about?

As far as I know, everything works. You can use Celsius, if you flip your thermometer to Celsius mode. It supports multi point heating + cooling. Iā€™m working on merging it into the official repo, soon, but you can use the custom stand-alone version for now. If you do find issues, please let me know, via a GitHub issue. I am commiting to supporting this plugin.

Iā€™m facing the same issue as @thetomas with a T6 thermostat model.
Enabling debug I get the following:

2020-01-01 02:44:11 DEBUG (SyncWorker_18) [custom_components.lyric.climate] climate config: {}
2020-01-01 02:44:11 DEBUG (SyncWorker_18) [custom_components.lyric.climate] Set up Lyric climate platform
2020-01-01 02:44:11 ERROR (MainThread) [homeassistant.components.climate] Error while setting up platform lyric
Traceback (most recent call last):
  File "/srv/homeassistant/lib/python3.7/site-packages/homeassistant/helpers/entity_platform.py", line 150, in _async_setup_platform
    await asyncio.wait_for(asyncio.shield(task), SLOW_SETUP_MAX_WAIT)
  File "/usr/lib/python3.7/asyncio/tasks.py", line 416, in wait_for
    return fut.result()
  File "/usr/lib/python3.7/concurrent/futures/thread.py", line 57, in run
    result = self.fn(*self.args, **self.kwargs)
  File "/home/homeassistant/.homeassistant/custom_components/lyric/climate.py", line 71, in setup_platform
    LyricThermostat(device) for _, device in hass.data[DATA_LYRIC].thermostats()
  File "/home/homeassistant/.homeassistant/custom_components/lyric/climate.py", line 71, in <listcomp>
    LyricThermostat(device) for _, device in hass.data[DATA_LYRIC].thermostats()
  File "/home/homeassistant/.homeassistant/custom_components/lyric/climate.py", line 145, in __init__
    self.update()
  File "/home/homeassistant/.homeassistant/custom_components/lyric/climate.py", line 194, in update
    for key in self.device.settings["fan"]["allowedModes"]:
KeyError: 'fan'

It looks this model only supports heating and off, but not any allowed fan value:

'allowedModes': ['Heat', 'Off']
'changeableValues': {'mode': 'Heat', ā€¦ 
ā€¦ 'deviceModel': 'T5-T6'}],

So these lines seem buggy:

        for key in self.device.settings["fan"]["allowedModes"]:
            self._fan_modes[key.lower()] = self._fan_possible_modes[key.lower()]

While these ones seem correct for this T6 model:

        for key in self.device.allowedModes:
            self._hvac_modes[key.lower()] = self._hvac_possible_modes[key.lower()]

Iā€™ve just commented the following lines and my T6 thermostat is shown in HA:

#        self._fan_modes = {}

#        for key in self.device.settings["fan"]["allowedModes"]:
#            self._fan_modes[key.lower()] = self._fan_possible_modes[key.lower()]

#        self._fan_mode = self._fan_modes[self.device.fanMode.lower()]

#        self._supported_features |= SUPPORT_FAN_MODE

Now using HA the thermostat mode can be changed between heating and off. Temp setpoint can also be adjusted successfully. HA log shows the changes:

2020-01-01 04:28:18 DEBUG (SyncWorker_14) [custom_components.lyric.climate] Lyric set_temperature-output-value=18.0
2020-01-01 04:28:25 DEBUG (SyncWorker_5) [custom_components.lyric.climate] Lyric set_temperature-output-value=17.0
2020-01-01 04:28:35 DEBUG (SyncWorker_9) [custom_components.lyric.climate] Lyric set_hvac_mode-output-value=Off
2020-01-01 04:28:54 DEBUG (SyncWorker_19) [custom_components.lyric.climate] Lyric set_hvac_mode-output-value=Heat

BTW @shellster Issues seems unavailable for your lyric fork repository in GitHub. Let me know if you need further testing

Thanks. Iā€™ll fix it when I get back from holiday travels, and report back here. Appreciate the feedback. Especially for those with similar, but different thermostats from my own.

Hi Guys,
I am new to the HA. So I have no explanation for the following, any help would be hugely appreciated.

About 10 days ago, installed HA on a Pi3. It instantly found T6 and a few other devices. HA communicated with T6 out of the box and I had to perform no configuration what so ever (apart from pairing). They all (including T6) worked just fine, i.e. have had their components on the overview page and could control them all remotely.) Then I had to reimage and that is where the problem started. The new image could not see the T6 at all. Have tried so many things with no joy. It only appeared once on the HA notification and the pairing was NOT successful.
As said I am new to HA and not sure how come one image can find the device but the very same image (on another SD) fails to communicate with the T6!
Thanks
Amir

If I had to guess (but not sure) the original HA discovered the T6 using the Homekit plugin and not this plugin that this thread is referring too.

The Homekit plug for Honeywell in is deprecated but still works (Honeywell Lyric thermostat with Homekit_controller(Deprecated)).

If you want the T6 to be rediscovered by the new instance using Homekit, I believe you need to reset the T6 https://www.honeywellhome.com/en/questions/how-do-i-reset-my-honeywell-home-device#homekit

I actually use both, because a big plus with using Homekit is that it talks with the thermostat directly, not cloud services.

you need to reset the T6. Its still paired with the old ha install, thats why you cannot see it.

@ski522 , @Wim_L

Many thanks for your help and support. That did the trick.
This community rocks :wink:

Hello.
I have been all over this thread all day trying to figure out what to do to correct this ; 500 Internal Server Error

Server got itself in trouble.

I even installed the HACS and used the automatic install of lyric integration but I still get the same error when I try to configure.
Any suggestions?

Chas

If memory serves youā€™ll see this if you use your public WAN IP instead of the LAN IP your Lyric has.

Tried setting this up for my Honeywell T9ā€™s. I am currently stuck at the ā€˜500 Internal Server Errorā€™.
My Home Assistant version - 0.104.2
My Callback URL is: http://10.99.99.37:8123/api/lyric/authenticate
My Base URL is: http: base_url: http://10.99.99.37:8123

My API client ID and Secret are in configuration.yaml

I have setup a folder with the following path:
config/custom_components/lyric

Inside the lyric folder I have:
init.py
climate.py
manifest.json
services.yaml

The above came from https://github.com/shellster/lyric version 1.0.4

Any tips/ suggestions / pointers welcome?

If youā€™re running HA using https, then you need to use https in the callback URL as well, I know that has tripped people up in the past.

As of right now its plain HTTP

OK My 500 error was caused by line 198 of init.py. Changed data = request.get to data = request.query. I am now stuck here:

The following integrations and platforms could not be set up:

  • lyric.climate

Please check your config.

@smithtec That ip address you are using is how you access your system from outside? Your callback address should be something the Honeywell site can connect to. Ip addresses starting with 10 seem to be internalsā€¦