Apple Watch not responding with Homekit

I added request logging for HomeKit by adding this to my config.

logger:
  default: warning
  logs:
    homeassistant.components.homekit: debug
    pyhap: debug

Interestingly, my Apple Watch seems to only communicate with Home Assistant’s HomeKit via the AppleTV (my home hub) I think that’s probably a clue. Looks like a others were reporting issues with the Apple Watch and AppleTV starting last September:

If I disable my Apple TV as the home hub then HomeKit changes made on my watch come from my phone’s IP even though the watch is on WiFi. Not sure if this is normal or not. If I disconnect my phone from WiFi, HomeKit no longer works on the watch. Again not sure if that’s normal or not.

Ooh I managed to get into the not working state right now. Interestingly, it seems like when I’m in the “Not Responding” state on my watch, I do see a GET request come through when I push the buttons in the Home app, but no PUT request. This matches what I’m seeing as it seems the state of the devices on the watch look correct but I’m not able to change anything. I get something like this when I try to change the state of devices (10.0.0.254 is my Apple TV).

2021-02-21 22:44:31 DEBUG (Thread-178) [pyhap.hap_server] Request GET from address '('10.0.0.254', 51835)' for path '/characteristics?id=3647789233.10,3647789233.9'.
2021-02-21 22:44:31 DEBUG (Thread-178) [pyhap.accessory_driver] Get chars response: [{'aid': 3647789233, 'iid': 10, 'status': 0, 'value': 100}, {'aid': 3647789233, 'iid': 9, 'status': 0, 'value': 1}]
2021-02-21 22:44:31 INFO (Thread-178) [pyhap.hap_server] 10.0.0.254 - "GET /characteristics?id=3647789233.10,3647789233.9 HTTP/1.1" 207 -

Turning off the AppleTV as the Home Hub does seem to restore the watch to working with HomeKit again.

I noticed this too. If my iphone is off apple watch is not working as expected.

1 Like

Hallo, I’m Italian (newbe) user (so sorry for my bad english).
I have same issue with my apple watch 4! Disable Apple TV homekit hub resolve the problem but is a very annoying thing, homekit do not working out of home!
Please condivide future solution (or Apple/HA fix) that can resolve problem definitively.
Thnaks

1 Like

News. Stopping Homekit hub on Apple tv and activating Ipad one I have same problems with Apple Watch :disappointed:

Ciao Compaesano (I’m italian too :slight_smile: )

Glad to see that it is somehow a common issue. @johnboiles maybe a issue on github is a good way to proceed ? We can share 3 different logs .

2 Likes

I’m trying a new solution… disable private address on Wi-Fi configuration of home Wi-Fi in Apple Watch … this seam resolve issue since 15/20 min … I will let you know :stuck_out_tongue_winking_eye:

1 Like

2hour… still work :stuck_out_tongue_winking_eye:

I periodically get this issue. iPhone and Mac work fine controlling HomeKit devices, but Apple Watch will say not responding. Restarting the phone and watch sometimes fixes the issue. Restarting HA sometimes fixes the issue if restarting the phone and watch doesn’t fix it. I have not tried the homekit.reload service call which seems to be a less drastic measure than restarting HA. I have UniFi APs, USG, and a UniFi switch. IGMP snooping is enabled, and IGMPv3 multicast enhancement is enabled. One thing I have noticed is if one device in my HomeKit Bridge in HA goes not responding or unavailable (MyQ garage doors are a frequent occurrence) then everything goes “No Response”. As soon as the inital devices are responsive again, everything responds normally. I only have one HomeKit Bridge configured via YAML.

1 Like

Welcome @Fly98 and @squirtbrnr! I’m glad to have some more eyes on this! Can everyone here enable request logging for HomeKit as described above and paste what you see when you try to control something from your watch and it says ‘Not Responding’? The Log Viewer addon is how I view my logs for this. Once we get a few logs from different folks I think we’ll be in a good place to start a GitHub issue and engage a HAP-Python dev.

Thanks for trying this @Fly98! This had been in the back of my mind to try as well.

I’ve had private address disabled for my home network basically since the feature came out and I still have the issue.

I now think it’s unlikely to be Unifi related – from looking at request logs, when I get into the state where things stop working I continue to see GET requests (loads state) from the AppleTV when I try to turn things on and off but I don’t see PUT requests (changes state). To me this indicates that mDNS/Bonjour discovery is working fine and the AppleTV can find Home Assistant without issue (related to the IGMP settings) but there’s a higher level glitch happening, probably in the AppleTV.

