Matter devices not added (ZBT-2)

Problems with adding Matter devices.

Hello all,
I have a flat network IP@: 192.168.178.0/24. (So my iPhone and HA instance run both in the same network.)
My HA instance runs native as HAOS on an Intel NUC.
I bought the ZBT-2 to use it as a Thread Border router and selected the firmware update.

My Internet router is a Fritz!Box 7590 and has IPv6 enabled; in HA – terminal when i type:

\[core-ssh \~\]$ ip -6 addr
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 state UNKNOWN qlen 1000
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: eth0@if14: <BROADCAST,MULTICAST,UP,LOWER_UP,M-DOWN> mtu 1500 state UP
inet6 fd0c:ac1e:2100::9/48 scope global flags 02
valid_lft forever preferred_lft forever
inet6 fe80::e7:79ff:fe8d:c5e7/64 scope link
valid_lft forever preferred_lft forever

So, I think IPv6 is activated… I don’t know how to test this further…
I am using the latest iOS HA Companion App version and my HA-version is up to date.
(However, I do not know how to ping between devices using IPv6 in order to check connectivity…).

In the HA – Config – Thread, I see a Preferred network ha-thread-6d09, Home Assistant OpenThred border Router #4CC9 (with the credentials icon).
And clicking the 3-dots, the “Used for Android + iOS credentials” is greyed out.

Further on my iPhone (iOS version 26.3.1) in the HA App Settings – Thread, I see the same Border router specified.
It has the button “Send credentials to phone”. When i click this button I get the V-singn that it is done. (Initially I clicked that button to receive these credentials) (But the butten remains there…)
I see 2 other Thread-networks, but they are NOT Preferred and have NO border router.

I thought this all looks good, so I try to add some Matter devices. But with each device I get: Accessoire toevoegen niet mogelijk. (Unable to add device).

There is however one thing that nags me… In the log from the OpenThread Border Router it ends with this message:
DuaManager----: Failed to perform next registration: NotFound

I did read the Matter docs and looked into the Matter/Thread topic but I could not find help in there. Any help is much appreciated.

Kind regards, Bert

BTW, Log from OTBR after a restart:

[16:51:01] INFO: Starting otbr-agent...
[NOTE]-AGENT---: Running 0.3.0-b067e5ac-dirty
[NOTE]-AGENT---: Thread version: 1.3.0
[NOTE]-AGENT---: Thread interface: wpan0
[NOTE]-AGENT---: Radio URL: spinel+hdlc+uart:///dev/serial/by-id/usb-Nabu_Casa_ZBT-2_E072A1DA9DF0-if00?uart-baudrate=460800&uart-flow-control
[NOTE]-AGENT---: Radio URL: trel://eno1
[NOTE]-ILS-----: Infra link selected: eno1
51d.17:16:16.026 [C] P-SpinelDrive-: Software reset co-processor successfully
51d.17:16:16.038 [C] P-RadioSpinel-: RCP => [C] Platform------: Reset info: 0x3 (EXT)
51d.17:16:16.038 [C] P-RadioSpinel-: RCP => [C] Platform------: Extended Reset info: 0x301 (PIN)
00:00:00.025 [N] RoutingManager: BR ULA prefix: fd14:c139:5210::/48 (loaded)
00:00:00.026 [N] RoutingManager: Local on-link prefix: fd35:9ac2:f418:b866::/64
00:00:00.059 [N] Mle-----------: Role disabled -> detached
00:00:00.077 [N] P-Netif-------: Changing interface state to up.
00:00:00.085 [W] P-Netif-------: Failed to process request#2: No such process
00:00:00.086 [W] P-Netif-------: Failed to process request#6: No such process
Connection to 172.30.32.1 8081 port [tcp/tproxy] succeeded!
s6-rc: info: service otbr-agent successfully started
s6-rc: info: service otbr-agent-configure: starting
Done
Done
s6-rc: info: service otbr-agent-configure successfully started
s6-rc: info: service otbr-agent-rest-discovery: starting
[16:51:01] INFO: Successfully sent discovery information to Home Assistant.
s6-rc: info: service otbr-agent-rest-discovery successfully started
s6-rc: info: service legacy-services: starting
s6-rc: info: service legacy-services successfully started
00:00:25.996 [N] Mle-----------: RLOC16 8400 -> fffe
00:00:26.420 [N] Mle-----------: Attach attempt 1, AnyPartition reattaching with Active Dataset
00:00:32.920 [N] RouterTable---: Allocate router id 33
00:00:32.920 [N] Mle-----------: RLOC16 fffe -> 8400
00:00:32.922 [N] Mle-----------: Role detached -> leader
00:00:32.922 [N] Mle-----------: Partition ID 0x3a9387d3
[NOTE]-BBA-----: BackboneAgent: Backbone Router becomes Primary!
00:00:37.096 [W] DuaManager----: Failed to perform next registration: NotFound

