1. Foreword
This document explains how to use SONOFF Dongle series products as Multiprotocol adapters on Home Assistant to create a Zigbee network, add Zigbee smart devices, while at the same time, create a Thread network and add Matter over Thread smart devices.
This document supports the following SONOFF Dongle products:
- SONOFF Zigbee 3.0 USB Dongle Plus | ZBDongle-E
- SONOFF Dongle Lite MG21 Zigbee/Thread USB Dongle | Dongle-LMG21
- SONOFF Zigbee/Thread USB Dongle | Dongle Plus MG24
- SONOFF Dongle Max Zigbee/Thread PoE Dongle | Dongle-M
Note: For detailed information on the Thread feature in Home Assistant, please refer to the official Home Assistant Thread Integration documentation.
2. Environment
- Board Type: Raspberry Pi 4/5, Generic x86-64
- Installation Type: Home Assistant Operating System (Version 17.0 and later)
- Home Assistant Core: Version 2026.1.0 and later
- Silicon Labs Multiprotocol App: Version 1.0.0 and later
- Matter Server App: Version 8.2.2 and later
- Mosquitto broker App: Version 6.5.2 and later
- Zigbee2MQTT App: Version 2.9.1 and later
- Home Assistant Companion App: Google Play Apps, Apple App Store
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 (HA), please refer to the official Home Assistant Installation Guide.
3.2. Flash the Multiprotocol RCP firmware onto the SONOFF Dongle and connect it to HA via USB
SONOFF officially provides three methods for flashing firmware onto Dongle series products:
-
SONOFF Dongle Flasher Web App: 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/.
-
SONOFF Dongle Flasher HA App: 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/.
-
SONOFF Dongle Flasher Docker Image: Connect to Windows/macOS/Linux via USB, start a Docker container, and use the container’s web console to flash the Dongle.
Connect the Dongle, which has the Multiprotocol RCP firmware flashed, to HA, and confirm the Dongle’s file path on HA -> Settings -> System -> Hardware -> All Hardware page, as shown in the following screenshot:
Note: The file path for Dongle is usually /dev/ttyUSB0 or /dev/ttyACM0.
Note: Although the screenshots in this document use the Dongle Plus MG24 | Dongle-MG24 as examples, the content of this document applies to all SONOFF Dongle series products mentioned in 1. Foreword.
3.3. Optional: Enable Bluetooth integration on HA
If you plan to use the Matter Server App’s Web UI instead of the 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.
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 for details.
4. Install, configure and run Silicon Labs Multiprotocol App
4.1. Install Silicon Labs Multiprotocol App
On HA -> Settings -> Apps -> Install app -> App store page, click the Overflow menu icon in the upper right corner and select Repositories. In the pop-up dialog box, enter the repository address of the iHost Open Source Project HA App: https://github.com/iHost-Open-Source-Project/hassio-ihost-addon, and then click the Add button to add the repository, as shown in the screenshots below.
Refresh HA -> Settings -> Apps -> Install app -> App store page, go to Silicon Labs Multiprotocol page under the iHost Open Source Project repository, download and install Silicon Labs Multiprotocol App, as shown in the screenshots below.
4.2. Configure Silicon Labs Multiprotocol App
On HA -> Settings -> Apps -> Silicon Labs Multiprotocol -> Configuration page, set the correct Options:
- Device: Select the Dongle running Multiprotocol RCP firmware.
- Baudrate: 115200.
- Hardware flow control: Disabled (false).
Note: Incorrect settings will cause Silicon Labs Multiprotocol App to malfunction.
4.3. Start Silicon Labs Multiprotocol App and configure Thread network
On HA -> Settings -> Apps -> Silicon Labs Multiprotocol -> Info page, enable Start on boot, Watchdog, and click the Start button, as shown in the screenshot below.
Then switch to HA -> Settings -> Apps -> Silicon Labs Multiprotocol -> Log page to view the logs. If you see:
s6-rc: info: service zigbeed-tcp successfully started
s6-rc: info: service otbr-agent successfully started
s6-rc: info: service otbr-agent-rest-discovery successfully started
s6-rc: info: service legacy-services successfully started
then Silicon Labs Multiprotocol App has successfully started and is running correctly, as shown in the screenshot below.
Note: Messages in the log such as Cannot open file /usr/local/etc/zigbeed.conf can be ignored.
Switch back to HA -> Settings -> Apps -> Silicon Labs Multiprotocol -> Info page, find and record the Hostname of Silicon Labs Multiprotocol App, as shown in the screenshot below.
Note: This Hostname is used when creating a Zigbee network using Zigbee2MQTT.
After Silicon Labs Multiprotocol App starts successfully for the first time, HA will automatically enable Thread integration. You can view the thread network created by Silicon Labs Multiprotocol 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.
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.
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.
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.
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.
Then switch to HA -> Settings -> Apps -> Matter Server -> Log page to view the logs. If you see:
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.
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.
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 screenshot below.
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.
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.
7. Install and run Mosquitto broker App
7.1. Install Mosquitto broker App
On HA -> Settings -> Apps -> Install app -> App store -> Mosquitto broker page, click the Install button to download and install Mosquitto broker App, as shown in the screenshot below.
7.2. Start Mosquitto broker App
On HA -> Settings -> Apps -> Mosquitto broker -> Info page, enable Start on boot, Watchdog, and then click the Start button, as shown in the screenshot below.
Then switch to HA -> Settings -> Apps -> Mosquitto broker -> Log page to view the logs. If you see:
INFO: Successfully send discovery information to Home Assistant.
INFO: Successfully send service information to the Supervisor.
then Mosquitto broker App has successfully started and is running correctly, as shown in the screenshot below.
8. Install, configure and run Zigbee2MQTT App
8.1. Install Zigbee2MQTT App
On HA -> Settings -> Apps -> Install app -> App store page, click the Overflow menu icon in the upper right corner and select Repositories. In the pop-up dialog box, enter the repository address of Zigbee2MQTT HA App: https://github.com/zigbee2mqtt/hassio-zigbee2mqtt, and then click the Add button to add the repository, as shown in the screenshots below.
Refresh HA -> Settings -> Apps -> Install app -> App store page, go to Zigbee2MQTT page under the Home Assistant App: Zigbee2MQTT repository, download and install Zigbee2MQTT App, as shown in the screenshots below.
8.2. Configure Zigbee2MQTT App
On HA -> Settings -> Apps -> Zigbee2MQTT -> Configuration page, set the correct Options:
- port: tcp://
Silicon_Labs_Multiprotocol_App_Hostname:9999. - adapter: ember.
- baudrate: 115200.
Note: Incorrect settings will cause Zigbee2MQTT App to malfunction.
8.3. Start Zigbee2MQTT App
On HA -> Settings -> Apps -> Zigbee2MQTT -> Info page, enable Start on boot, Watchdog, Add to sidebar and click the Start button, as shown in the screenshot below.
Then switch to HA -> Settings -> Apps -> Zigbee2MQTT -> Log page to view the logs. If you see:
info: z2m: Zigbee2MQTT started!
then Zigbee2MQTT App has successfully started and is running correctly, as shown in the screenshot below.
Note: If Zigbee2MQTT App fails to start on the first attempt, please try again.
9. Add Zigbee device
Please refer to the product manual of your Zigbee smart device to put the device into Pairing mode.
On HA -> Settings -> Apps -> Zigbee2MQTT -> Info page, click the Open Web UI button, or click Zigbee2MQTT menu in HA sidebar to open Zigbee2MQTT Web UI page. Then click the Permit join button on the page to start the process of searching for and adding device, as shown in the screenshots below.
Note: Please add Zigbee devices via Zigbee2MQTT App’s Web UI. For details on the Web UI, please refer to Zigbee2MQTT WindFront.

















































