Homekit over Thread Functional with Skyconnect?

I have a Skyconnect hooked up to my HAOS instance with multi-PAN firmware and this all seems to be working (thread and Zigbee both showing up). Until now, I couldn’t figure out how to do anything useful with the Thread side (no Matter devices to try out).

I had some new HomeKit Thread devices to connect and I noticed some differences in the pairing procedure and some interesting details afterward:

  • Previously, I’d have to add the device to HomeKit on my phone, remove it, and then pair it with HA. This is no longer necessary; it immediately shows up in HA when turned on, and pairs successfully!
  • When looking at the Thread network (i.e. using the Discovery app on Mac), I notice that the Skyconnect shows up under meshcop.udp alongside the HomePods! It’s also on the same ipv6 subnets as the HomePods!

I didn’t see any release notes about this, but if it is indeed just working now, that’s really great.

1 Like

I can also see this now. Both HomeAssistant OpenThreadBorderRouter #13AF and MyHome310925697 show up. Cant quite figure out how to join the OpenThreadBorderRouter to the HomeKit thread mesh.

Same here. Following along with this thread…

Yeah, I’m in the same boat.

I’ve got 18 roller shades that support HomeKit over Thread. They work fine with my HomePod mini but I’d love for them to be controlled through HA.

I’m running 2023.3. I have SkyConnect with Mulit-PAN. I’m getting an error when trying to connect the roller shade using HomeKit Controller:

Logger: homeassistant.components.homekit_controller.config_flow
Source: components/homekit_controller/config_flow.py:492
Integration: HomeKit Controller (documentation, issues)
First occurred: 10:56:38 AM (1 occurrences)
Last logged: 10:56:38 AM

Pairing attempt failed with an unhandled exception
PermissionError: [Errno 13] 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 492, 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 290, 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 13] received through errqueue

I believe the SkyConnect and HomePod mini are on different IPv6 subnets (SkyConnect is on 19 and HomePod mini is on 18) if I understand correctly:


Have you seen this error? Any idea how to fix it? Do I just need to figure out how to put them on the same subnet? How do I do this?

When the devices are paired, are they connecting to your SkyConnect Thread network of your Apple Thread network? Do you see the Child nodes in your SkyConnect OTBR Topology?