Why can't I pair Nano leaf essentials bulbs with HomeKit controller?

Hello all. I will start by saying I am a total noob when it comes to home assistant. However, I’m excited to learn how all this stuff works. So any help or guidance is greatly appreciated.
This is what I have done so far:
I installed home assistant via docker on a raspberry pi4. I followed the instructions to pair the bulb (added it via apple home, checked it was connected using thread via the nanoleaf app. It is. I then removed the accessory from the home app.
Home assistant then discovers the bulb and asks if I want to add it via home kit controller.
I click configure, it thinks for a while, then says “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:”
I try to enter the HomeKit pairing code (with the dashes) but it just shows the same screen and says “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:”
The log says this:

Pairing attempt failed with an unhandled exception
Traceback (most recent call last):
File “/usr/local/lib/python3.10/site-packages/aiohomekit/controller/coap/connection.py”, line 290, in do_pair_setup
response = await self.pair_setup_client.request(request).response
asyncio.exceptions.CancelledError

During handling of the above exception, another exception occurred:

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 289, in do_pair_setup
async with asyncio_timeout(16.0):
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

Any advice on what to do next would be fantastic.

Same error with Qingping Thermometer Hygrometer. I’ve paired these successfully before, restored HA backup on new VM, they stopped responding, I deleted, now can’t add back.

@TB1889 and @HDG it is very important that IPv6 networking is functional for all of this to work. Let’s check a few things… do the below commands from the RPI/VM that is hosting HA.

Find the IPv6 address of your device(s): avahi-browse -r _hap._udp (Linux) or dns-sd -Z _hap._udp (MacOS)
Let’s see if we can reach the device: ping -6 Nanoleaf-A19-XXXX.local. or whatever hostname you get from the above commands.

If the ping works, check if docker and HA have IPv6 enabled. You can try to do the ping inside the docker container for HA.

If the ping does not work, check if your host has IPv6 enabled. You should have one or more IPv6 addresses and your host should also have at least one route to your devices. I have a few Thread Border Routers which you can see here:

$ ip -6 r
...
fd6e:7454:4783:1::/64 via fe80::7442:27af:5a1:94e8 dev eno1 proto ra metric 101 pref medium
...

fd6e... is my OpenThread add-on’s network that I have added my HAP Thread devices to.