home-assistant / core

:house_with_garden: Open source home automation that puts local control and privacy first.
https://www.home-assistant.io
Apache License 2.0
70.46k stars 29.4k forks source link

HomeKit Bridge Devices Unresponsive #100262

Open kidrocker151 opened 11 months ago

kidrocker151 commented 11 months ago

The problem

All devices added to the HomeKit Bridge are appearing as unresponsive in the Home app on iPhone 14 Pro Max. If you reload the integration the devices will be responsive for a short period of time before going unresponsive again. Issue seemed to appear after last core update.

What version of Home Assistant Core has the issue?

core-2023.9.2

What was the last working version of Home Assistant Core?

No response

What type of installation are you running?

Home Assistant OS

Integration causing the issue

HomeKit Bridge

Link to integration documentation on our website

https://www.home-assistant.io/integrations/homekit

Diagnostics information

config_entry-homekit-33a91eb9d2d448d42fd5b2dcc00dd4ac.json(1).txt

Example YAML snippet

No response

Anything in the logs that might be useful for us?

No response

Additional information

No response

home-assistant[bot] commented 11 months ago

Hey there @bdraco, mind taking a look at this issue as it has been labeled with an integration (homekit) you are listed as a code owner for? Thanks!

Code owner commands Code owners of `homekit` can trigger bot actions by commenting: - `@home-assistant close` Closes the issue. - `@home-assistant rename Awesome new title` Renames the issue. - `@home-assistant reopen` Reopen the issue. - `@home-assistant unassign homekit` Removes the current integration label and assignees on the issue, add the integration domain after the command.

(message by CodeOwnersMention)


homekit documentation homekit source (message by IssueLinks)

bdraco commented 11 months ago

This has all the symptoms of a network problem with mdns

kidrocker151 commented 11 months ago

This has all the symptoms of a network problem with mdns

Except that there hasn't been any changes to my network and it was working reliably up until the last core update.

bdraco commented 11 months ago

Try rebooting your switch and/or access points.

AbianTang commented 11 months ago

I also have this problem, the phenomenon is the same

bdraco commented 11 months ago

If you have rebooted all access points and repeaters, and are sure it's not a network issue, try excluding devices until you find the one that is sending invalid state

Once you do, post diagnostics with the device that is causing the bridge to go unavailable enabled and we can try to work out what is invalid in the state and either block the bad data or point you to the integration that is triggering the issue.

kidrocker151 commented 11 months ago

Tried that tonight. Devices still go unresponsive even after excluding every category one by one. It’ll work for ~1-2 minutes then go unresponsive. On Sep 14, 2023, at 6:04 AM, J. Nick Koston @.***> wrote: If you have rebooted all access points and repeaters, and are sure it's not a network issue, try excluding devices until you find the one that is sending invalid state Once you do, post diagnostics with the device that is causing the bridge to go unavailable enabled and we can try to work out what is invalid in the state and either block the bad data or point you to the integration that is triggering the issue.

—Reply to this email directly, view it on GitHub, or unsubscribe.You are receiving this because you authored the thread.Message ID: @.***>

Liquidmasl commented 11 months ago

have the same issue, after last update home kit is not working anymore.

"accessory is not responding" on the bridge in the apple home app

nothing else changed in my home

bdraco commented 11 months ago

If you are sure it's not a network problem, and you can't figure out which integration is generating the bad state, try disabling integrations one by one until it starts working.

Liquidmasl commented 11 months ago

If you are sure it's not a network problem, and you can't figure out which integration is generating the bad state, try disabling integrations one by one until it starts working.

I have read that suggestion, but i did not add or change anything (in a year), and i dont have the time, or motivation, to do your suggestion. I dont even know what integrations.. are or which I have anymore, or where I exclude them, and also dont have the time to invest into finding out.

I activated logging, and will check if soemthing shows up though.

I am just a guy who switches off his lights with his apple watch, and from one day to another it stopped working. I dont normally interact with home assistant if I dont have to.

As this happend without any interaction, I dont think I did anything wrong, so I am reporting a bug or an issue. Or in this case, just confirming a bug from someone else.

Also I dont want to disable integrations because I do need them. thats why i have them. I guess.. cause i really still dont know what they are.

bdraco commented 11 months ago

The source of the bad state can be any integration so unfortunately unless it's obvious in the diagnostics it's hard to figure out which one it is

Liquidmasl commented 11 months ago

The source of the bad state can be any integration so unfortunately unless it's obvious in the diagnostics it's hard to figure out which one it is

well after a few days where it wouldnt work, now it.. just works again, without any action on my side.

the code works in mysterious ways