This sort of indicates to me that these two networks were at one time Thread networks from HA OTBR, but do not exist anymore. It may be that when these networks did exist and you sent the credentials to the iPhone, that the iPhone stored the credentials of these now non-existing Thread networks, but the credentials are still stuck on the iPhone. This maybe why its failing.

In the phone using HA companion App, goto (something like) UI→Settings→Companion App→Debug→Thread. You should see credentials there. You should probably tap and slide to the left to expose the trash can and delete them, and try to redo the “send credentials to the phone”.

Since you worked your way through the Matter/Thread Topics of this forum, i guess you already set the IPv6 setting in HA/System/Network/IPv6 to “automatic” and already put in:

“ ha docker options --enable-ipv6=true “ in the Terminal (after that restart) ?

I also recommend using the “latest beta” version of the matter server app as most users report it’s more stable than the “stable” version and you also get a graphic Topology view of you thread network.

Hi @wmaker and @DocMarc73 , Thank you for helping me.
First i try to delete the two stall Thread networks in my iPhone as @wmaker proposed. They are left overs from an earlier attempt to get Thread working with an SMLight SZML-06M…
And the other is probably from my Google Home device (NEST-PAN-1F6D) it’s the only Google device i still have. I was not aware that this device supported Thread, its not a display device.
As with the first one, i was able to delete, but the NEST… one did not delete. Even when I switched OFF the device, the credential were not deleted…

I do have an other old iphone with which I could try it. There are not yer Thread credentials on this one.

@DocMarc73 Yes indeed the IPv6 setting to automatic, I already did that, but the command in the terminal, i did not yet done. So now I did.


In my HA instance on the NUC there is only one (Prefered) Thread network:


And on this other iPhone, there was not yet any Thread credentials added to the iOS-keychain.
So the ha-thread-6d09 (same as in HS server) showed up. And I did ‘Send credentials to phone’.

Now I try to add a Matter device:




It seems that there are lots of peaple who are haveng problems with multiple Thread credentiols in iOS: Can't add Matter device - iOS - multiple Thread credentials in Companion app. Can't select one to be used or delete obsolate ones · Issue #125444 · home-assistant/core · GitHub
I am sorry, but i’m out off ideas…

I'm likely wrong, but have you updated the border router credentials in the app?Whenever I have problems, it usually boils down to this.

The most common problem when it comes to adding matter over thread devices to HA is something misconfigured/broken in the chain of sending Thread Credentials from HA-WiFi-Phone-BT-Device.
The best way to avoid that unreliable credential transmission is to use an extra Bluetooth-Dongle connected to HA (without integrating/adding it! just physically connected! It must be unused by any means) and directly send the Thread Credentials by this Dongle from HA to the device. I know, you have to spend a tiny little bit of cash ( ~ 8€ for an ASUS BT500 or similar) just for an Dongle only to add devices, but it pays off and is pretty much of a relief from this phone QR Code-not-working-hassle.
Sorry that i can't help you with Apple devices.

Here's a guide: