Troubleshooting first time thread device pairing issue

Hello,

I’ve purchased a ZBT-2 over the holiday along with an Eve light switch. I followed the instructions and got the ZBT-2 connected to HA with the Thread firmware installed, and each of the integrations/addons appear as expected:

  • Matter, Thread, OpenThread Border Router integrations
  • Matter Server and OpenThread Border Router addons

In the Thread integration, I was able to get a new network using the OpenThread Border Router and can sync the credentials to my phone. The Eve device appears to be fully functional, in that I can manually toggle the switch and turn the associated bulb on and off without issue.

However, when I try to add the Eve light switch to HA, I get no further than “Connecting” and it gives up after several minutes. I’m using the HA companion app (iOS) – I go to devices, Add Integration, Add Matter Device, then scan the QR code from the light switch.

I have a flat network layout, with full IPv4 and IPv6 connectivity; no traffic is blocked or dropped anywhere within the LAN (or wifi). HA has only a single network connection. I can see mDNS traffic anywhere in the network without issue. The ZBT-2 is connected with the included USB extension cable and is positioned away from HA RPi and any other potential sources of interference. It is probably no more than 3-4 meters from the light switch, with one wall separating them. I’ve tried adding the device while standing right next to the light switch and a bit of distance away, trying to rule out any bluetooth issues.

I do see a few concerning messages in the OTBR addon logs, though they haven’t yet repeated since my last addon restart last night, even after additional pairing attempts (both last night and this morning).

s6-rc: info: service legacy-services successfully started
00:00:27.164 [N] Mle-----------: RLOC16 5400 -> fffe
00:00:27.841 [N] Mle-----------: Attach attempt 1, AnyPartition reattaching with Active Dataset
00:00:34.341 [N] RouterTable---: Allocate router id 21
00:00:34.341 [N] Mle-----------: RLOC16 fffe -> 5400
00:00:34.342 [N] Mle-----------: Role detached -> leader
00:00:34.342 [N] Mle-----------: Partition ID 0x2ceff1d4
[NOTE]-BBA-----: BackboneAgent: Backbone Router becomes Primary!
00:00:35.854 [W] P-RadioSpinel-: Error processing result: NoAddress
00:00:35.854 [W] P-RadioSpinel-: Error waiting response: NoAddress
00:00:36.304 [W] DuaManager----: Failed to perform next registration: NotFound
00:00:45.515 [W] SrpServer-----: Failed to handle DNS message: Drop
00:00:48.476 [W] SrpServer-----: Failed to handle DNS message: Drop
00:00:54.326 [W] SrpServer-----: Failed to handle DNS message: Drop
00:03:00.961 [W] SrpServer-----: Failed to handle DNS message: Drop
00:03:03.768 [W] SrpServer-----: Failed to handle DNS message: Drop
00:03:08.148 [W] SrpServer-----: Failed to handle DNS message: Drop
00:14:59.232 [W] P-RadioSpinel-: Error processing result: NoAddress
00:14:59.232 [W] P-RadioSpinel-: Error waiting response: NoAddress
00:15:01.010 [W] SrpServer-----: Failed to handle DNS message: Drop
00:15:03.578 [W] SrpServer-----: Failed to handle DNS message: Drop
00:15:09.453 [W] SrpServer-----: Failed to handle DNS message: Drop

I also see this in the Matter addon logs; it doesn’t repeat unless restarted:

2026-01-04 14:12:34.242 (Dummy-2) CHIP_ERROR [chip.native.DIS] Failed to advertise records: src/inet/UDPEndPointImplSockets.cpp:417: OS Error 0x02000065: Network is unreachable
2026-01-04 14:12:34.246 (Dummy-2) CHIP_ERROR [chip.native.DL] Long dispatch time: 120 ms, for event type 2

Any suggestions for what to try next, or other places to check for potential issues?

I’ve been digging further; still no real answer as yet. I can confirm that I can see mDNS pretty much everywhere in the network, and after increasing the verbosity of the OTBR addon, I got the IPv6 addresses for the Eve light switch, and i can ping them from pretty much anywhere in the network. So network connectivity seems to be ruled out.

I was able to get some packet captures from the AP my phone is connected to, and there’s not a whole lot to see. One thing that I did notice is that one of the mDNS queries that was made and not answered is for _matterc._udp.local. This makes me wonder if something is indeed wrong with the matter server addon, per the error in my original post. The networking configuration of both the OTBR and matter addons appear to be bascially identical (using host networking as far as I can tell), so I’m not too sure why the service would throw that error.

I turned up the verbosity of matter sdk logs a bit more, and sadly I think the error might be a red herring.

