Thread Border Router Not Found in HA with OTBR Container

I’m attempting to setup a Thread network with a ZBT-2 as the border router. My setup is all containerized so it is a little more complex than plugging the ZBT-2 in and letting HA configure everything. I’ve looked at and followed several guides, but I can’t get HA to recognize there is a border router.

The first thing I did was to plug in the ZBT-2 and let HA flash it with Thread. Then it told me I needed to setup an Open Thread Border Router container since I’m not running native. I followed guides to do this and was able to get OTBR running, the web UI and REST API are all available and HA was able to connect to the REST API. It looks like the OTBR container created a Thread network and once I setup the OTBR integration I can see the Thread network in the HA Thread integration. However, HA says this network has no border router, and this is where I’m stuck.

As far as I can tell, all the networking is setup correctly. IPV6 is enabled, as well as IP forwarding, and the container is using the host network so mDNS should also be working. The OTBR web UI shows the Thread network information in the status tab, but if I go to topology it appears not to recognize the network and network name, leader and router are all unknown. I did shell into the OTBR container and ran the ot-ctl status command which shows leader.

This all looks like things are setup properly and at least the OTBR container sees and is connected to the ZBT-2, but something between OTBR and HA is preventing HA from seeing the border router. I’m stumped and most of the other similar issues I’ve found in forums have the border router identified by HA, but the creds weren’t synced to the app so Matter devices couldn’t be added. I did try syncing the creds even though my issues appears to be different, but that didn’t correct it either.

Has anyone out there run into this issue and could point me to the config item I’m missing, or at least give me somewhere else to poke around and see if I can find the culprit?

At a minimum, HA Core is looking for mDNS advertisements (something like _meschop._udp.local) from the OTBR to show up in order to show it in the Thread Integration.

Both HA and the OTBR containers are running with host networking, so should have access to all the mDNS services. I am able to see an IPv4 and IPv6 version of _meshcop._udp on the host machine. The name of this service, OpenThread BR (unspecified vendor), does align with how the discovered border router appeared in other people’s setups in forum posts.

This does make me wonder if the issue is this mDNS service, but not sure what would be preventing HA from seeing it if the host can and HA is using host networking. I was running HA and OTBR in separate compose files, but I tried running them together in the same compose file just to see if that would remove some network barrier, but it did not seem to make a difference.

Returned as part of avanti-browse command:

  • enp2s0 IPv6 OpenThread BR (unspecified vendor) c6bfcc54a80a4411 _meshcop._udp local
  • enp2s0 IPv4 OpenThread BR (unspecified vendor) c6bfcc54a80a4411 _meshcop._udp local