Openthread border router support

Anyone here able to get a matter over thread device working yet? Mine seems to be stuck on joining the network. Thanks.

EDIT: Ended up getting it all working. Seems to be an issue when enabling IPV6 Prefix delegation on the OTBR. Compiling with the defaults works and my thread based matter devices are now working as expected.

1 Like

I’ve read this whole thread trying to find what the URL the integration asks for should be, and the closest I got was

http://<otbr ip/host>:8081/node/dataset/active and that doesn’t work.

When I attempt to “Add an open thread border router” in Integrations/configurations, I’m asked to “Provide URL for the Open Thread Border Router’s REST API”

And I can’t find any example of what is supposed to be in there.

I think the URL is just http://<otbr ip/host>:8081. If your OTBR is the SiLabs Multiprotocol Add-On, I think you can use http://core-silabs-multiprotocol:8081

1 Like

I’m using the Skyconnect, which I think is SiLabs. Neither of those URLs work for me.

Maybe I’m confused. Is the SkyConnect itself supposed to be able to become an OTBR, or only to talk to one?

If the latter, what piece of non-Google hardware is usable? I’ve already read that I can’t use my HomePod Mini.

Depends on the firmware flashed.
There is ZigBee only firmware, there is multiprotocol firmware (ZigBee and Thread) and there is Thread only firmware.
You need Thread to be an OTBR (Thread or multiprotocol)

The SkyConnect itself can not become an OTBR, so perhaps to back up a moment, what kind of OTBR are you trying to connect to?

Well, there’s my problem.

As mentioned up at the top, the only OTBR I have is a HomePod mini, which is locked down.

Repeating what I asked above: what piece of non-Google hardware is usable as an OTBR?

An OTBR router exist of 2 pieces, software and a radio

https://openthread.io/guides/border-router/docker/run

The skyconnect can be the radio if flashed with rcp or multiprotocol firmware.
The software is the OTBR add-on or the multi-protocol add-on.

Those 2 pieces together are an OTBR

Now I have two different answers, one saying the SkyConnect can’t be an OTBR, and your suggesting it can.

To re-add OTBR (after manual deletion) in the integration’s list I had to disable the OTBR firewall in the Silicon Labs Multiprotocol configuration, because I see these errors there otherwise:

[03:25:55] INFO: otbr-agent ended with exit code 1 (signal 0)...
[03:25:55] INFO: OTBR firewall teardown completed.
[03:25:58] INFO: Setup OTBR firewall...
ipset v7.10: Kernel error received: Invalid argument

Hi, I’ve been trying all kinds of setups, including Apple Homekit. The case is that I try to connect Eve Energy wall plugs to Home Assistant Open Thread Border Router. In HA it looks ok to me. Using SkyConnect, integrations for thread + open thread border router and matter are available and a border router is running on HA:
image
However when I try to connect a wall plug with the HA companion app, the following message is returned: Thread Border router vereist. Om dit accessoire te koppelen moet je thuisnetwerk een Thread Border Router bevatten. (Translation: Thread Border router required. To connect this accessory, your home network must contain a Thread Border Router)
What might be causing this message to show up?

1 Like

If you are using the iOS HA Companion App, this is not supported. Otherwise here is a thread on this subject.

1 Like

Thanks. will havea look

Has anything changed here? I’m trying the set-up mentioned here:

I’ve got the latest official otbr image working: When adding the otbr integration it seems to connect to http://[ip]:8081. I also activated the Thread integration and the /node/dataset/active endpoint returns:

// 20240208082610
// http://192.168.1.6:8081/node/dataset/active

{
  "ActiveTimestamp": {
    "Seconds": 1,
    "Ticks": 0,
    "Authoritative": false
  },
  "NetworkKey": "E18B36ECBA28F4A2666CDFD18B944E24",
  "NetworkName": "home-assistant",
  "ExtPanId": "47BDCE848AF31219",
  "MeshLocalPrefix": "fd12:7168:b07:8092::/64",
  "PanId": 2900,
  "Channel": 15,
  "PSKc": "AD98CEE09E2F1207608C9E25E832CD57",
  "SecurityPolicy": {
    "RotationTime": 672,
    "ObtainNetworkKey": true,
    "NativeCommissioning": true,
    "Routers": true,
    "ExternalCommissioning": true,
    "CommercialCommissioning": false,
    "AutonomousEnrollment": false,
    "NetworkKeyProvisioning": false,
    "TobleLink": true,
    "NonCcmRouters": false
  },
  "ChannelMask": 134215680
}

And the Thread integration shows my home-assistant network with a borderrouter called BorderRouter. But this border router disappears after a couple of minutes (seemingly randomly).

Any clue why this might happen?

is something actually supposed to show up on the rest API page? if I go to it, I just get:

{
“ErrorCode”: 404,
“ErrorMessage”: “404 Not Found”
}

I thought maybe the API just wasn’t working but then while I was restarting the OTBR add-on, the page came up instead as the standard “This site can’t be reached”. That makes me believe OPBR is at least opening the port.

What is the set-up you are using? & how are you attempting to acces the rest API page?

If you have the docker image image and opened up port 8081 then you should certainly get something when you go to http://[ip]:8081/node. just the port returns 404 for me as well.

PI4, running OS with a skyconnect setup with thread only. I’m using the OTBR Add-on.

8081/node does give me data within curlies so it’s must be doing something. I guess I was assuming there was a GUI or something for it (which 20/20 hindsight, I’m not exactly sure why).

well, that rules that out of why I can’t get these nanoleaf essentials to connect to the network. I think I might just send them back; between the hours trying to set them up and the fact I just read that Thread can take hours to reconfigure the mesh after power cycles, I don’t think Thread is for us.

Thanks for the info.

8081 is the port that the Thread and OTBR integrations use in HA to talk to the OTBR AddOn.

The gui is on port 80. But to be honest, I haven’t got thread to work either (see my post above).