Homekit Bridge showing "No response" lights, but they work in HA

I’m using Homekit Bridge integration. In the iOS Home app, a certain light switch is disabled saying “No response”. However I am able to control the switch via the HA entity.

I tried running the homekit.reset_accessory action on the light switch entity, but it didn’t seem to cause any change in Homekit.

I attempted to run homekit.unpair, but when I go to select a device (it says it only accepts device_id), the dropdown is empty, saying “No matching devices found”. What am I doing wrong here?

Is there a better way to debug what’s going on with the Homekit Bridge integration?

Yeah. It happens to me too quite often. I just put up with it as I have found no solution. It comes back eventually. I got a Wiz remote and hooked that up via ESPHome to control the lights so in my case a reasonable workaround

For me it’s only happened to a couple specific devices, so I wonder if something got corrupted in my HA config or the bridge. Seems solvable, I’ll just have to dig into it.

I’ve also noticed that I have a few stale versions of the device in Homekit that all say No response, so I wonder if getting rid of those would help re-pair the latest version. Though I’m not sure how to manually delete an accessory on the Homekit side.

Okay, somehow I got it fixed but I’m not exactly sure what I did lol. Here’s what I remember:

  • I dumped the diagnostic data for the integration. Reading through it, I noticed that some of the accessories in there mapped to entity_ids that didn’t exist anymore.
  • I enabled debug logging, and noticed a HTTP response logged that had the states of all the Homekit accessories (I assume it was sending them to Homekit, but I’m not sure). I noticed that the accessory ids that mapped to the non-existent entities all had status of -70402, which according to the homekit protocol means Unable to communicate with requested service, e.g. the power to the accessory was turend off. Sure, makes sense
  • I played around with the homekit.unpair action but it only works on device_ids and I only had entity_ids to work with. I did try running it against the device I had that did exist but was showing up as no response in homekit, but at first it didn’t seem like it did anything.
  • I also called homekit.reset_accessory on the missing entity ids (they don’t show up in the entity_id autocomplete but you can just manually type it in), as well as my non-functioning device’s entity.

None of that seemed to do anything immediately, but the next morning I noticed that all the stale devices in Homekit that didn’t exist in HA disappeared, and there were was a new device for the one that wasn’t working, and it was working!

So I don’t know what happened but hope this gives a clue to the next person who searches for this.