# Matter over Thread on Home Assistant with SONOFF Dongle Max over TCP

**URL:** https://forum.ewelink.cc/t/matter-over-thread-on-home-assistant-with-sonoff-dongle-max-over-tcp/208164
**Category:** Dongle Series
**Created:** [April 12, 2026, 2:32pm UTC](https://forum.ewelink.cc/t/matter-over-thread-on-home-assistant-with-sonoff-dongle-max-over-tcp/208164 "2026-04-12T14:32:12Z")
**Posts on this page:** 2
**Page:** 1

<div class="post-metadata">

### Author: ![MichaelLearnsToCode](https://dub1.discourse-cdn.com/flex005/user_avatar/forum.ewelink.cc/michaellearnstocode/32/1668_2.png) [@MichaelLearnsToCode](https://forum.ewelink.cc/u/MichaelLearnsToCode)
#### Post date: [April 12, 2026, 2:32pm UTC](https://forum.ewelink.cc/t/matter-over-thread-on-home-assistant-with-sonoff-dongle-max-over-tcp/208164/1 "2026-04-12T14:32:12Z")

</div>

# 1. Foreword

This document explains how to use SONOFF [Dongle Max](https://sonoff.tech/products/sonoff-dongle-max-zigbee-thread-poe-dongle-dongle-m) (Zigbee/Thread PoE Dongle | Dongle-M) as a [Thread](https://openthread.io/) adapter, with [Home Assistant](https://home-assistant.io/) connecting to it via TCP (network) to create a Thread network, and then add [Matter](https://csa-iot.org/all-solutions/matter/) over Thread smart devices.

_Note: For detailed information on the Thread feature in Home Assistant, please refer to the official [Home Assistant Thread Integration](https://www.home-assistant.io/integrations/thread/) documentation._

# 2. Environment

- Board Type: [Raspberry Pi 4/5](https://www.home-assistant.io/installation/raspberrypi/), [Generic x86-64](https://www.home-assistant.io/installation/generic-x86-64/)
- Installation Type: [Home Assistant Operating System](https://www.home-assistant.io/installation/#about-installation-types)(Version 17.0 and later)
- Home Assistant Core: Version 2026.2.0 and later
- [OpenThread Border Router App](https://github.com/home-assistant/addons/blob/master/openthread_border_router/DOCS.md): Version 2.16.5 and later
- [Matter Server App](https://github.com/home-assistant/addons/blob/master/matter_server/DOCS.md): Version 8.2.2 and later
- [Home Assistant Companion App](https://companion.home-assistant.io/): [Google Play Apps](https://play.google.com/store/apps/details?id=io.homeassistant.companion.android), [Apple App Store](https://apps.apple.com/us/app/home-assistant/id1099568401)

# 3. Preparation

## 3.1. Access the Home Assistant Operating System front-end web interface using a browser

If you have not yet installed, run, and configured the Home Assistant Operating System (aka. HA), please refer to the official [Home Assistant Installation Guide](https://www.home-assistant.io/installation/).

## 3.2. Flash the OpenThread RCP firmware onto Dongle Max and connect it to LAN via ethernet or Wi-Fi

SONOFF officially provides three methods for flashing firmware onto Dongle series products:

- [SONOFF Dongle Flasher Web App](https://dongle.sonoff.tech/sonoff-dongle-flasher/): Connect to Windows/macOS/Linux via USB and use a browser to flash the Dongle firmware. Please refer to [https://dongle.sonoff.tech/guide/dongle-pmg24/how\_to\_flash\_openthread\_firmware/](https://dongle.sonoff.tech/guide/dongle-pmg24/how_to_flash_openthread_firmware/).

- [SONOFF Dongle Flasher HA App](https://github.com/iHost-Open-Source-Project/hassio-ihost-addon/tree/master/hassio-ihost-sonoff-dongle-flasher): Connect to HA via USB and flash the Dongle firmware through HA front-end web interface. Please refer to [https://dongle.sonoff.tech/guide/dongle-pmg24/flash-firmware-via-home-assistant-add-on/](https://dongle.sonoff.tech/guide/dongle-pmg24/flash-firmware-via-home-assistant-add-on/).

- [SONOFF Dongle Flasher Docker Image](https://hub.docker.com/r/ewelink/sonoff-dongle-flasher): Connect to Windows/macOS/Linux via USB, start a Docker container, and use the container’s web console to flash the Dongle.

You can also flash the latest OpenThread RCP firmware onto Dongle Max through its built-in Web UI. On the `Web UI -> EFP32MG24 Operation Mode` page, enable `Thread RCP Mode` as shown in the screenshot below.

 ![Dongle Max Thread RCP Mode](https://europe1.discourse-cdn.com/flex005/uploads/ewelinkforum/original/2X/0/05fc60a49a5b6e41e0d341790afe0d280285d96e.png)

For instructions on how to connect Dongle Max to LAN (Local area network) and access Dongle Max’s built-in Web UI, please refer to Dongle Max’s official [Getting Started](https://dongle.sonoff.tech/guide/dongle-m/donglem-getting-started/) guide.

## 3.3. Optional: Enable Bluetooth integration on HA

If you plan to use Matter Server App’s Web UI instead of Home Assistant Companion App to add Matter over Thread smart devices, you must enable Bluetooth integration on HA.

You can check whether Bluetooth integration is discovered and enabled on `HA -> Settings -> Devices & services -> Integrations` page, as shown in the screenshot below.

 ![Bluetooth Integration Enabled](https://europe1.discourse-cdn.com/flex005/uploads/ewelinkforum/original/2X/b/be8b6dd4dfd8480ff8a1921383d042373fb38b37.jpeg)

_Note: Raspberry Pi 4/5 comes with built-in Bluetooth hardware. Generic x86-64 hosts usually require an additional USB Bluetooth Adapter. Please refer to HA [Bluetooth Integration official documentation](https://www.home-assistant.io/integrations/bluetooth/#installing-a-usb-bluetooth-adapter) for details_.

# 4. Install, configure and run OpenThread Border Router App

## 4.1. Install OpenThread Border Router App

On `HA -> Settings -> Apps -> Install app -> App store -> OpenThread Border Router` page, click the `Install` button to download and install OpenThread Border Router App, as shown in the screenshots below.

 ![HA Apps](https://europe1.discourse-cdn.com/flex005/uploads/ewelinkforum/original/2X/0/034315c527e8d5901446bd5a0167a48b7e8eb86e.png)  
 ![Install app](https://europe1.discourse-cdn.com/flex005/uploads/ewelinkforum/original/2X/0/099b2c8eb55661ab99e1877254b388b2bd7b86d3.png)

 ![OTBR App](https://europe1.discourse-cdn.com/flex005/uploads/ewelinkforum/original/2X/f/f12554a3e4088f8fa099e1d6b86627e7ac1a2071.png)  
 ![Install OTBR App](https://europe1.discourse-cdn.com/flex005/uploads/ewelinkforum/original/2X/3/393f1eae4fc0b75fadddb9d06c9a6312fde3307c.png)

## 4.2. Configure OpenThread Border Router App

On `HA -> Settings -> Apps -> OpenThread Border Router -> Configuration` page, set the correct `Options`:

- Enable **Show unused optional configuration options**.
- **Device** : Select any device. It will not actually take effect.
- **Baudrate** : Select `115200`.
- **Hardware flow control** : Disabled (false).
- **Network Device** : `dongle-m.local:6638`. dongle-m.local is the IP address or mDNS name of Dongle Max.

_Note: Incorrect settings will cause OpenThread Border Router App to malfunction._

 ![Options](https://europe1.discourse-cdn.com/flex005/uploads/ewelinkforum/original/2X/b/b2a913dd6299864984a769abe78a4a167cebf474.png)  
 ![Save options](https://europe1.discourse-cdn.com/flex005/uploads/ewelinkforum/original/2X/3/3bc38b0834e0b23b081286e2ff6787910b66d275.png)

## 4.3. Start OpenThread Border Router App and configure Thread network

On `HA -> Settings -> Apps -> OpenThread Border Router -> Info` page, enable `Start on boot`, `Watchdog`, and click the `Start` button, as shown in the screenshot below.

 ![Start OTBR](https://europe1.discourse-cdn.com/flex005/uploads/ewelinkforum/original/2X/e/eeced835ddb706e5c5e79317eae02bc3e8ad8147.jpeg)

Then switch to `HA -> Settings -> Apps -> OpenThread Border Router -> Log` page to view the logs. If you see:

```auto
s6-rc: info: service otbr-agent-configure successfully started 
s6-rc: info: service otbr-agent-configure successfully started 
s6-rc: info: service otbr-agent-rest-discovery successfully started 
s6-rc: info: service legacy-services successfully started

```

then OpenThread Border Router App has successfully started and is running correctly, as shown in the screenshot below.

 ![OTBR log](https://europe1.discourse-cdn.com/flex005/uploads/ewelinkforum/original/2X/1/159bc5b19e96e708e3fe790291e488234c42a280.png)

After OpenThread Border Router App starts successfully for the first time, HA will automatically enable Thread integration. You can view the thread network created by OpenThread Border Router App by clicking the `Configure` button on `HA -> Settings -> Devices & services -> Integrations -> Thread` page, or on `HA -> Settings -> Thread` page, as shown in the screenshots below.

 ![Thread quickshot](https://europe1.discourse-cdn.com/flex005/uploads/ewelinkforum/original/2X/b/b545a61df0103e142fb45bbfc2948c95128596f1.png)  
 ![Thread integration](https://europe1.discourse-cdn.com/flex005/uploads/ewelinkforum/original/2X/e/efae471f6ee900dcd272f3dbe0d782e67f5deddd.png)

 ![Thread network](https://europe1.discourse-cdn.com/flex005/uploads/ewelinkforum/original/2X/8/8a785af1d68cf05deee4cd5ec1e8879864a7a0fc.png)  
 ![Preferred Thread network](https://europe1.discourse-cdn.com/flex005/uploads/ewelinkforum/original/2X/3/353b60b302fcc2b744b0ef242a19d451dd755918.png)

_Note: If no Thread network starting with `ha-thread` is found, please reboot the system (not `Restart Home Assistant`). If the Thread network starting with ha-thread is not the `Preferred network`, please set it as the Preferred network._

Please click the `Info icon` to the right of the Thread network starting with `ha-thread` to view and record the `Active dataset TLVs`, as shown in the screenshot below.

 ![Active dataset TLVs](https://europe1.discourse-cdn.com/flex005/uploads/ewelinkforum/original/2X/f/f59e6fc55d906961ed7697b263eec0d60ebbba21.png)

_Note: This Active dataset TLVs is needed when adding Matter over Thread smart devices via Matter Server App’s Web UI for the first time._

# 5. Install, configure and run Matter Server App

## 5.1. Install Matter Server App

On `HA -> Settings -> Apps -> Install app -> App store -> Matter Server` page, click the `Install` button to download and install Matter Server App, as shown in the screenshot below.

 ![Install Matter Server App](https://europe1.discourse-cdn.com/flex005/uploads/ewelinkforum/original/2X/c/cff0f03fe385ebb2baecd58d4d4a0ec80a0b39fa.png)

## 5.2. Optional: Configure Matter Server App

If you plan to use Matter Server App’s Web UI instead of Home Assistant Companion App to add Matter over Thread smart devices, you must set the correct `Bluetooth Adapter ID` for Matter Server App.

On `HA -> Settings -> Apps -> Matter Server -> Configuration` page, set the correct `Options`:

- Enable **Show unused optional configuration options**
- **Bluetooth Adapter ID** : The default is 0 (i.e., hci0). If there are multiple Bluetooth adapters in Bluetooth integration, please select the hci number corresponding to the Bluetooth adapter used to add Matter device.

 ![Bluetooth Adapter ID](https://europe1.discourse-cdn.com/flex005/uploads/ewelinkforum/original/2X/8/8a8acc3362d919cd3c1bea0478a877d4adc1b572.png)

## 5.3. Start Matter Server App

On `HA -> Settings -> Apps -> Matter Server -> Info` page, enable `Start on boot`, `Watchdog`, `Add to sidebar`, and then click the `Start` button, as shown in the screenshot below.

 ![Start Matter Server App](https://europe1.discourse-cdn.com/flex005/uploads/ewelinkforum/original/2X/3/3bdfddcc2c8c8ccf10f9ac8ce6096b7b23a44c0b.png)

Then switch to `HA -> Settings -> Apps -> Matter Server -> Log` page to view the logs. If you see:

```auto
INFO [matter_server.server.server] Matter Server successfully initialized.

```

then Matter Server App has successfully started and is running correctly, as shown in the screenshot below.

 ![Matter Server log](https://europe1.discourse-cdn.com/flex005/uploads/ewelinkforum/original/2X/4/474c8a8d11221bf05ee3b19628d7d7777bb63963.jpeg)

# 6. Add Matter over Thread new device

## 6.1. Adding a new Matter over Thread device using Matter Server App Web UI

Please refer to the product manual of your Matter over Thread smart device to put the device into `Pairing mode` and write down the device’s `Pairing code` (11 or 21 digits of numbers near the Matter pairing QR code).

On `HA -> Settings -> Apps -> Matter Server -> Info` page, click the `Open Web UI` button, or click `Matter Server` menu in HA sidebar to open Matter Server App Web UI page. Then click the `Commission node` button on the page, select `Commission new Thread device`, set the `Thread dataset` (the `Active dataset TLVs` mentioned above), enter the device’s `Pairing code`, and click the `Commission` button to start the process of searching for and adding the device, as shown in the screenshots below.

 ![Commission new Thread device](https://europe1.discourse-cdn.com/flex005/uploads/ewelinkforum/original/2X/0/00ba5856334993730b1a3dec43ce60d6fd2bf1ed.jpeg)  
 ![Thread dataset](https://europe1.discourse-cdn.com/flex005/uploads/ewelinkforum/original/2X/d/d3672fb41577a3677fce6c6b8a5ee9ad979d8364.jpeg)

 ![Pairing code](https://europe1.discourse-cdn.com/flex005/uploads/ewelinkforum/original/2X/7/7a7526cb7c25f6977c5f38bdbc5886f2c0e0dd5f.png)  
 ![Matter over Thread device added](https://europe1.discourse-cdn.com/flex005/uploads/ewelinkforum/original/2X/0/0198ced2ea9d792b2c52f415016d7f7516cd0a15.jpeg)

## 6.2. Add a new Matter over Thread device using Home Assistant Companion App

On `HA -> Settings -> Thread` page, click the `Overflow menu icon` to the right of the Thread network starting with ha-thread, and select `Used for Android + iOS credentials`, as shown in the screenshots below.

 ![Used for Android + iOS credentials 1](https://europe1.discourse-cdn.com/flex005/uploads/ewelinkforum/original/2X/c/cbea5b1c6958cbd8cd3adee6a1a2e0b8fe2cca19.png)  
 ![Used for Android + iOS credentials 2](https://europe1.discourse-cdn.com/flex005/uploads/ewelinkforum/original/2X/b/bcdf1ae80276210613c76d7a71d6b61588234198.png)

Please refer to the product manual of your Matter over Thread smart device to put the device into `Pairing mode` and write down the device’s `Pairing code` (11 or 21 digits of numbers near the Matter pairing QR code).

On `Home Assistant Companion App -> Settings -> Devices & services -> Integrations -> Matter` page, or on `Home Assistant Companion App -> Settings -> Matter` page, click the `Add device` button, select `No. It's new`, and then follow the prompts to scan the device’s Matter pairing QR code, or manually enter the device’s `Pairing code` to start the process of searching for and adding the device, as shown in the screenshots below.

 ![Step 1](https://europe1.discourse-cdn.com/flex005/uploads/ewelinkforum/original/2X/1/112d5a7be305b43f2b9caec3cd89049b8aa11792.jpeg)  
 ![Step 2](https://europe1.discourse-cdn.com/flex005/uploads/ewelinkforum/original/2X/5/5249c2edfc1f0a3f6edc6ace9e9a3e92d669760e.jpeg)  
 ![Step 3](https://europe1.discourse-cdn.com/flex005/uploads/ewelinkforum/original/2X/c/c42eccb9bfa9bf9d85c8e7ca8e7b1d433b72ef96.jpeg)

 ![Step 4](https://europe1.discourse-cdn.com/flex005/uploads/ewelinkforum/original/2X/a/a727322fde5c5d87857ba73c4ce62cb81ca8e305.jpeg)  
 ![Step 5](https://europe1.discourse-cdn.com/flex005/uploads/ewelinkforum/original/2X/e/ec9166c86745009351d80c0b8cf6fb9859686f0a.jpeg)  
 ![Step 6](https://europe1.discourse-cdn.com/flex005/uploads/ewelinkforum/original/2X/b/b186898fa5223973fd44bb226bd032b1d09a3acc.jpeg)

If you are using an Android phone, before adding a Matter over Thread device, you must manually synchronize Thread network credentials by clicking the `Sync Thread credentials` entry in `Home Assistant Companion App -> Settings -> Companion app -> Troubleshooting` page, as shown in the screenshots below.

 ![Troubleshooting](https://europe1.discourse-cdn.com/flex005/uploads/ewelinkforum/original/2X/6/61f38123f89c1555d0dd26802d0a95b4b0426737.jpeg)  
 ![Sync Thread credentials](https://europe1.discourse-cdn.com/flex005/uploads/ewelinkforum/original/2X/3/36e6a64edd5bb79c1296a47915196756b5223365.jpeg)

---

<div class="post-metadata">

### Author: ![MichaelLearnsToCode](https://dub1.discourse-cdn.com/flex005/user_avatar/forum.ewelink.cc/michaellearnstocode/32/1668_2.png) [@MichaelLearnsToCode](https://forum.ewelink.cc/u/MichaelLearnsToCode)
#### Post date: [April 12, 2026, 2:32pm UTC](https://forum.ewelink.cc/t/matter-over-thread-on-home-assistant-with-sonoff-dongle-max-over-tcp/208164/2 "2026-04-12T14:32:43Z")

</div>