BTW I’ve had my AppleTV disabled as a HomeKit hub for about a week and my watch has been working great. I’ve gotten maybe a couple ‘something went wrong’ or ‘not responding’ errors but always the second attempt will work – perhaps just a momentary disruption in my watch’s connection with my phone.

I have no issue since 5 hour … (normally every hour I have this problem).
The only two thing changed are:

  • remove private io address from Wi-Fi configuration in Apple Watch
  • put this string on html configuration:
    ip_ban_enabled: -1

I don’t know which is right solution but; at the moment, I have not not responding issue again

I’ve had the private address disabled since the beginning and still get “Not Responding”, though it is infrequent, it’s just a matter of when it happens again. The ip ban is specifically for HA and logging into the front end. It does not change or affect HomeKit.

Almost 1 day… still work… :champagne:

After working for a while and even working this morning, my Apple Watch now says devices are not responding. However, my Mac and my iPhone are still working if I use Siri to turn on/off anything. HomeKit certified devices (Lutron Caseta with Pro Hub and my Ecobees) still work from the Apple Watch. The only difference between this morning when everything was working and now is my MyQ garage doors are unavailable in HA.

My theory, and so far this has been true the past few times my watch doesn’t work, is if even a single device from HA is unavailable or not responding in HomeKit, the Apple Watch thinks all devices paired through HA are not responding. If I remove the MyQ garage doors which are currently unavailable and reload HomeKit, the watch starts working again.

1 Like

I’m revisiting this – for some reason my Apple TV decided to turn itself back on as a hub. Same behavior as before on my watch, but this time though it seemed to also make HomeKit on my phone only work intermittently. Also I’m out of the house more frequently than I was 6 months ago so it will be nice to have remote access again.

@squirtbrnr I’m testing your theory about the problem being with unavailable entities. So I spent some time cleaning up my HA entities so that no unavailable entities would be exposed to HomeKit. So far so good – my watch and phone are working reliably 12 hours in even with the home hub on.

To do this, I went to Configuration → Entities, sorted by ‘Status’, then removed or disabled any not working entities. For the entities I wanted to keep but were temporarily Unavailable, I added them to the exclude_entities part of my homekit config in configuration.yaml.

homekit:
  filter:
    exclude_entities:
      - switch.unifi_poe_20_2e_5d_55_a4_83
      - switch.this_device_do_not_disturb_switch

More data points would be helpful diagnosing this. Do any of the rest of you with HomeKit problems have unavailable entities exposed by Home Assistant? If this fix holds then we might be able to come up with a way to reproduce and could open an issue.

Update: 3 days in and @squirtbrnr’s fix has made my HomeKit rock solid

Update: 2 weeks in and still rock solid. HomeKit is working better than it ever has before. Thanks @squirtbrnr for the fix! I wonder if this is a HomeKit quirk or a Home Assistant bug.

2 Likes

I was having the same problem described above: HomeKit was working just fine in the Home app on my iPhone and Mac, but always showed “No Response” on my watch. No amount of reloading the HomeKit integration ever showed any change.

Disabling the Home Hub on my AppleTV immediately fixed the issue. I wasn’t using the Home Hub functionality, so this isn’t a huge loss.

The only unavailable entities I have are several of the HA mobile app sensors that I disabled (sensor.iphone_sim_1, etc.), but I didn’t have sensors enabled for the HomeKit integration. Were you seeing trouble with unavailable entities even if they weren’t being exposed by the HomeKit integration?

Hi,

The solution I found is reset the Apple TV (my HomeKit hub) to factory settings.
After this, my Apple Watches 6 and 3 are working perfect and I can control my home remotely.

I also have this problem since the latest large apple firmware upgrade. I do not have a separate HomeKit hub (e.g. speaker, etc.) Imgp snooping and multicast is enabled.
Works fine on my phone. Needed to create a second HomeKit bridge for a second phone. However, watches say „no response“.
Any idea what I need to change?

edit
Actually switched off imgp snooping and now it seems to work. Still takes about 10 seconds for all devices to become available… any ideas?

@scolby33: have you fixed it in the meantime?

I haven’t. I actually stopped using the HomeKit integration entirely (for other reasons: it just didn’t fit my workflow very well), so I don’t have any current information on how it works.