I'm having trouble commissioning Matter devices via Thread in Home Assistant. The devices are put into commissioning mode (factory reset / pairing mode) but HA never discovers them. Unfortunately, I have no other Matter capable device to verify the correct set-up of the Matter-over-Thread network.
My setup:
Home Assistant OS (homeassistant.local)
Open Thread Border Router add-on running ("Home Assistant OpenThread Border Router #50AF", hosted on homeassistant.local)
Thread integration: preferred network is OpenThread-ESP (Channel 15, PAN ID 1234, OTBR URL: http://core-openthread-border-router:8081)
Matter integration: active, 1 hub (Matter server)
SMLIGHT SLZB-MR1U as the Thread radio / Border Router
Radio chip 1: CC2652P7 (Texas Instruments) — used for Thread
Radio chip 2: EFR32MG21 (Silicon Labs) — not relevant in this set-up
Mode: Matter-over-Thread Border Router
Connected to HA via Ethernet/LAN Symptoms:
Matter device is put into commissioning mode but HA never detects it
The "Add Matter device" flow in HA just waits/times out What I've tried:
Restarting devices to put them back into pairing/commissioning mode Suspected cause:
Based on other threads here (especially Thread/Matter, Router Rules, and Firewalls), I suspect a firewall rule on the HA host or local router is blocking mDNS multicast (UDP port 5353, IPv6 `ff02::fb Questions:
Are there known HAOS firewall rules that could block Matter commissioning traffic?
Is there a way to verify the SLZB-MR1U OTBR is correctly forwarding mDNS/IPv6 traffic from the Thread network to the HA host?
Any guidance appreciated. Thanks!
on HA I use the OTBR app and the logs seem to show the correct set-up.
I use the Companion App on my phone and the credentials have been synced by the relevant matter devices are not detected. thus my question if there could be a blocking in HA which I didn't see
When you commission with the HA Companion App (are you using iOS or Android?), does it produce any kind of error indication?
The most common error is that the Thread credentials didn't actually sync properly.
To answer your question, assumming the Thread credentials are the correct ones, then once a Matter over Thread device has joined the Thread network, the device next asks the TBR to proxy discovery messages to the LAN, and you should see _matterc._udp messages showing up on the LAN. The companion App looks for this if it doesn't see it, it fails, but if it does, it then does a Matter commissioning to the mobile device the companion app is running on, and then tells HA's Matter server to go into a sharing mode, and then HA Matter also starts looking for _matterc._udp and if HA Matter doesn't see it, then it will also fail.
I'm on iOS and through HA app (Devices&Services => add Matter device) I scan the QR (it recognizes that I want to add blinds, which is correct) and then just fails when trying to connect "Unable to Add Accessory"
How could I best verify that the Thread credentials have been synced properly on the app?
For iOS goto the Companion App then goto Settings->CompanionApp->Debugging->Thread and you should see the Thread credentials in the Apple keychain. The one "Active operational dataset" should match the TLV in the HA Thread integration.