but a quick question, its enough when 1 integration has a wrong state that the whole bridge collapses? That does not seam to be very robust... it is what it is, thank you anyway

bdraco commented 11 months ago

but a quick question, its enough when 1 integration has a wrong state that the whole bridge collapses? That does not seam to be very robust... it is what it is, thank you anyway

Yes homekit will reject the entire bridge once any of the states on the bridge is invalid. Its usually a network issue with mdns, but rarely its actually invalid state. Both present the same way. Sadly there is no error reporting unless you have an apple profile installed so its usually easier to remove accessories one by one until the problem one is discovered. Once we know how its invalid we can usually add more guards to prevent the invalid states from being sent to HomeKit. This process has been done for many integrations already but we always find new ones.

You can also also install the Home app/HomeKit for iOS profile from https://developer.apple.com/bug-reporting/profiles-and-logs/?platform=ios which will give you more debug logs.

kidrocker151 commented 11 months ago

When I was trying to single out the integration causing the issue I started by excluding each domain that I have included one by one thinking I could at least narrow it down to say, the light domain or switch domain. Then I figured if I could figure that out I could get more granular and try disabling any associated integrations within that type of domain. But even after doing that I was still experiencing the same issues so I couldn't narrow it down even at a high level.

For what it's worth, the majority of my lights/plugs/switches are Tuya, and a few are Govee. These make up most of my devices in my smart home. If it's any help, here's the integrations I'm currently using: Adguard Home Alexa Media Player Apple TV Ecobee Govee HACS IPP iRobot LG WebOS Smart TV MQTT Chamberlain MyQ NWS NUT Pirate Weather Plex Ring Roku SmartThinQ LGE Sensors Sonos Speedtest.net Sun Tuya UniFi Protect VeSync Xbox

bdraco commented 11 months ago

I would start with anything custom first since the core integrations have been well tested with HomeKit and the problems / bad states are likely already discovered, fixed, or otherwise accounted for

ste-fle commented 11 months ago

I faced a similar problem today - suddenly some input boolean helpers I use in automations were non-responsive but all other bridge devices worked. Then I restarted all Homepods + Apple TV and now the input booleans work again, but now scripts don't. I don't really know when exactly it started but it was quite recently so it would either match the update to HA 2023.9.2 or the Apple TV's update to tvOS 17 RC. After also restarting HA everything seems to be back to working but all automations and scenes that used those HA entities are empty / gone now. I'll keep an eye on this.

Liquidmasl commented 11 months ago

Yes homekit will reject the entire bridge once any of the states on the bridge is invalid

oh wow, and apple hiding all the good logs, mean. Alright thanks, should it happen again i will get the profile and look what i can do thank you for your detailed explenation!

Vegas2806 commented 10 months ago

Hello, is there already a solution here? I also have the problem that all my devices can no longer be reached via the bridge

fitsou commented 10 months ago

Same problem here.

jimmypuckett commented 10 months ago

I have had a stable HA->HK setup for a long time. When I updated my devices to iOS17, the integration stopped working. I have 11 homepods and 2 Apple TVs. I have confirmed that they have updated & I have rebooted them all. Some order of them is coming online where HK will work for a few minutes, but it stops until I power cycle them again. In the Home app, I see the HomePod that is "Connected" & several of them in "Standby," but I also have some that are showing "Home Hub is not responding."

I have 101 devices exposed from HA, and they are all standard except for my pool, which uses a HACS integration. I have the pool entities comment, but it still does not work.

I have my Apple hubs on a different VLAN than the HA server, but I have MDNS configured & I have made 0 network changes. I did some software/firmware updates to my firewall today to see if it had some magical effect, but it did not.

Is there anything that I can do to help troubleshoot this issue?

jimmypuckett commented 10 months ago

Also, could this be tied to #100359 ?

reklame33 commented 10 months ago

Have same problem the last months. When I ask my Apple Watch to turn on lights, it responds that something went wrong. If I ask immediatly again the same question, it completes the command and turn on light.

TheRoarman commented 10 months ago

Yup, i have the same problem. Never had this problem before and no changes except for Apple iOS17, tvOS updates. So I assume that is where the problem lies. I don't have time now to start debugging.... maybe the weekend i'll have some time... but my first thought its iOS17 related not an integration.

Skeletitor commented 10 months ago

I'm facing the same problem till today. Entities in HA are working great. In Homekit they're not responsive.

If anyone tells me where to find some logs, I'd upload them

OlafKocanda commented 10 months ago

Same here, still working in the Smartphone App / Control Center but on the watch it seems to not work anymore.

neovinter commented 10 months ago