2026-01-06 21:34:13.439 (Dummy-2) CHIP_PROGRESS [chip.native.DIS] CHIP minimal mDNS started advertising.
2026-01-06 21:34:13.441 (Dummy-2) CHIP_DETAIL [chip.native.DL] Using WiFi MAC for hostname
2026-01-06 21:34:13.442 (Dummy-2) CHIP_PROGRESS [chip.native.DIS] Advertise operational node A0E0E605F4434F9B-000000000001B669
2026-01-06 21:34:13.442 (Dummy-2) CHIP_DETAIL [chip.native.DIS] Responding with _matter._tcp.local
2026-01-06 21:34:13.443 (Dummy-2) CHIP_DETAIL [chip.native.DIS] Responding with A0E0E605F4434F9B-000000000001B669._matter._tcp.local
2026-01-06 21:34:13.443 (Dummy-2) CHIP_DETAIL [chip.native.DIS] Responding with A0E0E605F4434F9B-000000000001B669._matter._tcp.local
2026-01-06 21:34:13.443 (Dummy-2) CHIP_DETAIL [chip.native.DIS] Responding with 2CCF672D2B2C.local
2026-01-06 21:34:13.443 (Dummy-2) CHIP_DETAIL [chip.native.DIS] Responding with _IA0E0E605F4434F9B._sub._matter._tcp.local
2026-01-06 21:34:13.443 (Dummy-2) CHIP_PROGRESS [chip.native.DIS] CHIP minimal mDNS configured as 'Operational device'; instance name: A0E0E605F4434F9B-000000000001B669.
2026-01-06 21:34:13.446 (Dummy-2) CHIP_DETAIL [chip.native.DIS] Warning: Attempt to mDNS broadcast failed on wlan0:  src/inet/UDPEndPointImplSockets.cpp:417: OS Error 0x02000065: Network is unreachable
2026-01-06 21:34:13.446 (Dummy-2) CHIP_PROGRESS [chip.native.DIS] mDNS broadcast full failed in 1 separate send attempts.
2026-01-06 21:34:13.446 (Dummy-2) CHIP_ERROR [chip.native.DIS] Failed to advertise records: src/inet/UDPEndPointImplSockets.cpp:417: OS Error 0x02000065: Network is unreachable
2026-01-06 21:34:13.454 (Dummy-2) CHIP_PROGRESS [chip.native.DIS] mDNS service published: _matter._tcp

I do wonder if I need to fully disable the wifi interface on the Pi. I might try that next.

Disabling wifi did get rid of the packet send error in the Matter addon, but didn’t otherwise fix anything. Amusingly, it still has a log message about using the “WiFi MAC” for hostname.

If anyone has any helpful hints that might move things along, I’m all ears! Nothing I’ve tried has gotten me any further than when I started this whole process. To reiterate, when I attempt to add a matter-over-thread device via the HA app, I get no further than “Connecting”, and it eventually gives up.

I exported the logs from my HA app, and found what I believe are errors from the commissioning process, although they do not really tell me anything useful.

2026-01-07 17:54:23.194 [Verbose] [main] [WebViewScriptMessageHandler.swift:26] userContentController(_:didReceive:) > message {     id = 11;     payload =     {         "active_operational_dataset" = REDACTED;         "border_agent_id" = REDACTED;         "extended_pan_id" = REDACTED;         "mac_extended_address" = REDACTED;     };     type = "matter/commission"; }
2026-01-07 17:54:23.200 [Verbose] [main] [WebViewExternalMessageHandler.swift:272] matterComissioningHandler(incomingMessage:) > Matter comission received preferredNetWorkMacExtendedAddress from frontend: Optional("REDACTED")
2026-01-07 17:54:23.200 [Verbose] [main] [WebViewExternalMessageHandler.swift:276] matterComissioningHandler(incomingMessage:) > Matter comission received preferredNetWorkActiveOperationalDataset from frontend: Optional("REDACTED")
2026-01-07 17:54:23.200 [Verbose] [main] [WebViewExternalMessageHandler.swift:280] matterComissioningHandler(incomingMessage:) > Matter comission received preferredNetworkExtendedPANID from frontend: Optional("REDACTED")
2026-01-07 17:54:23.572 [Verbose] [com.apple.NSXPCConnection.m-user.com.apple.ThreadNetwork.xpc] [WebViewExternalMessageHandler.swift:317] matterComissioningHandler(incomingMessage:) > Succeeded saving thread credentials in keychain, moving forward to matter comissioning
2026-01-07 17:56:32.834 [Error] [com.apple.root.user-initiated-qos.cooperative] [MatterWrapper.swift:72] commission > Matter pairing failed: Error Domain=com.apple.MatterSupport Code=1 "(null)"
2026-01-07 17:56:32.835 [Error] [main] [WebViewExternalMessageHandler.swift:368] comissionMatterDevice() > Error Domain=com.apple.MatterSupport Code=1 "(null)"

I give up. All the effort and work I’ve done has amounted to nothing.

Feels very bad.

IPv6 configured?

Yes, I have native IPv6 working in the network. After I got the OTBR log verbosity increased and could see the mesh network address assignments, I tried and could ping (icmpv6) the thread device from anywhere in the network, including my phone. I can see the route advertisements from OTBR for the mesh network cidr.

Hi did you get this working? I have the same issue.
HA Green
ZBT-2 configured for thread
Was able to manually add a thread device for first one (using the digits instead of QR code scan), second device failed to add with this method though.

[NOTE]-BBA-----: BackboneAgent: Backbone Router becomes Primary!
00:00:35.988 [W] DuaManager----: Failed to perform next registration: NotFound
00:00:53.360 [W] P-RadioSpinel-: Error processing result: NoAddress
00:00:53.360 [W] P-RadioSpinel-: Error waiting response: NoAddress

Hi, sorry, no I was never able to get anything working. If you were able to get anything paired (even using a numeric code vs QR code) then you are ahead of me.

Edit: I checked back and I do see that same NoAddress message in some of the log snippets I have from when I tried things. Given that I was able to see and ping the IPv6 address assigned to devices (only visible when log verbosity is increased), I don’t think this message was problematic. (Take that with a grain of salt since I was unsuccessful).

1 Like

It’s a miracle! Somehow, I actually managed to get the light switch to pair correctly and it’s working! The only thing i did differently was to try changing the channel in the Thread menu. I had first tried changing to 25 (to get it as far from wifi/zigbee/etc as possible) but that did not work. Just now, I tried moving to 20 and somehow this worked??

I will say, I think that the entire experience of Thread+Matter in HA needs a lot of help to make it more troubleshooting-friendly where possible, it really should not be this difficult.