#Problems setting up Matter over Thread network with HA Green and ZBT-2

1 messages · Page 1 of 1 (latest)

tight hill
#

having a lot of trouble adding Matter over Thread devices to my HA green with ZBT-2 as border router. i got the green just yesterday. i didn't do anything weird like SSHing into it or installing custom add-ons, limited myself to following the steps in the official documentation.

it seemed like everything was going well, but then i tried to add the first thread device (a Nuki Ultra Smart Lock) via the HA Android app, and it was failing at the last step with Android saying something about verifying my wifi network. i played with many settings in my unifi gateway (UDM SE), including enabling/disabling mDNS repeater, IGMP snooping, ipv6 stuff, etc, and connected to the same network the HA green is on with my phone, but no luck.

i was getting some errors in the OTBR logs that i remember reading in some HA threads that they could be about the radio or something. unfortunately i decided to retry (flash the ZBT-2 again) and the new logs are different, so i don't remember exactly what they were. but i did get logs when trying to add a device, as opposed to now where it seems like it just fails in the first place before devices are added.

so i decided to do a complete factory reset, set up a clean, simple and permissive VLAN, and try from scratch. unfortunately i keep getting the same logs, with very minor differences - these messages about "failed to process request#X: No such process", "Daemon read: Connection reset by peer", "Failed to perform next registration: NotFound", etc. i really don't know what's going on.

versions of everything are latest as of today jan 27 2026. here are steps and logs from the start (see thread)

#

