core: Apple Integration Broken Following iOS 16.2 Devices Update

The problem

Following Apple’s recent release of 16.2 devices from Home Assistant take a long time (hours) to update in the Apple Home App. The slow process repeats itself each time you add a new device or there is a restart of HA.

Interestingly the import of entities into Home Assistant from HomeKit Controller is working fine, however, the AppleTV integration is definitely broken.

image

And when you open the config for each device you get the following;

image

I’ve tried rebooting all the apple devices and reloading the integration with no change…

What version of Home Assistant Core has the issue?

Home Assistant 2022.12.7 Supervisor 2022.11.2 Operating System 9.4 Frontend 20221213.1 - latest

What was the last working version of Home Assistant Core?

Home Assistant 2022.12.7 Supervisor 2022.11.2 Operating System 9.4 Frontend 20221213.1 - latest

What type of installation are you running?

Home Assistant OS

Integration causing the issue

Apple TV

Link to integration documentation on our website

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

Diagnostics information

No response

Example YAML snippet

No response

Anything in the logs that might be useful for us?

Logger: homeassistant.components.apple_tv
Source: components/apple_tv/__init__.py:323 
Integration: Apple TV (documentation, issues) 
First occurred: 10:00:21 (393 occurrences) 
Last logged: 11:52:09

Failed to connect
Traceback (most recent call last):
  File "/usr/local/lib/python3.10/site-packages/pyatv/protocols/mrp/protocol.py", line 274, in _receive
    await semaphore.acquire()
  File "/usr/local/lib/python3.10/asyncio/locks.py", line 390, in acquire
    await fut
asyncio.exceptions.CancelledError

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/components/apple_tv/__init__.py", line 222, in connect_once
    await self._connect(conf, raise_missing_credentials)
  File "/usr/src/homeassistant/homeassistant/components/apple_tv/__init__.py", line 323, in _connect
    self.atv = await connect(conf, self.hass.loop, session=session)
  File "/usr/local/lib/python3.10/site-packages/pyatv/__init__.py", line 135, in connect
    await atv.connect()
  File "/usr/local/lib/python3.10/site-packages/pyatv/core/facade.py", line 575, in connect
    if await setup_data.connect():
  File "/usr/local/lib/python3.10/site-packages/pyatv/protocols/mrp/__init__.py", line 941, in _connect
    await protocol.start()
  File "/usr/local/lib/python3.10/site-packages/pyatv/protocols/mrp/protocol.py", line 142, in start
    self.device_info = await self.send_and_receive(
  File "/usr/local/lib/python3.10/site-packages/pyatv/protocols/mrp/protocol.py", line 261, in send_and_receive
    return await self._receive(identifier, timeout)
  File "/usr/local/lib/python3.10/site-packages/pyatv/protocols/mrp/protocol.py", line 273, in _receive
    async with async_timeout.timeout(timeout):
  File "/usr/local/lib/python3.10/site-packages/async_timeout/__init__.py", line 129, in __aexit__
    self._do_exit(exc_type)
  File "/usr/local/lib/python3.10/site-packages/async_timeout/__init__.py", line 212, in _do_exit
    raise asyncio.TimeoutError
asyncio.exceptions.TimeoutError

Additional information

No response

About this issue

  • Original URL
  • State: closed
  • Created 2 years ago
  • Reactions: 2
  • Comments: 19 (1 by maintainers)

Most upvoted comments

Media devices setting change to allow everyone to access fixed issue.

Does the Apple TV HACS integration work better @Sooty70?

I don’t see an Apple TV HACS integration (I think the original made it into HA Core). Thus sadly still can’t get my TV or HomePods into HA. ☹️

The beta is really old, don’t use that. Go into the Home app and make sure you change access settings for HomePods to everyone on the same network. HomePod works for me so it’s likely that reason.

Thankyou @postlund - pairing working now!