Follow these steps to get the add-on installed on your system:
- Navigate in your Home Assistant frontend to Settings -> Add-ons, Backup & Supervisor -> Add-on Store.
- Click on the top right menu and "Repository"
- Add "https://github.com/home-assistant/addons" to add the "Home Assistant Add-on Repository for Development" repository.
- Find the "OpenThread Border Router" add-on and click it.
- Click on the "INSTALL" button.
You will need a 802.15.4 capable radio supported by OpenThread. Home Assistant Yellow as well as Home Assistant SkyConnect/Connect ZBT-1 are both capable to run OpenThread. This add-on automatically installs the necessary firmware on these systems.
If you are using Home Assistant Yellow, choose /dev/ttyAMA1
as device.
The website openthread.io maintains a list of supported platforms lists other Thread capable radios. A well documented Radio for development is the Nordic Semiconductor nRF52840 Dongle. The Dongle needs a recent version of the OpenThread RCP firmware. This article outlines the steps to install the RCP firmware for the nRF52840 Dongle.
Once the firmware is loaded follow the following steps:
- Select the correct
device
in the add-on configuration tab and pressSave
. - Start the add-on.
This add-on makes your Home Assistant installation an OpenThread Border Router (OTBR). The border router can be used to comission Matter devices which connect through Thread. Home Assistant Core will automatically detect this add-on and create a new integration named "Open Thread Border Router". With Home Assistant Core 2023.3 and newer the OTBR will get configured automatically. The Thread integration allows to inspect the network configuration.
There is also a web interface provided by the OTBR. However, the web interface has caveats (e.g. forming a network does not generate an off-mesh routable IPv6 prefix which causes changing IPv6 addressing on first add-on restart). It is still possible to enable the web interface for debugging purpose. Make sure to expose both the Web UI port and REST API port (the latter needs to be on port 8081) on the host interface. To do so, click on "Show disabled ports" and enter a port (e.g. 8080) in the OpenThread Web UI and 8081 in the OpenThread REST API port field).
Add-on configuration:
Configuration | Description |
---|---|
device (mandatory) | Serial port where the OpenThread RCP Radio is attached |
baudrate | Serial port baudrate (depends on firmware) |
flow_control | If hardware flow control should be enabled (depends on firmware) |
autoflash_firmware | Automatically install/update firmware (Home Assistant SkyConnect/Yellow) |
otbr_log_level | Set the log level of the OpenThread BorderRouter Agent |
firewall | Enable OpenThread Border Router firewall to block unnecessary traffic |
nat64 | Enable NAT64 to allow Thread devices accessing IPv4 addresses |
network_device | IP address and port to connect to a network-based RCP (see below) |
Warning
The OTBR expects the RCP connected radio to be on a reliable link such as UART or SPI. Using TCP/IP to reach a remote RCP radio breaks this assumption. If the TCP/IP connection fails, the OTBR will not shutdown cleanly and leave stale routes in your network. This will lead to Thread devices to be potentially unreachable for up to 30 minutes (route lifetime) even when other routers are available.
The RCP protocol is not designed to be transferred over an IP network: It is a timing-sensitive protocol. You might experience Thread issues if your network link has excessive latencies. As Thread is networking capable, running a Thread border router on the system the RCP radio is plugged in is recommended.
Note
When using a network device, you still need to set a dummy serial port device, e.g. /dev/ttyS3
.
Got questions?
You have several options to get them answered:
- The Home Assistant Discord Chat Server.
- The Home Assistant Community Forum.
- Join the Reddit subreddit in /r/homeassistant
In case you've found a bug, please open an issue on our GitHub.