initial steps:

  • factory reset HA green with the button method
  • flashed thread firmware into ZBT-2 with the web tool
  • started HA, created account
  • plugged ZBT-2 in
  • appeared in the devices settings in HA
  • add -> as thread -> added to room and gave it some time to settle
  • enabled debug logs to OTBR and Thread integrations at this point (although i don't know where the Thread logs are)

OTBR logs after these steps:

#

some info at this point:

  • thread integration shows a single network (preferred network) with the ZBT-2 as single border router, which shows the little box with key symbol (so used for mobile credentials)
  • OTBR integration shows the ZBT-2 as connected border router
  • ZBT-2 shows as integration too
  • matter integration not present at this point
  • phone and HA green are on the same network (HA green wired directly to gateway, phone on wifi, same VLAN which has all access to all other VLANs, mdns enabled, IGMP snooping enabled, ipv6 stuff disabled - not blocked, just nothing special about it enabled)

more steps now:

  • log into Android app
  • settings -> companion app -> troubleshooting -> sync thread credentials (twice, both successful)
  • try to add matter device from app, kicks in matter onboarding
  • select the option to use the matter server add-on
  • now, try to add the device (selected "no, it's new" and used the provided QR code)
  • manages to connect to the device, do the initial matter stuff, and then gets to the "checking connectivity" part, then fails with "check that your device can work with this network type and try again"

some info:

  • note how the error message is different now, probably because it fails earlier in the process, my hypothesis is that it doesn't even connect to the border router this time
  • no new logs in OTBR at this point
  • matter integration now shows up, with just one "hub" that says Matter
  • in the error message, it says "can't connect to thread network ha-thread-4da3" but the one i see in the Thread integration is ha-thread-95b2

now i decided to turn off the OTBR addon, unplug the ZBT-2, plug the ZBT-2 back in, and enable the OTBR addon again these are the logs.

after selecting "stop":

#
s6-rc: info: service legacy-services: stopping
s6-rc: info: service legacy-services successfully stopped
s6-rc: info: service otbr-agent-rest-discovery: stopping
s6-rc: info: service otbr-agent-rest-discovery successfully stopped
s6-rc: info: service otbr-agent-configure: stopping
s6-rc: info: service otbr-agent-configure successfully stopped
s6-rc: info: service otbr-agent: stopping
00:34:23.277 [N] Mle-----------: Role leader -> detached
00:34:23.279 [N] Mle-----------: Role detached -> disabled
[18:31:53] INFO: otbr-agent exited with code 0 (by signal 0).
Chain OTBR_FORWARD_INGRESS (0 references)
target     prot opt source               destination         
DROP       all  --  anywhere             anywhere             PKTTYPE = unicast
DROP       all  --  anywhere             anywhere             match-set otbr-ingress-deny-src src
ACCEPT     all  --  anywhere             anywhere             match-set otbr-ingress-allow-dst dst
DROP       all  --  anywhere             anywhere             PKTTYPE = unicast
ACCEPT     all  --  anywhere             anywhere            
otbr-ingress-deny-src
otbr-ingress-deny-src-swap
otbr-ingress-allow-dst
otbr-ingress-allow-dst-swap
Chain OTBR_FORWARD_EGRESS (0 references)
target     prot opt source               destination         
ACCEPT     all  --  anywhere             anywhere            
[18:31:54] INFO: OTBR firewall teardown completed.
s6-rc: info: service otbr-agent successfully stopped
s6-rc: info: service legacy-cont-init: stopping
s6-rc: info: service banner: stopping
s6-rc: info: service mdns: stopping
Default: mDNSResponder (Engineering Build) (Dec 15 2025 09:15:25) stopping
s6-rc: info: service banner successfully stopped
s6-rc: info: service legacy-cont-init successfully stopped
s6-rc: info: service fix-attrs: stopping
s6-rc: info: service fix-attrs successfully stopped
s6-rc: info: service s6rc-oneshot-runner: stopping
s6-rc: info: service s6rc-oneshot-runner successfully stopped
[18:31:54] INFO: mDNS ended with exit code 4 (signal 0)...
s6-rc: info: service mdns successfully stopped
#

after re-plugging and starting again:

#

idk what to do. i've tried many things, including:

  • enabling/disabling mDNS and IGMP snooping in the gateway
  • tweaking the ipv6 settings in the gateway
  • factory resetting everything and starting from scratch
  • using different VLANs with different permissive settings
  • re-flashing the ZBT-2 multiple times

nothing works :(

appreciate any help. maybe i was just very unlucky that this is a new bug i ran into with the HA green and ZBT-2 fresh out of the box. i have seen some people report similar-ish issues in threads (the failed to process request and daemon reset logs), they all seem to be quite recent, but not exactly the same as my issues, and no solutions there.

i'm pretty hard stuck. thanks! <3

#

pd: it is pretty weird to me that this happens with fresh, factory-reset and up-to-date versions of HAOS, HA Green stuff, HA itself, all integrations, addons, and ZBT-2 firmware. i think it might take some tinkering to get it working with the unifi network i've set up, and that's what i was doing before, but at some point the issue changed into something else that happens earlier in the process.

pd2: i have two ZBT-2 as i wanted to also set up Zigbee in the near future. i have tried both with Thread and i run into the exact same trouble no matter what i try. so it doesn't seem like it's a defective ZBT-2 issue, unless both are defective 😛

sweet roost
#

In no particular order:

  • Disable IGMP snooping
  • Disable any option that optimizes mDNS or turns it into unicast "where possible" or suppresses it on ports where there are no listeners.
  • Since you are willing to go through lengths: put everything into the default vlan for a start. you can iterate to a different setup, once the matter/thread stuff works.
  • Some unifi users state, that it only works for them when they enable IPv6, others say it has to be turned off (like you did). For me personally, both work. But that doesn't have to say anything: if it's turned off, the OTBR should provide your lan with an ULA address space, and that's also what I see from the logs.
  • You have to make sure your device is actually in pairing mode every time you start over the commissioning process.
  • You can use HA's zeroconf browser (Settings/Network) to see if during commissioning the device shows up in _matterc._udp, or later in _matter._tcp
  • You can check your phone fetches a border router provided LAN side ULA
  • You can SSH into HA and see if it has such an address, and also if it has a route to the on mesh prefix.
#

But while I write all this, and since you are on android, I get the idea that you might got hit by this issue: https://github.com/home-assistant/addons/issues/4141

if you look right above your post in #1458060881970856051 , that is where we're discussing the issue and possible fixes, and how to get them published generally.

GitHub

Describe the issue you are experiencing Android is unable to find the border router which is leading to weird bugs relating to setting up thread credentials on android as it requires that the borde...

tight hill
#

awesome, I'll be doing some testing later today and report back - appreciate your input a lot

gritty slate