core: Cannot complete pairing to HomeKit Accessory (Eve Room v1)

The problem

Using an Eve Room V1, which has been unpaired from it’s original HomeKit Home and then factory reset, it is variably not detected or fails to complete the paring process. It is 3 meters away from the bluetooth adapter.

I can pair it again using the Home App on my iPhone without issue, from much further away, and through a metal plated wall (the tiles in the walls on my bathroom are mounted on a aluminium sheet for some reason).

The Bluetooth integration has been set up for the Raspberry Pi’s built in bluetooth. Initially when I set it up, I received a lot go log spam saying to move the adapter away from any USB 3 devices, and so I have moved the USB 3 cable connecting the SSD to a powered USB Hub instead, and replaced the remaining USB 3 cable with a better, shielded one. The interference message has not displayed in the logs since. I also tried it with a USB Bluetooth Adapter on the end of a 1 meter USB 2.0 extension cable, but the behaviour was exactly the same.

The Discovery integration occasionally offers to set up the “HomeKit Controller (Eve)” accessory but starting the process from there takes us to the Config Flow showing the progress spinner and nothing else, and eventually gives up saying “Cannot add pairing as device can no longer be found”

If I start the process by searching for the HomeKit Controller integration manually, I will either receive a message saying there are no unpaired accessories detected, or it will show “Eve (sensor)” as a device. If I select the device and click start, the config flow advances to the progress spinner and eventually gives up saying “Cannot add pairing as device can no longer be found”

Nothing at the time appears in the logs for Home Assistant Core, Supervisor, or the host.

Hoping for some pointers to further troubleshoot.

What version of Home Assistant Core has the issue?

2022.10.3

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

Bluetooth, Homekit_Controller

Link to integration documentation on our website

https://www.home-assistant.io/integrations/bluetooth, https://www.home-assistant.io/integrations/homekit_controller

Diagnostics information

config_entry-bluetooth-c64d466d3293319cf6e3d7a938283b56.json.txt

Example YAML snippet

No response

Anything in the logs that might be useful for us?

Nothing is added to the logs during the failed attempts.

The Diagnostic file shows multiple bluetooth devices further away than the Eve Room, as well as the Eve Room itself. The first item in the diags file is in another apartment, through a concrete and steel slab.

Additional information

I was hopeful I could get it working after reading through https://community.home-assistant.io/t/1st-gen-eve-room-bluetooth-and-2022-8/446740, however this I receive no errors in the logs it appears I may have a different issue.

Home Assistant OS 9.0 Raspberry Pi 4, 4GB RAM OS installed and booting via a USB 3 SATA SSD

Unfortunately I have no other Bluetooth HomeKit devices to troubleshoot with

About this issue

  • Original URL
  • State: closed
  • Created 2 years ago
  • Comments: 22 (8 by maintainers)

Most upvoted comments

Sorry for the time lapse, other things took priority there.

@bdraco, you instructions mention unplug/replug the bluetooth adapter once drivers installed. What would be the equivalent of this for the built in bluetooth on the Pi 4, since there is nothing to unplug. And can that be completed using the Terminal add-on, or do I need the local console?

As for current behaviour, after updating OS to 9.4 and Core to 2023.1.1, the Eve room is eventually detected by auto discover, however when I initiate pairing, it fails with the message:

An unhandled error occurred while attempting to pair with this device. This may be a temporary failure or your device may not be supported currently: Eve (DF:EB:8C:B6:45:40) - DF:EB:8C:B6:45:40: Failed to connect: No backend with an available connection slot that can reach address DF:EB:8C:B6:45:40 was found: The proxy/adapter is out of connection slots; Add additional proxies near this device

Screen Shot 2023-01-10 at 2 11 27 pm

In the logs, I have the following:

Logger: homeassistant.components.homekit_controller.config_flow
Source: components/homekit_controller/config_flow.py:491 
Integration: HomeKit Controller (documentation, issues) 
First occurred: 13:56:25 (2 occurrences) 
Last logged: 13:58:05

Pairing attempt failed with an unhandled exception
Traceback (most recent call last):
  File "/usr/local/lib/python3.10/site-packages/bleak_retry_connector/__init__.py", line 342, in establish_connection
    await client.connect(
  File "/usr/src/homeassistant/homeassistant/components/bluetooth/wrappers.py", line 236, in connect
    wrapped_backend = self._async_get_best_available_backend_and_device(manager)
  File "/usr/src/homeassistant/homeassistant/components/bluetooth/wrappers.py", line 341, in _async_get_best_available_backend_and_device
    raise BleakError(
bleak.exc.BleakError: No backend with an available connection slot that can reach address DF:EB:8C:B6:45:40 was found

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/usr/local/lib/python3.10/site-packages/aiohomekit/controller/ble/connection.py", line 47, in establish_connection
    return await retry_establish_connection(
  File "/usr/local/lib/python3.10/site-packages/bleak_retry_connector/__init__.py", line 419, in establish_connection
    _raise_if_needed(name, device.address, exc)
  File "/usr/local/lib/python3.10/site-packages/bleak_retry_connector/__init__.py", line 311, in _raise_if_needed
    raise BleakOutOfConnectionSlotsError(
bleak_retry_connector.BleakOutOfConnectionSlotsError: Eve (DF:EB:8C:B6:45:40) - DF:EB:8C:B6:45:40: Failed to connect: No backend with an available connection slot that can reach address DF:EB:8C:B6:45:40 was found: The proxy/adapter is out of connection slots; Add additional proxies near this device

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/components/homekit_controller/config_flow.py", line 491, in async_step_pair
    self.finish_pairing = await discovery.async_start_pairing(self.hkid)
  File "/usr/local/lib/python3.10/site-packages/bleak_retry_connector/__init__.py", line 447, in _async_wrap_bluetooth_connection_error_retry
    return await func(*args, **kwargs)
  File "/usr/local/lib/python3.10/site-packages/aiohomekit/controller/ble/discovery.py", line 151, in async_start_pairing
    salt, pub_key = await self._async_start_pairing(alias)
  File "/usr/local/lib/python3.10/site-packages/aiohomekit/controller/ble/discovery.py", line 120, in _async_start_pairing
    await self._ensure_connected()
  File "/usr/local/lib/python3.10/site-packages/aiohomekit/controller/ble/discovery.py", line 91, in _ensure_connected
    self.client = await establish_connection(
  File "/usr/local/lib/python3.10/site-packages/aiohomekit/controller/ble/connection.py", line 61, in establish_connection
    raise AccessoryDisconnectedError(ex) from ex
aiohomekit.exceptions.AccessoryDisconnectedError: Eve (DF:EB:8C:B6:45:40) - DF:EB:8C:B6:45:40: Failed to connect: No backend with an available connection slot that can reach address DF:EB:8C:B6:45:40 was found: The proxy/adapter is out of connection slots; Add additional proxies near this device