Honeywell Lyric thermostat with Homekit_controller(Deprecated)

I have this custom component set up in HA 0.84.6. It worked fine.

I wanted to see if I could sever the cloud connection so I put some firewall rules in my router that disabled internet access for te thermostat. After I did that I could still operate the thermostat from HA just fine. However, my thermostat display kept complaining that it could not connect to the internet.

In the next step I deleted my thermostat from the app, deleted my honeywell account and also removed the lyric app from my phone. I also enabled internet access again. This stopped the complaining on the thermostat, and I still can operate the thermostat from HA. However now I loose connection with the thermostat for half a minute or so every 7-10 minutes. It’s mainly an annoyance but it is not nice that sometimes the thermostat shows as unavailable.

In my logs I see entries like below every 7-10 minutes:

Sun Jan 06 2019 21:07:19 GMT+0100 (Midden-Europese standaardtijd)

Failed to connect to homekit device
Traceback (most recent call last):
  File "/srv/homeassistant/lib/python3.5/site-packages/homeassistant/components/homekit_controller/", line 165, in get_json
    data = json.loads(
  File "/usr/lib/python3.5/json/", line 319, in loads
    return _default_decoder.decode(s)
  File "/usr/lib/python3.5/json/", line 339, in decode
    obj, end = self.raw_decode(s, idx=_w(s, 0).end())
  File "/usr/lib/python3.5/json/", line 357, in raw_decode
    raise JSONDecodeError("Expecting value", s, err.value) from None
json.decoder.JSONDecodeError: Expecting value: line 1 column 1 (char 0)

Any thoughts on what might cause this, or how to investigate?


I think quite a few users are using this custom component, and I’ve found it to be much more reliable than the alternative one (and local too :slight_smile:) is what @pho3nixf1re asking realistic? Are the changes possible to merge into the master branch?

As I don’t have this thermostat myself anymore I cannot test anything, and it acted up alot for me.

The problem with merging this directly into main, is that there are other types of thermostats working on the climate.homekit component, and who knows if those models will still work with these changes.

As in one of the first posts, a bugreport was opened. To get this moving, you can always update it with more (relevant) info:

Curious about which thermostat you got as a replacement. I am in the market for a new one as I am still using the ICY (Essent E-thermostaat) which needs urgent replacement because ICY is moving to a subscription based service model.

I have been looking out for a decent thermostat but can’t decide on which one to pick, all seem to have their pros and cons regarding HA integration.


Got the secure ssr-303 zwave boiler controller. Built a hadashboard with a pi3b+ with touch screen mounted on the wall, wired a cheap chinese humidity/ temp sensor into the pi, glued on the back of the display.
The pi 3b+ does hadashboard for thermostat etc, mqtt sending of the temp/hum + room-assistant for ble presence detection <3. In HA you create a generic thermostat.
Its been rock solid for about 2 months now!
If there’s interest i can do a topic about that little project.

Thanks for the description! Not exactly the route that I am willing to go down in this situation but it sounds like a nice one though…

I tried this and when I add the code I get “Entity not available…” do I now need to add the entity to the configuration.yaml?

I also can’t get it to run with the quick guide: after the configuration notification the pairing.json is made but no climate. entity appears.

I found these errors that might be related:

File "/usr/local/lib/python3.6/site-packages/homeassistant/components/homekit_controller/", line 367, in discovery_dispatch
device = HKDevice(hass, host, port, model, hkid, config_num, config)

File "/usr/local/lib/python3.6/site-packages/homeassistant/components/homekit_controller/", line 98, in __init__

File "/usr/local/lib/python3.6/site-packages/homeassistant/components/homekit_controller/", line 112, in accessory_setup
data = self.pairing.list_accessories_and_characteristics()

File "/usr/local/lib/python3.6/site-packages/homekit/", line 272, in list_accessories_and_characteristics
self.session = Session(self.pairing_data)

File "/usr/local/lib/python3.6/site-packages/homekit/", line 604, in __init__
c2a_key, a2c_key = get_session_keys(conn, pairing_data)

File "/usr/local/lib/python3.6/site-packages/homekit/protocol/", line 247, in get_session_keys
ios_key = x#####.X#####rivateKey.generate()

FYI it seems my T6 is now working with the default HA install.

I just upgraded to 87.1 and I now have a card with a slider to control temp, current temp and state. Changing temp from HA works and changing temp on the T6 will update the card in HA after (quite) a while. So all seems fine now.

How does your config look like @Michel? I’m now using the custom component, but de info-dev-panel is telling met (HA 0.88.1) that this custom will soon be stopping working.

My config has nothing really special for HomeKit, just this to enable discovery.

    - homekit

Cool, now it works without the Honeywell API as well. Great! Thanks!

I also use the homekit component. The thermostat (T6) is recognised, but I cannot control it. it used to work with the Wim_L custom component, but that stopped working around 0.84. I get the following error messages:

Updating homekit_controller climate took longer than the scheduled update interval 0:01:00
3:12 PM helpers/ (WARNING) - message first occured at March 2, 2019, 2:12 PM and shows up 4312 times

So strange. After a few days my thermostat lost connection. After deleting .homekit.state it recognized the Lyric T6 again, but I’m not able to complet configuration the pincode. Does anyone has clue? It keeps spinning after I submit my Lyric pincode and it says that it’s not possible to load configurator/configure

My log says:

2019-03-05 20:02:31 INFO (Thread-11) [homeassistant.components.homekit_controller] Setting up Homekit device YT4710WFXXXXXX
2019-03-05 20:02:31 INFO (MainThread) [pyatv.daap] Logged in and got session id 132
2019-03-05 20:02:31 INFO (Thread-11) [homeassistant.loader] Loaded configurator from homeassistant.components.configurator

Hi All,
I am unable to control the mode of operation of my T6. Can someone help me please?

When I click the arrow under operations nothing is available.

Add these line to customize.yaml

   - 'off'
   - cool
   - heat
   - auto

I want to display the history graph next to the dail, is this possible?

Wim_L can you please elaborate?
You write UPDATE: This is now unsupported. The default component has been changed and works fine with the T5/T6
But when i go to the default component, i see a note that it is not working for EU.

And EVOHOME is not for the Lyric T6 :woozy_face:

Can you please tell me how to get this working for the T5/T6 in the EU

You’re using the wrong integration. It only works with homekit integration(which was the point of this whole thread :slight_smile: )

Thank You Wim_L :wink:
Took some puzzling but have it working now !