I know there have been a lot of posts like this, but I feel like I’ve read all of them with no luck. I’m having frequent issues (50% of the time) where homekit cannot communicate with HA. All of my HA homekit accessories show up as “No response”. I have an ecobee that is connected directly to homekit which always works. Because of this, I’m starting to think this might be an issue with Home Assistant.
Here is some info about my set up:
- 1 Bridge configured with 48 accessories (lights, fans, switches, alarm, and garage door)
- Apple TV as the hub (connected via ethernet)
- UniFi Networking Gear (3 APs, 4 Switches, and a USG) (I do also have 3 MoCA adapters that are not unifi)
I’ve tried disabling IGMP snooping, enabling it, putting everything on the same VLAN, enabling/disabling mdns reflector, changing the Wi-Fi settings, removing the current bridge, adding a new bridge, and much more with no solution.
This exact same set up worked for me for about a year. The only change I made recently was updating the firmware on my Unifi equipment.
I don’t think it’s WiFi because I have this issue when I’m away from my house and my Apple TV(ethernet) cannot communicate with HA, though it can communicate with my Ecobee.
I did notice that things will start working again when I reload the homekit service in HA. But this is only temporary.
The only thing that stands out to me in the logs is this:
Traceback (most recent call last):
File "/usr/src/homeassistant/homeassistant/data_entry_flow.py", line 131, in async_init
result = await self._async_handle_step(
File "/usr/src/homeassistant/homeassistant/data_entry_flow.py", line 214, in _async_handle_step
result: dict = await getattr(flow, method)(user_input)
File "/usr/src/homeassistant/homeassistant/components/homekit_controller/config_flow.py", line 225, in async_step_zeroconf
status_flags = int(properties["sf"])
KeyError: 'sf'
I asked about this before but Homekit worked for a year with this error in the logs.
It’s incredibly difficult to debug this because I’ll make a change, everything will work for 30 min, and then stop working for a while. Any suggestion is very much appreciated.