I've been having the same problem for a month. HA is hosted as a virtual machine in Proxmox. This happens every time I reboot the core or host via HA or when I reboot the VM via Proxmox. After turning off and turning on PC with Proxmox, it starts working again until the first reboot of the HA VM.

Ros-One commented 10 months ago

As reported by others, I'm having the same issue. Everything works and is reachable besides in the Home app.

amrutprabhu commented 9 months ago

Same here. HomePod is not getting discovered. All the switches in Apple Home are unresponsive.

I also tried creating a new bridge. The bridge gets added to Apple Home. Switches also get configured again. But after setup, the switches are unresponsive.

amrutprabhu commented 9 months ago

This is the log currently being shown for the HomePod integration

2023-10-25 18:59:15.753 ERROR (MainThread) [homeassistant.components.apple_tv] Failed to connect
assistant  | Traceback (most recent call last):
assistant  |   File "/usr/src/homeassistant/homeassistant/components/apple_tv/__init__.py", line 227, in connect_once
assistant  |     await self._connect(conf, raise_missing_credentials)
assistant  |   File "/usr/src/homeassistant/homeassistant/components/apple_tv/__init__.py", line 316, in _connect
assistant  |     raise ConfigEntryNotReady(
assistant  | homeassistant.exceptions.ConfigEntryNotReady: Protocol(s) RAOP not yet found for Bedroom, waiting for discovery
Liquidmasl commented 9 months ago

for soem reason, since last apple watch update, no device is ever working on the watch.

..but they are all working on my phone. so this makes little sense

codyc1515 commented 9 months ago

Same here. HomePod is not getting discovered. All the switches in Apple Home are unresponsive.

Do you mean in the Home app your HomePod cannot be found or in Home Assistant?

Liquidmasl commented 9 months ago

Same here. HomePod is not getting discovered. All the switches in Apple Home are unresponsive.

Do you mean in the Home app your HomePod cannot be found or in Home Assistant?

No, generally devices do not respond, but i now notices that this is just the case when i try to use siri, its works.. more often.. when i open the home app on the watch. but i dont think its a home-assistant issue, i think the latest watch os is just somewhat bad

irqnet commented 8 months ago

I'm having the same issue, on Homeassistant 2023.11.3 on iPhone 15 (IOS 17) an on an older Ipad (IOS 12.5.5) the exposed devices beome unresponsive once Homeassistant is restarted.

It has turned out that, restarting the IOS devices is fixing the issue, til next Homeassistant restart.

darootler commented 7 months ago

Same issue here. After inital setup of HomeKit Bridge integration everything is working fine, after a few hours every device in the iOS Home App stops responding.

Edit: Like @irqnet said, restarting the iOS device fixes the issue temporarily.

Regards Richard

mediocretwo commented 6 months ago

Same issue. All entities become unresponsive. If I delete the integration and re-add it via QR code, all entities work for a short time and then go unresponsive. This seems to have happened after the new HomeKit architecture upgrade by ios/apple.

Editing my comment for more info: I have only one entity on the bridge, an MQTT switch. There has been no change in configuration, it has been the same since more than one year. Issue started a few months ago, I think when apple changed the HomeKit architecture. (Since my mom's iPhone didn't have the problem for quite a while as she didn't upgrade the architecture at the same time as me). I have no problems with mDNS since I can reach the server from my laptop and home assistant app using the server.local as address.

rodvlopes commented 6 months ago

Some issue here.

I have 2 zigbee switches that become unresponsive on my iphone after a while (some hours). If I delete the integration and re-add it via QR code, all entities work for a short time and then go unresponsive again.

ste-fle commented 6 months ago

Unfortunately seems to be happening more often lately. The unresponsive devices themselves I could work with, but them getting deleted from automations and scenes in HomeKit is way worse, basically having to redo them every few days is getting really annoying...

codyc1515 commented 6 months ago

I’ve only seen two scenarios where devices get deleted from your HomeKit Bridge:

1) if the entity ID changed; or

2) the entity is deleted from HA

AND you then went through & updated your HomeKit Bridge entities without re-selecting that new entity id.

rodvlopes commented 6 months ago

In my case, they are not getting deleted just becoming unresponsive.

codyc1515 commented 6 months ago

All or just some?

rodvlopes commented 6 months ago

All, it's kind of a bridge failure.

codyc1515 commented 6 months ago

This is the log currently being shown for the HomePod integration

