Hi,
I received a Home Assistant Yellow and a Raspberry Pi CM5 module a couple of days ago. Assembly and migration from my old VM-based Home Assistant install went smoothly.
I’ve tried to set up Thread support and had no luck. Same with Zigbee. Here’s what I did in my latest attempt:
Rebooted the machine.
In Settings > Devices and Services, two ZHA cards are visible, one for Home Assistant Yellow
and the other for Yellow
:
Home Assistant Yellow device shows the radio has the Zigbee firmware:
Home Assistant Yellow
by Nabu Casa
Firmware: EmberZNet Zigbee 7.4.4.1
I tried following https://support.nabucasa.com/hc/en-us/articles/25742476767517-Enabling-Thread-support to enable Thread support.
Settings > System > Hardware > Configure and select Thread
The dialogs about installing and starting Open Thread Border Router add-on appear and disappear. Then a dialog appears saying
The radio firmware on your Home Assistant Yellow could not be determined. Make sure that no other integration or addon is currently trying to communicate with the device.
OpenThread Border Router appears in Add-ons. The Info tab shows it is running. The log shows it is stopped. Here’s the banner:
-----------------------------------------------------------
Add-on: OpenThread Border Router
OpenThread Border Router add-on
-----------------------------------------------------------
Add-on version: 2.13.0
You are running the latest version of this add-on.
System: Home Assistant OS 15.2 (aarch64 / yellow)
Home Assistant Core: 2025.5.3
Home Assistant Supervisor: 2025.05.3
The log shows the add-on flashed the radio from Zigbee to Thread:
[09:35:59] INFO: Detected Home Assistant Yellow
[09:35:59] INFO: Starting universal-silabs-flasher with /dev/ttyAMA1
2025-06-06 09:36:00.321 homeassistant universal_silabs_flasher.flash INFO Extracted GBL metadata: NabuCasaMetadata(metadata_version=2, sdk_version='4.4.4', ezsp_version=None, ot_rcp_version='SL-OPENTHREAD/2.4.4.0_GitHub-7074a43e4' (2.4.4.0), cpc_version=None, fw_type=<FirmwareImageType.OPENTHREAD_RCP: 'openthread_rcp'>, fw_variant=None, baudrate=460800)
2025-06-06 09:36:00.321 homeassistant universal_silabs_flasher.flasher INFO Triggering yellow bootloader
2025-06-06 09:36:00.623 homeassistant universal_silabs_flasher.flasher INFO Probing ApplicationType.GECKO_BOOTLOADER at 115200 baud
2025-06-06 09:36:00.732 homeassistant universal_silabs_flasher.flasher INFO Launched application from bootloader
2025-06-06 09:36:00.736 homeassistant universal_silabs_flasher.flasher INFO Detected bootloader version '2.0.1'
2025-06-06 09:36:00.737 homeassistant universal_silabs_flasher.flasher INFO Probing ApplicationType.SPINEL at 460800 baud
2025-06-06 09:36:05.044 homeassistant universal_silabs_flasher.flasher INFO Probing ApplicationType.CPC at 460800 baud
2025-06-06 09:36:09.352 homeassistant universal_silabs_flasher.flasher INFO Probing ApplicationType.CPC at 115200 baud
2025-06-06 09:36:13.660 homeassistant universal_silabs_flasher.flasher INFO Probing ApplicationType.CPC at 230400 baud
2025-06-06 09:36:17.968 homeassistant universal_silabs_flasher.flasher INFO Probing ApplicationType.EZSP at 115200 baud
2025-06-06 09:36:19.120 homeassistant universal_silabs_flasher.flasher INFO Detected ApplicationType.EZSP, version '7.4.4.1 build 0' (7.4.4.1.0) at 115200 baudrate (bootloader baudrate 115200)
2025-06-06 09:36:19.120 homeassistant universal_silabs_flasher.flash INFO Cross-flashing from FirmwareImageType.ZIGBEE_NCP to FirmwareImageType.OPENTHREAD_RCP
yellow_openthread_rcp_2.4.4.0_GitHub-7074a43e4_gsdk_4.4.4.gbl
s6-rc: info: service universal-silabs-flasher successfully started
s6-rc: info: service otbr-agent: starting
Then, when trying to initialize the radio:
[NOTE]-AGENT---: Running 0.3.0-b067e5ac-dirty
[NOTE]-AGENT---: Thread version: 1.3.0
[NOTE]-AGENT---: Thread interface: wpan0
[NOTE]-AGENT---: Radio URL: spinel+hdlc+uart:///dev/ttyAMA1?uart-baudrate=460800&uart-flow-control
[NOTE]-AGENT---: Radio URL: trel://end0
[NOTE]-ILS-----: Infra link selected: end0
49d.17:34:46.054 [W] P-SpinelDrive-: Wait for response timeout
49d.17:34:48.056 [W] P-SpinelDrive-: Wait for response timeout
49d.17:34:50.058 [W] P-SpinelDrive-: Wait for response timeout
49d.17:34:50.058 [C] Platform------: Init() at spinel_driver.cpp:83: Failure
49d.17:34:52.060 [W] P-SpinelDrive-: Wait for response timeout
[09:37:18] WARNING: otbr-agent exited with code 1 (by signal 0).
Config is /dev/ttyAMA1, no value for Baudrate, hardware flow control is checked, automatically flash firmware is checked.
Debug-level logs:
[INFO]-RCP_HOS-: OpenThread log level changed to 5
49d.17:39:21.183 [D] P-SpinelDrive-: Sent spinel frame, flg:0x2, iid:0, tid:0, cmd:RESET
49d.17:39:21.183 [D] P-SpinelDrive-: Waiting response: key=0
49d.17:39:23.185 [W] P-SpinelDrive-: Wait for response timeout
49d.17:39:23.185 [I] P-SpinelDrive-: co-processor self reset successfully
49d.17:39:23.185 [D] P-SpinelDrive-: Sent spinel frame, flg:0x2, iid:0, tid:1, cmd:PROP_VALUE_GET, key:PROTOCOL_VERSION
49d.17:39:23.185 [D] P-SpinelDrive-: Waiting response: key=1
49d.17:39:25.187 [W] P-SpinelDrive-: Wait for response timeout
49d.17:39:25.187 [D] P-SpinelDrive-: Sent spinel frame, flg:0x2, iid:0, tid:1, cmd:PROP_VALUE_GET, key:PROTOCOL_VERSION
49d.17:39:25.187 [D] P-SpinelDrive-: Waiting response: key=1
49d.17:39:27.189 [W] P-SpinelDrive-: Wait for response timeout
49d.17:39:27.189 [C] Platform------: Init() at spinel_driver.cpp:83: Failure
49d.17:39:27.189 [D] P-SpinelDrive-: Sent spinel frame, flg:0x2, iid:0, tid:1, cmd:PROP_VALUE_GET, key:PROTOCOL_VERSION
49d.17:39:27.189 [D] P-SpinelDrive-: Waiting response: key=1
49d.17:39:29.191 [W] P-SpinelDrive-: Wait for response timeout
I have tried re-flashing the Yellow with the HAOS image, just in case something was hanging around from my previous attempts to get things working, but that was not more successful.
I don’t have any Thread devices yet. I do have a bunch of Philips Hue devices, so maybe it makes sense to validate that the radio actually works by setting up Zigbee? Or, is there some diagnostic tool I can use?
Any advice?
– Mike