Thread and Matter with a hosted Home Assistant
Three things have to be true before a Matter-over-Thread device will pair, and only one of them is in Home Assistant. What each looks like when it is the missing one.
Updated 26 August 2026 matterthreadnetworkinghomelink
Three things have to be true before a Matter-over-Thread device will pair. Only one of them lives in Home Assistant.
- A Thread radio in the house — a border router, on your LAN.
- IPv6 multicast on the same segment as Home Assistant — HomeLink L2, not a routed VPN.
- Bluetooth in the house for pairing — a phone, or an ESPHome proxy.
A Home Assistant on a NAS in the cellar has the same three. Hosting means they are separate boxes rather than assumed. The picture of the radios is how Thread and Matter actually work.
The three requirements
A border router on your LAN. Any supported Thread radio: a dedicated dongle on a small always-on machine, or a commercial border router. Home Assistant discovers it over mDNS and keeps its Thread dataset. Ours is an Orange Pi with a Sonoff MG24 — see build a Thread border router.
HomeLink L2 mode. Thread and Matter are IPv6-native, and discovery between Home Assistant and the border router is IPv6 multicast that a router must not forward. A routed tunnel cannot carry it. See HomeLink L2.
A Bluetooth path for pairing. Commissioning always starts over Bluetooth
Low Energy, before any Thread credential is handed over, and a hosted server
has no Bluetooth hardware. In practice the companion app supplies it: it
onboards the device with the phone's radio and hands over one already on the
network. The arrangement that needs no phone is
commission Matter with a Bluetooth proxy
— the Matter Server add-on's ble_proxy option and ESPHome proxies around the
house — which we have plumbed but not yet seen carry a pairing.
Which one is missing
The failures are distinguishable, and the distinction saves days.
| What you see | Which requirement |
|---|---|
| Thread panel: "no border routers found", while the border router is healthy | Discovery — IPv6 multicast is not crossing |
| Pairing fails instantly on the QR scan | Bluetooth — nothing in the path has a radio |
| "Your device requires a Thread border router" | Credentials — your phone does not hold the dataset |
| Hangs on "checking connectivity to Thread network" | The device joined the mesh, but IPv6 is not being forwarded |
The last two are covered step by step in adding a Matter-over-Thread device.
A healthy IPv4 test proves nothing about IPv6
UPnP, Chromecast and ordinary mDNS can all work perfectly while every IPv6-native thing — Thread, Matter — sees nothing at all. On our own first L2 house, IPv4 mDNS was flawless throughout. If Chromecast works and Matter does not, that is not evidence the network is fine.
Bluetooth proxies are the better answer
You can give some machine a real Bluetooth radio and run Matter Server next to it. We did, and it works. It is the harder path, and worth taking only if you have no ESPHome Bluetooth proxies. The steps for the proxy path are commission Matter with a Bluetooth proxy.
Proxies win on physical coverage: a device gets commissioned wherever it is being installed, which is rarely next to the one machine you gave a radio to. Several cheap proxies around the house beat one good radio in a cupboard, and the proxy path is not gated on iOS versus Android.
The full account of getting this working, wrong turns included, is A bulb that would not join.