2023-10-25 18:59:15.753 ERROR (MainThread) [homeassistant.components.apple_tv] Failed to connect
assistant  | Traceback (most recent call last):
assistant  |   File "/usr/src/homeassistant/homeassistant/components/apple_tv/__init__.py", line 227, in connect_once
assistant  |     await self._connect(conf, raise_missing_credentials)
assistant  |   File "/usr/src/homeassistant/homeassistant/components/apple_tv/__init__.py", line 316, in _connect
assistant  |     raise ConfigEntryNotReady(
assistant  | homeassistant.exceptions.ConfigEntryNotReady: Protocol(s) RAOP not yet found for Bedroom, waiting for discovery

This is an issue with the Apple TV integration (not HomeKit related) - raise a new issue for that.

ste-fle commented 6 months ago

I’ve only seen two scenarios where devices get deleted from your HomeKit Bridge:

1) if the entity ID changed; or

2) the entity is deleted from HA

AND you then went through & updated your HomeKit Bridge entities without re-selecting that new entity id.

I don't think the unresponsive devices themselves get deleted from the bridge, they (which are not all of the bridge devices, but I would say the majority) are "only"

So after an incident the necessary devices (mainly input Boolean and switches from scripts) need to be re-added to the automations and the scenes that get deleted need be re-created completely. The problem with this happening so frequently lately is that it's requiring a lot of administrative effort to keep it running properly.

I noticed it's mostly happening after HA restarts tho, but sometimes also when, apparently, nothing in HA changes at all.

codyc1515 commented 6 months ago

That sounds awfully like an entity is changing somewhere.

ste-fle commented 6 months ago

That sounds awfully like an entity is changing somewhere.

Okay, but do you know how this could happen when HA is just running in the background with no (user) changes whatsoever respectively during a normal restart? Seems to me that this is either a bug in the HA Homekit implementation or in Homekit itself, but since no other bridges seem to affected, I guess it's rather the former?

Edit: I just went through some other Homekit related HA issues and found this PR: https://github.com/home-assistant/core/pull/107039 Could the underlaying issue also be the reason for the problem here, that unknown states are propagated to HK which can't handle them properly, marks them unresponsive and removes them from automations and scenes?

codyc1515 commented 6 months ago

Maybe but it seems specific to climate entities. Did you see any errors in the debug logs on restart? Maybe you could post them here.

ste-fle commented 6 months ago

2024-01-29 16:23:41.756 ERROR (MainThread) [homeassistant.components.homekit.type_thermostats] climate.vicare_heating: Received invalid HVAC mode: unknown 2024-01-29 16:23:41.762 ERROR (MainThread) [homeassistant.components.homekit.type_thermostats] climate.buro_thermostat: Received invalid HVAC mode: unknown

Well, I did indeed find some errors regarding climate entities but only once and I think the problem occured again after that, in February, but I'll try keep an eye on that correlation and also if 2024.2 might fix it.

ste-fle commented 6 months ago

2024-01-29 16:23:41.756 ERROR (MainThread) [homeassistant.components.homekit.type_thermostats] climate.vicare_heating: Received invalid HVAC mode: unknown 2024-01-29 16:23:41.762 ERROR (MainThread) [homeassistant.components.homekit.type_thermostats] climate.buro_thermostat: Received invalid HVAC mode: unknown

Well, I did indeed find some errors regarding climate entities but only once and I think the problem occured again after that, in February, but I'll try keep an eye on that correlation and also if 2024.2 might fix it.

So far, despite doing many HA restarts, I didn't experience connection problems so far with 2024.2, so https://github.com/home-assistant/core/pull/107039 might really have fixed my problems. I'll still keep an eye on that, but fingers crossed.

qq547176052 commented 5 months ago

我也碰到 设备在homekit中没有响应 1.通过 mqtt发送 消息创建设备

mqtt topic
homeassistant/switch/124/config
mqtt消息
{"device":{"identifiers":"124","manufacturer":"qq547176052","model":"1键开关","name":"124"},"name":"124","command_topic":"homeassistant/switch/124/set","state_topic":"homeassistant/switch/124/state","unique_id":"124","availability":[{"topic":"homeassistant/switch/124/available"}],"payload_on":"ON","payload_off":"OFF","state_on":"ON","state_off":"OFF","optimistic":false,"qos":2,"retain":false}

2.设置设备在线状态

mqtt topic
homeassistant/switch/124/available
mqtt消息
online

3.重启ha 4.设备会变为不可用 image

issue-triage-workflows[bot] commented 2 months ago

There hasn't been any activity on this issue recently. Due to the high number of incoming GitHub notifications, we have to clean some of the old issues, as many of them have already been resolved with the latest updates. Please make sure to update to the latest Home Assistant version and check if that solves the issue. Let us know if that works for you by adding a comment 👍 This issue has now been marked as stale and will be closed if no further activity occurs. Thank you for your contributions.