Nanoleaf Essentials over Homekit Controller

I got one light strip connected to home assistant ( I have a vizio tv that has the homekit controller and have ZERO homepod minis or apple tv 4ks) Anyways when I go to do my second one this is what I see

Config flow could not be loaded: Unknown error

This is after a factory reset (about 20 of them to be exact and a very annoyed wife I was messing with the beds headboard lights instead of watching tv with her lol)…any help?

@madisonjar I don’t think the TV is playing a role unless it has a Thread Border Router built in. Can you please restart HA, reproduce, and get some logs for us to look at? Unknown error is, unsurprisingly, not helpful :slight_smile: You can get the logs from Settings → System → Logs → Load Full Logs (at the bottom). Thanks!

Hey @lambdafunction !

I’m running into this error now, and tearing my hair out trying to figure out what’s happening. For what its worth, I have paired these with HomeKit with a Thread enabled AppleTV on the same VLAN as HomeAssistant. I then unpaired (but not reset) these devices.

Checking the logs, this is the error I have:

Traceback (most recent call last):
File "/usr/lib/python3.10/asyncio/tasks.py", line 456, in wait_for
return fut.result()
asyncio.exceptions.CancelledError
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "/usr/lib/python3.10/site-packages/homeassistant/components/homekit_controller/config_flow.py", line 479, in async_step_pair
self.finish_pairing = await discovery.async_start_pairing(self.hkid)
File "/usr/lib/python3.10/site-packages/aiohomekit/controller/coap/discovery.py", line 57, in async_start_pairing
salt, srpB = await self.connection.do_pair_setup(
File "/usr/lib/python3.10/site-packages/aiohomekit/controller/coap/connection.py", line 283, in do_pair_setup
response = await asyncio.wait_for(
File "/usr/lib/python3.10/asyncio/tasks.py", line 458, in wait_for
raise exceptions.TimeoutError() from exc
asyncio.exceptions.TimeoutError```

Hey @AnvilPaladin, it is likely to be an IPv6 issue w/ HA based on other reports we’ve seen. How do you run HA? HA OS, docker, …?

Let’s check a few commands, too:

  • ip -6 a
  • ip -6 r
  • ping6 Nanoleaf-A19-XXXX.local (it may be ping -6 instead of ping6 and the XXXX is the 4 alphanumeric ID of one of your Essentials bulbs)

You should have at least one IPv6 address (fe80:: link-local if not other ULA or public addresses) and a route to the Thread network’s prefix via the Thread Border Router’s link-local address.

Hey @lambdafunction !

Thanks for getting back so fast! I am able to get IPV6 addresses and quite a few at that running those commands.

As for how I’m running this, I am running this via Docker on an Unraid NAS server. Those commands were run via the command line in the docker container to confirm that it can see IPV6 addresses. It is configured to use the “host” network option as well.

Unfortunately, I tried to ping the Nanoleaf bulb (both one unpaired from HomeKit but not reset and one still paired to HomeKit) and neither were able to be resolved:

ping6: Nanoleaf-A19-XXXX.local: Name does not resolve

(XXXX is my 4 digit ID but changed for privacy’s sake)

Look for posts by @rahil in the big thread. Also Unraid, similar looking problem. This was the accepted solution: HomeKit Accessory Protocol (HAP) over CoAP/UDP (was: Nanoleaf Essentials bulb via Thread/CoAP) - #263 by rahil

1 Like

Hmmmm. I’ll keep searching that thread, but adding those values to sysctl.conf on my host machine and the docker container didn’t fix the issue for me. Do I need to switch the container to use br0 as the network instead of host?

edit: br0 didn’t fix the issue, seems I’m stuck :confused:

edit 2: figured out I was setting up the ping wrong, I am able to ping my bulbs/strips that are unpaired now that I have the correct ID being used :sweat_smile:

1 Like

@AnvilPaladin are you still unable to pair? Jc2k mentioned in the big thread that those sysctls could take ~30 minutes to kick in. Something to do with the RA interval maybe.

Hey @lambdafunction !

Sadly, no. I did throw my aiohomekit logger into debug mode and tried again and got these messages:

2022-12-07 14:18:11.553 DEBUG (MainThread) [aiohomekit.controller.ble.controller] Discovery for hkid XX:XX:XX:XX:XX:XX not found, waiting for advertisement with timeout: 30.0
2022-12-07 14:18:11.697 DEBUG (MainThread) [aiohomekit.controller.coap.connection] Pair setup 1/2 uri=coap://[fda8:XX:XX:XX:XX:XX:XX:XX]:5683/1
2022-12-07 14:18:11.697 DEBUG (MainThread) [aiohomekit.protocol] #1 ios -> accessory: send SRP start request
2022-12-07 14:18:11.697 DEBUG (MainThread) [aiohomekit.protocol.tlv] sending [
6 (State): (1 bytes/<class 'bytearray'>) 0x01
0 (Method): (1 bytes/<class 'bytearray'>) 0x00
]
2022-12-07 14:18:27.698 WARNING (MainThread) [aiohomekit.controller.coap.connection] Pair setup 1/2 failed!
2022-12-07 14:18:27.701 ERROR (MainThread) [homeassistant.components.homekit_controller.config_flow] Pairing attempt failed with an unhandled exception
Traceback (most recent call last):
File "/usr/lib/python3.10/asyncio/tasks.py", line 456, in wait_for
return fut.result()
asyncio.exceptions.CancelledError
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "/usr/lib/python3.10/site-packages/homeassistant/components/homekit_controller/config_flow.py", line 479, in async_step_pair
self.finish_pairing = await discovery.async_start_pairing(self.hkid)
File "/usr/lib/python3.10/site-packages/aiohomekit/controller/coap/discovery.py", line 57, in async_start_pairing
salt, srpB = await self.connection.do_pair_setup(
File "/usr/lib/python3.10/site-packages/aiohomekit/controller/coap/connection.py", line 283, in do_pair_setup
response = await asyncio.wait_for(
File "/usr/lib/python3.10/asyncio/tasks.py", line 458, in wait_for
raise exceptions.TimeoutError() from exc
asyncio.exceptions.TimeoutError

One thing I thought of just now is my Unraid server doesn’t have BLE hardware installed, could that be causing this problem? Or does it all happen over IP

@AnvilPaladin CoAP is over UDP. The Apple Home pair/unpair dance is to switch accessories from BLE to Thread (CoAP/UDP).

Are you running HA via Docker? Another user had to enable ipv6 for the Docker daemon.

@lambdafunction sadly no, things still seem broken. I can see the devices when I unpair, but can’t go any further in the setup process.

@AnvilPaladin in HA can you please go to Settings → System → Network and check if the Network Adapter has IPv6 addresses listed?

EDIT: it looks like there is a second place to find IP address info. It is hiding in the triple dot menu in Configure network interfaces:
image

Hey @lambdafunction !

Finally some good news! There are quite a few listed there. So it seems HA is definitely recognizing and using IPv6 for at least some integrations.

@AnvilPaladin hmm, let’s make sure HA can ping6 the IPv6 address of the bulb as seen in the “Pair setup 1/2” debug line. If that doesn’t work, take a look in the output of ip -6 r. There should be a fda8:XXXX:XXXX::/64 via fe80::XXXX:XXXX:XXXX:XXXX line.

EDIT: oh, you said you could do that earlier. I’m a little stumped if you can ping from HA but it can’t talk CoAP. We might have to do a tcpdump.

Hey @lambdafunction !

I’m happy to do whatever I can to help diagnose this! I was able to ping the IPv6 address but not the multicast (.local) address oddly enough. Still wasn’t able to set it up though :confused:

EDIT: did some more troubleshooting.

  • I was able to ping their .local address just fine using Windows 11
    • Also was able to ping their IPv6 address just fine
  • I was not able to ping their .local or IPv6 addresses via Unraid’s command line OR Docker’s
    • I was able to ping Cloudflare’s IPv6 DNS address & other local devices just fine
  • I was able to sniff some packets in promiscuous mode on my Windows machine, and I can see my Unraid machine doing some mDNS requests for the Nanoleafs, but pinging those addresses via Unraid won’t show up in Wireshark. Filtering by address of the bulbs only returns the pings from my Windows machine, and 0 from the NAS

@AnvilPaladin hmm can you please turn up debug on the HA zeroconf component? Maybe also homeassistant.components.homekit_controller. You can PM me the logs, if you prefer. Let’s see what HA thinks about mDNS.

1 Like

Sent those logs on over!

Hi, any news on this?
Have basically the same problem. Raspberry Pi 4 + HA OS

  • I can pair a nanoleaf lightstrip via iOS app
  • Wait until the connection type is thread
  • Unpair via Home app
  • Light gets auto-discovered by HA
  • When trying to configure I always get an error, entering the pairing code also won’t change anything

My logs:

2023-01-01 19:03:44.148 WARNING (MainThread) [aiohomekit.controller.coap.connection] Pair setup 1/2 failed!
2023-01-01 19:03:44.152 ERROR (MainThread) [homeassistant.components.homekit_controller.config_flow] Pairing attempt failed with an unhandled exception
OSError: [Errno 113] received through errqueue
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/aiohomekit/controller/coap/discovery.py", line 57, in async_start_pairing
salt, srpB = await self.connection.do_pair_setup(
File "/usr/local/lib/python3.10/site-packages/aiohomekit/controller/coap/connection.py", line 288, in do_pair_setup
response = await self.pair_setup_client.request(request).response
File "/usr/local/lib/python3.10/site-packages/aiocoap/protocol.py", line 612, in _run_outer
await cls._run(app_request, response, weak_observation, protocol, log)
File "/usr/local/lib/python3.10/site-packages/aiocoap/protocol.py", line 671, in _run
blockresponse = await blockrequest.response
aiocoap.error.NetworkError: [Errno 113] received through errqueue
2023-01-01 19:03:49.186 WARNING (MainThread) [aiohomekit.controller.coap.connection] Pair setup 1/2 failed!
2023-01-01 19:03:49.191 ERROR (MainThread) [homeassistant.components.homekit_controller.config_flow] Pairing attempt failed with an unhandled exception
OSError: [Errno 113] received through errqueue
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/aiohomekit/controller/coap/discovery.py", line 57, in async_start_pairing
salt, srpB = await self.connection.do_pair_setup(
File "/usr/local/lib/python3.10/site-packages/aiohomekit/controller/coap/connection.py", line 288, in do_pair_setup
response = await self.pair_setup_client.request(request).response
File "/usr/local/lib/python3.10/site-packages/aiocoap/protocol.py", line 612, in _run_outer
await cls._run(app_request, response, weak_observation, protocol, log)
File "/usr/local/lib/python3.10/site-packages/aiocoap/protocol.py", line 671, in _run
blockresponse = await blockrequest.response
aiocoap.error.NetworkError: [Errno 113] received through errqueue

I’ve been using Nanoleaf essentials (3 strips, 1 bulb) via BLE for a couple months and usually they’re slow to respond but reliable. However, lately they’re have more and more errors with lights not turning on/off.

I’m running an up-to-date HAOS install on an RP4. Here is a portion of the logs. Any idea what might be causing this?

2023-01-24 18:47:12.312 WARNING (MainThread) [homeassistant.components.homekit_controller.connection] HomeKit controller update skipped as previous poll still in flight: F0:3F:92:C8:BE:D7
2023-01-24 18:47:12.505 WARNING (MainThread) [aiohomekit.controller.ble.pairing] Nanoleaf Strip 5K2Y [CB:34:BD:70:28:69] (id=F0:3F:92:C8:BE:D7): Missing service or characteristic, disconnecting to force refetch of GATT services: Nanoleaf Strip 5K2Y: Characteristic 00000703-0000-1000-8000-0026BB765291 not found, available characteristics: ['0000004c-0000-1000-8000-0026bb765291', '0000004e-0000-1000-8000-0026bb765291', 'e604e95d-a759-4817-87d3-aa005083a0d1', '0000004f-0000-1000-8000-0026bb765291', '00000050-0000-1000-8000-0026bb765291']
2023-01-24 18:47:14.947 ERROR (MainThread) [homeassistant.core] Error executing service: <ServiceCall light.turn_on (c:01GQJE7F71JSGDW1A7WXNVB5BM): entity_id=['light.strip_bureau_nanoleaf_light_strip'], params=transition=60.0, brightness=218, color_temp=370, color_temp_kelvin=2702>
Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/core.py", line 1773, in catch_exceptions
    await coro_or_task
  File "/usr/src/homeassistant/homeassistant/core.py", line 1792, in _execute_service
    await cast(Callable[[ServiceCall], Awaitable[None]], handler.job.target)(
  File "/usr/src/homeassistant/homeassistant/helpers/entity_component.py", line 213, in handle_service
    await service.entity_service_call(
  File "/usr/src/homeassistant/homeassistant/helpers/service.py", line 678, in entity_service_call
    future.result()  # pop exception if have
  File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 958, in async_request_call
    await coro
  File "/usr/src/homeassistant/homeassistant/helpers/service.py", line 715, in _handle_entity_call
    await result
  File "/usr/src/homeassistant/homeassistant/components/light/__init__.py", line 570, in async_handle_light_on_service
    await light.async_turn_on(**filter_turn_on_params(light, params))
  File "/usr/src/homeassistant/homeassistant/components/homekit_controller/light.py", line 163, in async_turn_on
    await self.async_put_characteristics(characteristics)
  File "/usr/src/homeassistant/homeassistant/components/homekit_controller/entity.py", line 90, in async_put_characteristics
    return await self._accessory.put_characteristics(payload)
  File "/usr/src/homeassistant/homeassistant/components/homekit_controller/connection.py", line 758, in put_characteristics
    await self.pairing.put_characteristics(characteristics)
  File "/usr/local/lib/python3.10/site-packages/aiohomekit/controller/ble/pairing.py", line 188, in _async_operation_lock_wrap
    return await func(self, *args, **kwargs)
  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/pairing.py", line 204, in _async_disconnect_on_missing_services_wrap
    return await func(self, *args, **kwargs)
  File "/usr/local/lib/python3.10/site-packages/aiohomekit/controller/ble/pairing.py", line 239, in _async_restore_and_resume
    await self._async_restore_subscriptions()
  File "/usr/local/lib/python3.10/site-packages/aiohomekit/controller/ble/pairing.py", line 1200, in _async_restore_subscriptions
    await self._async_subscribe_broadcast_events(subscriptions)
  File "/usr/local/lib/python3.10/site-packages/aiohomekit/controller/ble/pairing.py", line 1169, in _async_subscribe_broadcast_events
    await self._async_request_under_lock(
  File "/usr/local/lib/python3.10/site-packages/aiohomekit/controller/ble/pairing.py", line 428, in _async_request_under_lock
    endpoint = await self.client.get_characteristic(
  File "/usr/local/lib/python3.10/site-packages/aiohomekit/controller/ble/bleak.py", line 132, in get_characteristic
    raise BleakCharacteristicMissing(
aiohomekit.controller.ble.bleak.BleakCharacteristicMissing: Nanoleaf Strip 5K2Y: Characteristic 00000703-0000-1000-8000-0026BB765291 not found, available characteristics: ['0000004c-0000-1000-8000-0026bb765291', '0000004e-0000-1000-8000-0026bb765291', 'e604e95d-a759-4817-87d3-aa005083a0d1', '0000004f-0000-1000-8000-0026bb765291', '00000050-0000-1000-8000-0026bb765291']
2023-01-24 18:47:17.924 WARNING (MainThread) [aiohomekit.controller.ble.pairing] Nanoleaf Strip 5K2Y [CB:34:BD:70:28:69] (id=F0:3F:92:C8:BE:D7): Missing service or characteristic, disconnecting to force refetch of GATT services: Nanoleaf Strip 5K2Y: Characteristic 00000703-0000-1000-8000-0026BB765291 not found, available characteristics: ['0000004c-0000-1000-8000-0026bb765291', '0000004e-0000-1000-8000-0026bb765291', 'e604e95d-a759-4817-87d3-aa005083a0d1', '0000004f-0000-1000-8000-0026bb765291', '00000050-0000-1000-8000-0026bb765291']
2023-01-24 18:47:19.289 WARNING (MainThread) [aiohomekit.controller.ble.pairing] Nanoleaf Strip 5K2Y [CB:34:BD:70:28:69] (id=F0:3F:92:C8:BE:D7): Missing service or characteristic, disconnecting to force refetch of GATT services: Nanoleaf Strip 5K2Y: Characteristic 00000703-0000-1000-8000-0026BB765291 not found, available characteristics: ['0000004c-0000-1000-8000-0026bb765291', '0000004e-0000-1000-8000-0026bb765291', 'e604e95d-a759-4817-87d3-aa005083a0d1', '0000004f-0000-1000-8000-0026bb765291', '00000050-0000-1000-8000-0026bb765291']
2023-01-24 18:47:23.041 WARNING (MainThread) [aiohomekit.controller.ble.pairing] Nanoleaf Strip 5K2Y [CB:34:BD:70:28:69] (id=F0:3F:92:C8:BE:D7): Missing service or characteristic, disconnecting to force refetch of GATT services: Nanoleaf Strip 5K2Y: Characteristic 00000703-0000-1000-8000-0026BB765291 not found, available characteristics: ['0000004c-0000-1000-8000-0026bb765291', '0000004e-0000-1000-8000-0026bb765291', 'e604e95d-a759-4817-87d3-aa005083a0d1', '0000004f-0000-1000-8000-0026bb765291', '00000050-0000-1000-8000-0026bb765291']
2023-01-24 18:47:24.946 ERROR (MainThread) [aiohomekit.controller.ble.pairing] Nanoleaf Strip 5K2Y [CB:34:BD:70:28:69] (id=F0:3F:92:C8:BE:D7): Failed to fetch disconnected events: Nanoleaf Strip 5K2Y: Characteristic 00000703-0000-1000-8000-0026BB765291 not found, available characteristics: ['0000004c-0000-1000-8000-0026bb765291', '0000004e-0000-1000-8000-0026bb765291', 'e604e95d-a759-4817-87d3-aa005083a0d1', '0000004f-0000-1000-8000-0026bb765291', '00000050-0000-1000-8000-0026bb765291']; rssi=-58
Traceback (most recent call last):
  File "/usr/local/lib/python3.10/site-packages/aiohomekit/controller/ble/pairing.py", line 230, in _async_restore_and_resume
    return await func(self, *args, **kwargs)
  File "/usr/local/lib/python3.10/site-packages/aiohomekit/controller/ble/pairing.py", line 641, in _process_disconnected_events_with_retry
    await self._get_characteristics_while_connected(
  File "/usr/local/lib/python3.10/site-packages/aiohomekit/controller/ble/pairing.py", line 1388, in _get_characteristics_while_connected
    data = await self._async_request_under_lock(OpCode.CHAR_READ, char)
  File "/usr/local/lib/python3.10/site-packages/aiohomekit/controller/ble/pairing.py", line 428, in _async_request_under_lock
    endpoint = await self.client.get_characteristic(
  File "/usr/local/lib/python3.10/site-packages/aiohomekit/controller/ble/bleak.py", line 132, in get_characteristic
    raise BleakCharacteristicMissing(
aiohomekit.controller.ble.bleak.BleakCharacteristicMissing: Nanoleaf Strip 5K2Y: Characteristic 00000703-0000-1000-8000-0026BB765291 not found, available characteristics: ['0000004c-0000-1000-8000-0026bb765291', '0000004e-0000-1000-8000-0026bb765291', 'e604e95d-a759-4817-87d3-aa005083a0d1', '0000004f-0000-1000-8000-0026bb765291', '00000050-0000-1000-8000-0026bb765291']

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/local/lib/python3.10/site-packages/aiohomekit/controller/ble/pairing.py", line 609, in _process_disconnected_events
    protocol_param = await self._process_disconnected_events_with_retry()
  File "/usr/local/lib/python3.10/site-packages/aiohomekit/controller/ble/pairing.py", line 188, in _async_operation_lock_wrap
    return await func(self, *args, **kwargs)
  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/pairing.py", line 204, in _async_disconnect_on_missing_services_wrap
    return await func(self, *args, **kwargs)
  File "/usr/local/lib/python3.10/site-packages/aiohomekit/controller/ble/pairing.py", line 239, in _async_restore_and_resume
    await self._async_restore_subscriptions()
  File "/usr/local/lib/python3.10/site-packages/aiohomekit/controller/ble/pairing.py", line 1200, in _async_restore_subscriptions
    await self._async_subscribe_broadcast_events(subscriptions)
  File "/usr/local/lib/python3.10/site-packages/aiohomekit/controller/ble/pairing.py", line 1169, in _async_subscribe_broadcast_events
    await self._async_request_under_lock(
  File "/usr/local/lib/python3.10/site-packages/aiohomekit/controller/ble/pairing.py", line 428, in _async_request_under_lock
    endpoint = await self.client.get_characteristic(
  File "/usr/local/lib/python3.10/site-packages/aiohomekit/controller/ble/bleak.py", line 132, in get_characteristic
    raise BleakCharacteristicMissing(
aiohomekit.controller.ble.bleak.BleakCharacteristicMissing: Nanoleaf Strip 5K2Y: Characteristic 00000703-0000-1000-8000-0026BB765291 not found, available characteristics: ['0000004c-0000-1000-8000-0026bb765291', '0000004e-0000-1000-8000-0026bb765291', 'e604e95d-a759-4817-87d3-aa005083a0d1', '0000004f-0000-1000-8000-0026bb765291', '00000050-0000-1000-8000-0026bb765291']
2023-01-24 18:47:27.819 WARNING (MainThread) [aiohomekit.controller.ble.pairing] Nanoleaf Strip 5K2Y [CB:34:BD:70:28:69] (id=F0:3F:92:C8:BE:D7): Missing service or characteristic, disconnecting to force refetch of GATT services: Nanoleaf Strip 5K2Y: Characteristic 00000703-0000-1000-8000-0026BB765291 not found, available characteristics: ['0000004c-0000-1000-8000-0026bb765291', '0000004e-0000-1000-8000-0026bb765291', 'e604e95d-a759-4817-87d3-aa005083a0d1', '0000004f-0000-1000-8000-0026bb765291', '00000050-0000-1000-8000-0026bb765291']
2023-01-24 18:47:29.918 ERROR (MainThread) [homeassistant] Error doing job: Task exception was never retrieved
Traceback (most recent call last):
  File "/usr/local/lib/python3.10/site-packages/aiohomekit/controller/ble/pairing.py", line 230, in _async_restore_and_resume
    return await func(self, *args, **kwargs)
  File "/usr/local/lib/python3.10/site-packages/aiohomekit/controller/ble/pairing.py", line 1344, in _get_characteristics_without_retry
    return await self._get_characteristics_while_connected(
  File "/usr/local/lib/python3.10/site-packages/aiohomekit/controller/ble/pairing.py", line 1388, in _get_characteristics_while_connected
    data = await self._async_request_under_lock(OpCode.CHAR_READ, char)
  File "/usr/local/lib/python3.10/site-packages/aiohomekit/controller/ble/pairing.py", line 428, in _async_request_under_lock
    endpoint = await self.client.get_characteristic(
  File "/usr/local/lib/python3.10/site-packages/aiohomekit/controller/ble/bleak.py", line 132, in get_characteristic
    raise BleakCharacteristicMissing(
aiohomekit.controller.ble.bleak.BleakCharacteristicMissing: Nanoleaf Strip 5K2Y: Characteristic 00000703-0000-1000-8000-0026BB765291 not found, available characteristics: ['0000004c-0000-1000-8000-0026bb765291', '0000004e-0000-1000-8000-0026bb765291', 'e604e95d-a759-4817-87d3-aa005083a0d1', '0000004f-0000-1000-8000-0026bb765291', '00000050-0000-1000-8000-0026bb765291']

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/components/homekit_controller/connection.py", line 578, in async_update_new_accessories_state
    await self.async_update()
  File "/usr/src/homeassistant/homeassistant/components/homekit_controller/connection.py", line 716, in async_update
    new_values_dict = await self.get_characteristics(
  File "/usr/src/homeassistant/homeassistant/components/homekit_controller/connection.py", line 752, in get_characteristics
    return await self.pairing.get_characteristics(*args, **kwargs)
  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/pairing.py", line 204, in _async_disconnect_on_missing_services_wrap
    return await func(self, *args, **kwargs)
  File "/usr/local/lib/python3.10/site-packages/aiohomekit/controller/ble/pairing.py", line 1303, in get_characteristics
    return await self._get_characteristics_without_retry(characteristics)
  File "/usr/local/lib/python3.10/site-packages/aiohomekit/controller/ble/pairing.py", line 188, in _async_operation_lock_wrap
    return await func(self, *args, **kwargs)
  File "/usr/local/lib/python3.10/site-packages/aiohomekit/controller/ble/pairing.py", line 239, in _async_restore_and_resume
    await self._async_restore_subscriptions()
  File "/usr/local/lib/python3.10/site-packages/aiohomekit/controller/ble/pairing.py", line 1200, in _async_restore_subscriptions
    await self._async_subscribe_broadcast_events(subscriptions)
  File "/usr/local/lib/python3.10/site-packages/aiohomekit/controller/ble/pairing.py", line 1169, in _async_subscribe_broadcast_events
    await self._async_request_under_lock(
  File "/usr/local/lib/python3.10/site-packages/aiohomekit/controller/ble/pairing.py", line 428, in _async_request_under_lock
    endpoint = await self.client.get_characteristic(
  File "/usr/local/lib/python3.10/site-packages/aiohomekit/controller/ble/bleak.py", line 132, in get_characteristic
    raise BleakCharacteristicMissing(
aiohomekit.controller.ble.bleak.BleakCharacteristicMissing: Nanoleaf Strip 5K2Y: Characteristic 00000703-0000-1000-8000-0026BB765291 not found, available characteristics: ['0000004c-0000-1000-8000-0026bb765291', '0000004e-0000-1000-8000-0026bb765291', 'e604e95d-a759-4817-87d3-aa005083a0d1', '0000004f-0000-1000-8000-0026bb765291', '00000050-0000-1000-8000-0026bb765291']
2023-01-24 18:49:11.644 WARNING (MainThread) [aiohomekit.controller.ble.pairing] Nanoleaf Strip 5K2Y [CB:34:BD:70:28:69] (id=F0:3F:92:C8:BE:D7): Missing service or characteristic, disconnecting to force refetch of GATT services: Nanoleaf Strip 5K2Y: Characteristic 00000703-0000-1000-8000-0026BB765291 not found, available characteristics: ['0000004c-0000-1000-8000-0026bb765291', '0000004e-0000-1000-8000-0026bb765291', 'e604e95d-a759-4817-87d3-aa005083a0d1', '0000004f-0000-1000-8000-0026bb765291', '00000050-0000-1000-8000-0026bb765291']
2023-01-24 18:49:30.547 WARNING (MainThread) [homeassistant.components.homekit_controller.connection] HomeKit controller update skipped as previous poll still in flight: F0:3F:92:C8:BE:D7
2023-01-24 18:49:30.737 WARNING (MainThread) [aiohomekit.controller.ble.pairing] Nanoleaf Strip 5K2Y [CB:34:BD:70:28:69] (id=F0:3F:92:C8:BE:D7): Missing service or characteristic, disconnecting to force refetch of GATT services: Nanoleaf Strip 5K2Y: Characteristic 00000703-0000-1000-8000-0026BB765291 not found, available characteristics: ['0000004c-0000-1000-8000-0026bb765291', '0000004e-0000-1000-8000-0026bb765291', 'e604e95d-a759-4817-87d3-aa005083a0d1', '0000004f-0000-1000-8000-0026bb765291', '00000050-0000-1000-8000-0026bb765291']
2023-01-24 18:49:32.937 ERROR (MainThread) [homeassistant.core] Error executing service: <ServiceCall light.turn_off (c:01GQJEBASVSHBRPAX4RBP064SY): entity_id=['light.strip_bureau_nanoleaf_light_strip'], params=>
Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/core.py", line 1773, in catch_exceptions
    await coro_or_task
  File "/usr/src/homeassistant/homeassistant/core.py", line 1792, in _execute_service
    await cast(Callable[[ServiceCall], Awaitable[None]], handler.job.target)(
  File "/usr/src/homeassistant/homeassistant/helpers/entity_component.py", line 213, in handle_service
    await service.entity_service_call(
  File "/usr/src/homeassistant/homeassistant/helpers/service.py", line 678, in entity_service_call
    future.result()  # pop exception if have
  File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 958, in async_request_call
    await coro
  File "/usr/src/homeassistant/homeassistant/helpers/service.py", line 715, in _handle_entity_call
    await result
  File "/usr/src/homeassistant/homeassistant/components/light/__init__.py", line 581, in async_handle_light_off_service
    await light.async_turn_off(**filter_turn_off_params(light, params))
  File "/usr/src/homeassistant/homeassistant/components/homekit_controller/light.py", line 167, in async_turn_off
    await self.async_put_characteristics({CharacteristicsTypes.ON: False})
  File "/usr/src/homeassistant/homeassistant/components/homekit_controller/entity.py", line 90, in async_put_characteristics
    return await self._accessory.put_characteristics(payload)
  File "/usr/src/homeassistant/homeassistant/components/homekit_controller/connection.py", line 758, in put_characteristics
    await self.pairing.put_characteristics(characteristics)
  File "/usr/local/lib/python3.10/site-packages/aiohomekit/controller/ble/pairing.py", line 188, in _async_operation_lock_wrap
    return await func(self, *args, **kwargs)
  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/pairing.py", line 204, in _async_disconnect_on_missing_services_wrap
    return await func(self, *args, **kwargs)
  File "/usr/local/lib/python3.10/site-packages/aiohomekit/controller/ble/pairing.py", line 239, in _async_restore_and_resume
    await self._async_restore_subscriptions()
  File "/usr/local/lib/python3.10/site-packages/aiohomekit/controller/ble/pairing.py", line 1200, in _async_restore_subscriptions
    await self._async_subscribe_broadcast_events(subscriptions)
  File "/usr/local/lib/python3.10/site-packages/aiohomekit/controller/ble/pairing.py", line 1169, in _async_subscribe_broadcast_events
    await self._async_request_under_lock(
  File "/usr/local/lib/python3.10/site-packages/aiohomekit/controller/ble/pairing.py", line 428, in _async_request_under_lock
    endpoint = await self.client.get_characteristic(
  File "/usr/local/lib/python3.10/site-packages/aiohomekit/controller/ble/bleak.py", line 132, in get_characteristic
    raise BleakCharacteristicMissing(
aiohomekit.controller.ble.bleak.BleakCharacteristicMissing: Nanoleaf Strip 5K2Y: Characteristic 00000703-0000-1000-8000-0026BB765291 not found, available characteristics: ['0000004c-0000-1000-8000-0026bb765291', '0000004e-0000-1000-8000-0026bb765291', 'e604e95d-a759-4817-87d3-aa005083a0d1', '0000004f-0000-1000-8000-0026bb765291', '00000050-0000-1000-8000-0026bb765291']
2023-01-24 18:49:36.149 WARNING (MainThread) [aiohomekit.controller.ble.pairing] Nanoleaf Strip 5K2Y [CB:34:BD:70:28:69] (id=F0:3F:92:C8:BE:D7): Missing service or characteristic, disconnecting to force refetch of GATT services: Nanoleaf Strip 5K2Y: Characteristic 00000703-0000-1000-8000-0026BB765291 not found, available characteristics: ['0000004c-0000-1000-8000-0026bb765291', '0000004e-0000-1000-8000-0026bb765291', 'e604e95d-a759-4817-87d3-aa005083a0d1', '0000004f-0000-1000-8000-0026bb765291', '00000050-0000-1000-8000-0026bb765291']
2023-01-24 18:49:37.515 WARNING (MainThread) [aiohomekit.controller.ble.pairing] Nanoleaf Strip 5K2Y [CB:34:BD:70:28:69] (id=F0:3F:92:C8:BE:D7): Missing service or characteristic, disconnecting to force refetch of GATT services: Nanoleaf Strip 5K2Y: Characteristic 00000703-0000-1000-8000-0026BB765291 not found, available characteristics: ['0000004c-0000-1000-8000-0026bb765291', '0000004e-0000-1000-8000-0026bb765291', 'e604e95d-a759-4817-87d3-aa005083a0d1', '0000004f-0000-1000-8000-0026bb765291', '00000050-0000-1000-8000-0026bb765291']
2023-01-24 18:49:51.171 WARNING (MainThread) [aiohomekit.controller.ble.pairing] Nanoleaf Strip 5K2Y [CB:34:BD:70:28:69] (id=F0:3F:92:C8:BE:D7): Missing service or characteristic, disconnecting to force refetch of GATT services: Nanoleaf Strip 5K2Y: Characteristic 00000703-0000-1000-8000-0026BB765291 not found, available characteristics: ['0000004c-0000-1000-8000-0026bb765291', '0000004e-0000-1000-8000-0026bb765291', 'e604e95d-a759-4817-87d3-aa005083a0d1', '0000004f-0000-1000-8000-0026bb765291', '00000050-0000-1000-8000-0026bb765291']
2023-01-24 18:49:53.951 ERROR (MainThread) [aiohomekit.controller.ble.pairing] Nanoleaf Strip 5K2Y [CB:34:BD:70:28:69] (id=F0:3F:92:C8:BE:D7): Failed to fetch disconnected events: Nanoleaf Strip 5K2Y: Characteristic 00000703-0000-1000-8000-0026BB765291 not found, available characteristics: ['0000004c-0000-1000-8000-0026bb765291', '0000004e-0000-1000-8000-0026bb765291', 'e604e95d-a759-4817-87d3-aa005083a0d1', '0000004f-0000-1000-8000-0026bb765291', '00000050-0000-1000-8000-0026bb765291']; rssi=-58
Traceback (most recent call last):
  File "/usr/local/lib/python3.10/site-packages/aiohomekit/controller/ble/pairing.py", line 230, in _async_restore_and_resume
    return await func(self, *args, **kwargs)
  File "/usr/local/lib/python3.10/site-packages/aiohomekit/controller/ble/pairing.py", line 641, in _process_disconnected_events_with_retry
    await self._get_characteristics_while_connected(
  File "/usr/local/lib/python3.10/site-packages/aiohomekit/controller/ble/pairing.py", line 1388, in _get_characteristics_while_connected
    data = await self._async_request_under_lock(OpCode.CHAR_READ, char)
  File "/usr/local/lib/python3.10/site-packages/aiohomekit/controller/ble/pairing.py", line 428, in _async_request_under_lock
    endpoint = await self.client.get_characteristic(
  File "/usr/local/lib/python3.10/site-packages/aiohomekit/controller/ble/bleak.py", line 132, in get_characteristic
    raise BleakCharacteristicMissing(
aiohomekit.controller.ble.bleak.BleakCharacteristicMissing: Nanoleaf Strip 5K2Y: Characteristic 00000703-0000-1000-8000-0026BB765291 not found, available characteristics: ['0000004c-0000-1000-8000-0026bb765291', '0000004e-0000-1000-8000-0026bb765291', 'e604e95d-a759-4817-87d3-aa005083a0d1', '0000004f-0000-1000-8000-0026bb765291', '00000050-0000-1000-8000-0026bb765291']

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/local/lib/python3.10/site-packages/aiohomekit/controller/ble/pairing.py", line 609, in _process_disconnected_events
    protocol_param = await self._process_disconnected_events_with_retry()
  File "/usr/local/lib/python3.10/site-packages/aiohomekit/controller/ble/pairing.py", line 188, in _async_operation_lock_wrap
    return await func(self, *args, **kwargs)
  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/pairing.py", line 204, in _async_disconnect_on_missing_services_wrap
    return await func(self, *args, **kwargs)
  File "/usr/local/lib/python3.10/site-packages/aiohomekit/controller/ble/pairing.py", line 239, in _async_restore_and_resume
    await self._async_restore_subscriptions()
  File "/usr/local/lib/python3.10/site-packages/aiohomekit/controller/ble/pairing.py", line 1200, in _async_restore_subscriptions
    await self._async_subscribe_broadcast_events(subscriptions)
  File "/usr/local/lib/python3.10/site-packages/aiohomekit/controller/ble/pairing.py", line 1169, in _async_subscribe_broadcast_events
    await self._async_request_under_lock(
  File "/usr/local/lib/python3.10/site-packages/aiohomekit/controller/ble/pairing.py", line 428, in _async_request_under_lock
    endpoint = await self.client.get_characteristic(
  File "/usr/local/lib/python3.10/site-packages/aiohomekit/controller/ble/bleak.py", line 132, in get_characteristic
    raise BleakCharacteristicMissing(
aiohomekit.controller.ble.bleak.BleakCharacteristicMissing: Nanoleaf Strip 5K2Y: Characteristic 00000703-0000-1000-8000-0026BB765291 not found, available characteristics: ['0000004c-0000-1000-8000-0026bb765291', '0000004e-0000-1000-8000-0026bb765291', 'e604e95d-a759-4817-87d3-aa005083a0d1', '0000004f-0000-1000-8000-0026bb765291', '00000050-0000-1000-8000-0026bb765291']
2023-01-24 18:49:56.923 WARNING (MainThread) [aiohomekit.controller.ble.pairing] Nanoleaf Strip 5K2Y [CB:34:BD:70:28:69] (id=F0:3F:92:C8:BE:D7): Missing service or characteristic, disconnecting to force refetch of GATT services: Nanoleaf Strip 5K2Y: Characteristic 00000703-0000-1000-8000-0026BB765291 not found, available characteristics: ['0000004c-0000-1000-8000-0026bb765291', '0000004e-0000-1000-8000-0026bb765291', 'e604e95d-a759-4817-87d3-aa005083a0d1', '0000004f-0000-1000-8000-0026bb765291', '00000050-0000-1000-8000-0026bb765291']
2023-01-24 18:49:58.924 ERROR (MainThread) [homeassistant] Error doing job: Task exception was never retrieved
Traceback (most recent call last):
  File "/usr/local/lib/python3.10/site-packages/aiohomekit/controller/ble/pairing.py", line 230, in _async_restore_and_resume
    return await func(self, *args, **kwargs)
  File "/usr/local/lib/python3.10/site-packages/aiohomekit/controller/ble/pairing.py", line 1344, in _get_characteristics_without_retry
    return await self._get_characteristics_while_connected(
  File "/usr/local/lib/python3.10/site-packages/aiohomekit/controller/ble/pairing.py", line 1388, in _get_characteristics_while_connected
    data = await self._async_request_under_lock(OpCode.CHAR_READ, char)
  File "/usr/local/lib/python3.10/site-packages/aiohomekit/controller/ble/pairing.py", line 428, in _async_request_under_lock
    endpoint = await self.client.get_characteristic(
  File "/usr/local/lib/python3.10/site-packages/aiohomekit/controller/ble/bleak.py", line 132, in get_characteristic
    raise BleakCharacteristicMissing(
aiohomekit.controller.ble.bleak.BleakCharacteristicMissing: Nanoleaf Strip 5K2Y: Characteristic 00000703-0000-1000-8000-0026BB765291 not found, available characteristics: ['0000004c-0000-1000-8000-0026bb765291', '0000004e-0000-1000-8000-0026bb765291', 'e604e95d-a759-4817-87d3-aa005083a0d1', '0000004f-0000-1000-8000-0026bb765291', '00000050-0000-1000-8000-0026bb765291']

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/components/homekit_controller/connection.py", line 578, in async_update_new_accessories_state
    await self.async_update()
  File "/usr/src/homeassistant/homeassistant/components/homekit_controller/connection.py", line 716, in async_update
    new_values_dict = await self.get_characteristics(
  File "/usr/src/homeassistant/homeassistant/components/homekit_controller/connection.py", line 752, in get_characteristics
    return await self.pairing.get_characteristics(*args, **kwargs)
  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/pairing.py", line 204, in _async_disconnect_on_missing_services_wrap
    return await func(self, *args, **kwargs)
  File "/usr/local/lib/python3.10/site-packages/aiohomekit/controller/ble/pairing.py", line 1303, in get_characteristics
    return await self._get_characteristics_without_retry(characteristics)
  File "/usr/local/lib/python3.10/site-packages/aiohomekit/controller/ble/pairing.py", line 188, in _async_operation_lock_wrap
    return await func(self, *args, **kwargs)
  File "/usr/local/lib/python3.10/site-packages/aiohomekit/controller/ble/pairing.py", line 239, in _async_restore_and_resume
    await self._async_restore_subscriptions()
  File "/usr/local/lib/python3.10/site-packages/aiohomekit/controller/ble/pairing.py", line 1200, in _async_restore_subscriptions
    await self._async_subscribe_broadcast_events(subscriptions)
  File "/usr/local/lib/python3.10/site-packages/aiohomekit/controller/ble/pairing.py", line 1169, in _async_subscribe_broadcast_events
    await self._async_request_under_lock(
  File "/usr/local/lib/python3.10/site-packages/aiohomekit/controller/ble/pairing.py", line 428, in _async_request_under_lock
    endpoint = await self.client.get_characteristic(
  File "/usr/local/lib/python3.10/site-packages/aiohomekit/controller/ble/bleak.py", line 132, in get_characteristic
    raise BleakCharacteristicMissing(
aiohomekit.controller.ble.bleak.BleakCharacteristicMissing: Nanoleaf Strip 5K2Y: Characteristic 00000703-0000-1000-8000-0026BB765291 not found, available characteristics: ['0000004c-0000-1000-8000-0026bb765291', '0000004e-0000-1000-8000-0026bb765291', 'e604e95d-a759-4817-87d3-aa005083a0d1', '0000004f-0000-1000-8000-0026bb765291', '00000050-0000-1000-8000-0026bb765291']

For whatever reason, I could not get the Essential Light Strips to be discovered automatically. IPv6 is working, shrug So then I tried using the Matter integration and it paired perfectly. Still working over Thread, still seen in the Nanoleaf app. One thing I don’t get is any HA effects. Might be because these are paired over the Matter integration, and not just Thread? Or it’s just not supported on these lights at all? If anyone can confirm if the effects/scenes work when connected via Thread, I would appreciate it.

EDIT: I tried a reset to get it to pair directly with HA, but it would still not auto-discover. So I went back to the HA Matter server, but this time I followed the instructions, getting a pairing # through the Home app. I also didn’t realize I had the HomeKit bridge set up to auto-add new entities, which was round tripping the lights, so they would show up twice in several apps. The Nanoleaf app is basically only good for special scenes (and even that it’s not great). Apple Home & HA are better for automation, though I’m finding one of my lights doesn’t usually reflect the correct color in Home. Overall, I prefer the HA cards/interface, though being new to HA, I need to figure out my dashboards for easy access.