u/ErlendHM

Trouble with OpenThread Border Router and Ikea Matter/Thread devices

Hi! I’ve been trying to get the new Ikea Matter/Thread stuff up and running for several hours, but I’m struggling… So I wonder if anyone has any advice, as the experience is pretty weird.

My goal is to have a Thread/Matter network that works through only Home Assistant. I saw someone trying a fix where they had to install Google Home on their phone, etc — but I really want to try and avoid that.

My setup:

  • Home Assistant OS running on a Mac mini through UTM
    • Network set to Bridged
    • USB devices not shared, but given to UTM
    • No bluetooth directly to the UTM VM
  • SMLIGHT SLZB-07Mg24 flashed with OpenThreD Border Router firmware
    • Also have a regular SMLIGHT SLZB-07 running Zigbee, about 1 meter away
  • OpenThread Border Router add-on, Matter Server add-on (now on the js beta)
    • I don’t have any other border routers in the house, like a new enough Apple TV or Dirigera Hub. I don’t have any other Thread/Matter networks at all — I want everything in HA.
    • I do have some wi-fi Matter devices, that works fine.
  • UniFi home network. Express 7 is my hub and the wi-fi point close to where I’m doing the setup.
    • mDNS on
    • IGMP snooping off
    • Everything on same VLAN
  • I have Tailscale set up, but I’ve mostly had i turned off when working on this.
  • I have the unofficial MCP server add-on running, and I’ve tried to work with Raycast AI on the problem. (Some Claude 4.7/4.8 and some Gemini.)
  • Mostly trying to add the devices with my iPhone 13 mini, running the lates stable iOS, and by using the flow from the Home Assistant companion app.
    • I only have one set of Thread credentials saved — the correct one.
    • The phone is very close to the devices, and the devices is close to the Thread stick.

First I worked on getting a Bilresa two-button remote up and running. I flashed the stick, got the Thread network up and tried to add — but it didn’t work. The handshake would begin (the phone would get connection through Bluetooth), HA saw that something was trying to happen, but it didn’t succeed.

Turns out I didn’t have ipv6 activated on my UniFi — so I created a static subnet. After a while, the LLM reported that the Bilresa had been added to the network (while the phone was stuck on “Configuring”), but not 100 %. Next I stopped the process on the phone, and added the remote’s Matter code manually from my MacBook (Settings -> Matter -> Options -> Add manually), and then we had connection!

OK, so the Bilresa remote now works flawlessly, which makes me think that:

  • The stick is working
  • The Thread/Matter network in general works
  • The phone managed to get connection via Bluetooth and hand some stuff over to HA.
  • Ipv6 works However, I can’t add any other devices..! I’ve tried to add a differen Bilresa remote (with the wheel) and a Kajplats Matter bulb. But the error I’m getting is the following:

Commission failed: discovery of node with discriminator 1 failed: No commissionable device was discovered

I get this whether I scan the matter code or add it via other methods on my phone.

  1. Any advice on adding Ikea stuff via Matter, purely using HA?
  2. And how weird is it that the one Bilresa remote is working beautifully, but I can’t add anything else?? Thanks!

Some logs Claude thought could be relevant below. Let me know if there’s other info that could be relevant!

When trying to add manually from HA:

PeerConnection  @1:1a•unsecured  ip://[fd53:1882:3080:1:aeaf:2a23:9bd9:19d3]:5540

  Connecting  addr #: 2  attempt #: 1  thread:15:connect

CaseClient      @1:1a  New session with @1:1a

  address: udp://[fd53:1882:3080:1:aeaf:2a23:9bd9:19d3]:5540  fabric: <redacted> (#1)

ClientNode      server-2-134b.@1:1a is online

Node @1:1a availability changed to true (state: Connected)

OTBR is healthy (forming mesh, talking to neighbours):

[I] Mle-----------: Send Advertisement (ff02::1)

[I] MeshForwarder-: Received IPv6 UDP msg … from:76d14d56ee21c40e … rss:-73.0 radio:15.4

[D] RadioSelector-: neighbor:[16f3b10d4f3886a2 rloc16:0xa00a radio-pref:{15.4:255} state:Valid]

[I] BorderRouting-: Received RA from fe80::1e0b:8bff:fe3e:3792 on infra netif 2

   - RA Header - flags - M:0 O:0 S:0

   - RA Header - default route - lifetime:1800

   - PIO fd01::/64 (valid:86400, preferred:86400, flags - L:1 A:1 P:0)

Thread integration diagnostics: ZERO routers registered:


"networks": {

  "151ba8a2ab6a1173": {

    "name": "ha-thread-9941",

    "routers": {},

    "prefixes": ["fd29:3ba6:be25:666b::"],

    "unexpected_routers": []

  }

}

OTBR add-on config, with the question Claude wanted me to ask (only AI generated non-log text in the post ;) ):

OTBR add-on 3.0.1, host_network: true, privileged: [IPC_LOCK, NET_ADMIN],
devices: [/dev/net/tun, /dev/ttyUSB0]. RCP radio = SLZB-07Mg24 @ 460800, flow control on.
backbone_interface is NOT set (falls back to primary interface) — running inside a
UTM VM (bridged), so I'm unsure if the auto-selected interface is the one that
reaches my UniFi LAN with working IPv6 multicast / _meshcop mDNS.
firewall: false, nat64: false. host_dbus: false.

The OTBR forms a healthy Thread mesh and existing devices work over IPv6, but HA's
Thread integration shows "routers": {} (no border router registered), and new-device
commissioning fails. Could the unset backbone_interface in a VM be why the border
router isn't being advertised/registered, even though operational Thread traffic works?
reddit.com
u/ErlendHM — 4 days ago