Issues with Matter over Thread

Hello!

So I’m fairly new to the HA universe and have recently bought a raspberry pi 5, ZBT-1 (for thread only) and have installed it with the provided USB cable in the raspberry pi.

I’ve configured it as a thread border router and installed OpenThread Border Router and Matter.

I thought everything was fine, but yesterday I was trying to add my first matter integration (Yale Linus L2) and it just wouldn’t connect. I’ve synchronized the thread border router with my iPhone (according to documentation) and it finds it, tries to connect but fails when setting up.

From the OpenThread Border Router I see the following and not really sure on how to proceed here. From the logs I see the following.

IPv6 is enabled in my router (Amplifi HD) and I see the IPv6 details in the network tab in Settings/Networks in HAOS.

----------------------------------------------------------

Add-on: OpenThread Border Router

OpenThread Border Router add-on

-----------------------------------------------------------

Add-on version: 2.13.0

You are running the latest version of this add-on.

System: Home Assistant OS 14.1 (aarch64 / raspberrypi5-64)

Home Assistant Core: 2025.1.2

Home Assistant Supervisor: 2024.12.3

-----------------------------------------------------------

Please, share the above information when looking for help

or support in, e.g., GitHub, forums or the Discord chat.

-----------------------------------------------------------

s6-rc: info: service banner successfully started

s6-rc: info: service universal-silabs-flasher: starting

[10:20:56] INFO: Checking /dev/ttyUSB0 identifying Home Assistant Connect ZBT-1 from Nabu Casa.

[10:20:56] INFO: Starting universal-silabs-flasher with /dev/ttyUSB0

2025-01-16 10:20:57.592 homeassistant universal_silabs_flasher.flash INFO Extracted GBL metadata: NabuCasaMetadata(metadata_version=2, sdk_version='4.4.4', ezsp_version=None, ot_rcp_version='SL-OPENTHREAD/2.4.4.0_GitHub-7074a43e4' (2.4.4.0), cpc_version=None, fw_type=<FirmwareImageType.OPENTHREAD_RCP: 'openthread_rcp'>, fw_variant=None, baudrate=460800)

2025-01-16 10:20:57.593 homeassistant universal_silabs_flasher.flasher INFO Probing ApplicationType.GECKO_BOOTLOADER at 115200 baud

2025-01-16 10:20:59.599 homeassistant universal_silabs_flasher.flasher INFO Probing ApplicationType.SPINEL at 460800 baud

2025-01-16 10:21:00.711 homeassistant universal_silabs_flasher.flasher INFO Detected ApplicationType.SPINEL, version 'SL-OPENTHREAD/2.4.4.0_GitHub-7074a43e4' (2.4.4.0) at 460800 baudrate (bootloader baudrate None)

2025-01-16 10:21:00.712 homeassistant universal_silabs_flasher.flash INFO Firmware version 'SL-OPENTHREAD/2.4.4.0_GitHub-7074a43e4' (2.4.4.0) is flashed, not re-installing

s6-rc: info: service universal-silabs-flasher successfully started

s6-rc: info: service otbr-agent: starting

[10:21:01] INFO: Setup OTBR firewall...

[10:21: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/ttyUSB0?uart-baudrate=460800&uart-flow-control

[NOTE]-AGENT---: Radio URL: trel://end0

[NOTE]-ILS-----: Infra link selected: end0

50d.08:05:36.777 [C] P-SpinelDrive-: Software reset co-processor successfully

00:00:00.048 [N] RoutingManager: BR ULA prefix: fd8d:8db:5946::/48 (loaded)

00:00:00.048 [N] RoutingManager: Local on-link prefix: fd88:310b:f1d4:81c::/64

00:00:00.064 [N] Mle-----------: Role disabled -> detached

00:00:00.078 [N] P-Netif-------: Changing interface state to up.

00:00:00.087 [W] P-Netif-------: Failed to process request#2: No such process

00:00:00.088 [W] P-Netif-------: Failed to process request#6: No such process

s6-rc: info: service otbr-agent successfully started

s6-rc: info: service otbr-agent-configure: starting

[10:21:01] INFO: Enabling NAT64.

00:00:00.351 [W] P-Netif-------: Failed to process request#7: No such process

Done

Done

Done

s6-rc: info: service otbr-agent-configure successfully started

s6-rc: info: service otbr-agent-rest-discovery: starting

00:00:00.471 [W] P-Daemon------: Failed to write CLI output: Broken pipe

[10:21:02] 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:26.480 [N] Mle-----------: RLOC16 b800 -> fffe

00:00:26.669 [N] Mle-----------: Attach attempt 1, AnyPartition reattaching with Active Dataset

00:00:33.169 [N] RouterTable---: Allocate router id 46

00:00:33.169 [N] Mle-----------: RLOC16 fffe -> b800

00:00:33.172 [N] Mle-----------: Role detached -> leader

00:00:33.172 [N] Mle-----------: Partition ID 0x726a7e2f

[NOTE]-BBA-----: BackboneAgent: Backbone Router becomes Primary!

00:00:37.837 [W] DuaManager----: Failed to perform next registration: NotFound

Any advice on how to proceed?

Did you use the “Yale Home App” to add the device or the HA companion app? There seems to be an issue with the HA companion app on iPhones. Although I shared the keys to the iPhone I had the same issue. And I read about many more people experiencing the same.

The workaround is to use the vendors app to add the device to Apple Home (iPhone only works too) in a first step. In a second step you have to open the device’s settings in the Apple Home app and select “Turn On Pairing Mode”. Then you will get a “Setup Code” for the device. If you now add a new HA Matter integration for an existing device, you can enter the setup code. This will add the device to both, HA matter and thread integrations.

I have a writeup here that might be helpful. It is for a different device, but discusses a few pre-requisites when commissioning a Thread based Matter device and in particular when using iOS Companion App to do the commissioning.