I had a similar problem, running a mini pc and bare metal HA, I just rebooted, did it again and it went well. Don’t forget to remove the ZBT-1 through ZHA BEFORE you unplug it, I made that mistake…
I get the same error message but in the logs I have errors related to the serial connection.
My HA setup is a VM with usb pass-through hosted by VMWare ESXi with working zwave and zigbee dongles and wanted to add the ZBT-2 for the thread network only.
Already performed the web flash for latest thread firmware but still, when clicking on ADD button from integration page, HA is trying to update or to check the latest firmware from device.
Logger: homeassistant.components.homeassistant_hardware.firmware_config_flow
Source: components/homeassistant_hardware/firmware_config_flow.py:202
integration: Home Assistant Hardware (documentation, issues)
First occurred: 01:22:57 (1 occurrence)
Last logged: 01:22:57
Failed to flash firmware
Traceback (most recent call last):
File "/usr/local/lib/python3.13/site-packages/zigpy/serial.py", line 127, in create_serial_connection
raise exc.__context__ from None
File "/usr/local/lib/python3.13/site-packages/serial/serialposix.py", line 385, in _reconfigure_port
fcntl.flock(self.fd, fcntl.LOCK_EX | fcntl.LOCK_NB)
~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
BlockingIOError: [Errno 11] Resource temporarily unavailable
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "/usr/src/homeassistant/homeassistant/components/homeassistant_hardware/util.py", line 413, in async_flash_silabs_firmware
await flasher.enter_bootloader()
File "/usr/local/lib/python3.13/site-packages/universal_silabs_flasher/flasher.py", line 358, in enter_bootloader
await self.probe_app_type()
File "/usr/local/lib/python3.13/site-packages/universal_silabs_flasher/flasher.py", line 286, in probe_app_type
bootloader_probe = await self.trigger_bootloader_reset(run_firmware=True)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.13/site-packages/universal_silabs_flasher/flasher.py", line 219, in trigger_bootloader_reset
await self.trigger_bootloader(target)
File "/usr/local/lib/python3.13/site-packages/universal_silabs_flasher/flasher.py", line 117, in trigger_bootloader
async with connect_protocol(
~~~~~~~~~~~~~~~~^
self._device, 115200, FlowControlSerialProtocol
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
) as uart:
^
File "/usr/local/lib/python3.13/contextlib.py", line 214, in __aenter__
return await anext(self.gen)
^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.13/site-packages/universal_silabs_flasher/common.py", line 136, in connect_protocol
_, protocol = await zigpy.serial.create_serial_connection(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
...<4 lines>...
)
^
File "/usr/local/lib/python3.13/site-packages/zigpy/serial.py", line 132, in create_serial_connection
raise PermissionError(
"The serial port is locked by another application"
) from exc
PermissionError: The serial port is locked by another application
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "/usr/src/homeassistant/homeassistant/components/homeassistant_hardware/firmware_config_flow.py", line 202, in _install_firmware_step
await self.firmware_install_task
File "/usr/src/homeassistant/homeassistant/components/homeassistant_hardware/firmware_config_flow.py", line 297, in _install_firmware
self._probed_firmware_info = await async_flash_silabs_firmware(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
...<9 lines>...
)
^
File "/usr/src/homeassistant/homeassistant/components/homeassistant_hardware/util.py", line 420, in async_flash_silabs_firmware
raise HomeAssistantError("Failed to flash firmware") from err
homeassistant.exceptions.HomeAssistantError: Failed to flash firmware
======================================
it is getting very annoying now to spend so much time and money to have an aqara fp300 working as occupancy senzor ![]()
Some other application is locking your device.
Wait, you flashed the thread firmware? This topic is about zigbee, so I’m a bit confused. Which Integration are you trying to add exactly when this fails?
The FP300 has very limited features on thread (see here for missing features). I suggest you switch it to zigbee mode and get your money’s worth. If your issue is that it’s not fully supported in ZHA, there is already a quirk written for it - you can either add it manually or else wait for the next HA release in 8 days and it will be supported.
oh, I do apologize, I tried on ZigBee as well but same error I got.
anyway, I managed today to install the Z2M and was able to add the fp300 over the ZigBee protocol.
thank you for your time and glad to see it will be fully supported by ZHA!
I note a few other people in other threads tried the ‘reboot twice’ and it worked. Maybe a two step installation process and the second reboot wasn’t scheduled between or documented as being required?
Got my zbt-2 today. Running the latest version of HA. Had to reboot the machine to discover it in integrations. Started migrate to new and it failed before installing the zigbee firmware. Rebooted once more and it discovered it again. Selected migrate to new again and this time it installed the firmware, ereased my sonoff and migrated all devices to zbt-2. Everything up and running on the zbt-2 now
Good feedback. Glad it is working for you.
Can you report it in GitHub for the developers to update their documentation or installation scripts please, for the benefit of others.
Hello,
I have bought ZBT-2 device this week and received it two days ago. Since then, I have not managed to make it work at all.
Device has been auto-detected when I plugged it in, but failed to update.
I have updated HA to the newest software:
Installation method Home Assistant OS
Core 2025.11.3
Supervisor 2025.11.5
Operating System 16.3
Frontend 20251105.1
I have tried everything from this thread:
- updated firmware to latest available (7.4.4.6)
- downgraded firmware to version 7.4.4.5 - skyconnect_zigbee_ncp_7.4.4.5.gbl downloaded from here: Releases · NabuCasa/silabs-firmware-builder · GitHub
edit: I then realised that the skyconnect isn’t proper firmware and installed zbt2_zigbee_ncp_7.4.4.5.gbl and also tried with older zbt2_zigbee_ncp_7.4.4.3_20250911_final.gbl - restarted my RPi4 with HA installed every time
- tried fix from @o0Nevermind but
usermodcommand isn’t available in my SSH terminal dmesg | tailsees something is going on on USB port but can’t initialise it
It looks like the HA OS is having issues with detecting it as there’s nothing in Hardware info.
Any other ideas what I could do to make it work?
An update from me - maybe it will help someone.
I checked that today after power outage and ZBT-2 has been auto-detected in Devices & services. After that, normal process of initialisation occurred and device is up and running.
I assume downgrade to 7.4.4.5 helped here, but I have never unplugged power supply to my Raspberry Pi - I only restarted OS, so it looks like that was not sufficient.
I received mine the other day and it has been nothing but trouble. It does not work, similar issues to others. I won’t rehash everything I’ve tried but this is NOT a HA version issue as I’ve tried the past 2 versions, same issue. The firmware will not install and I’m out of ideas. I will try to flash it on a computer next and will return it after that.
Logger: homeassistant.components.homeassistant_hardware.firmware_config_flow
Source: components/homeassistant_hardware/firmware_config_flow.py:203
integration: Home Assistant Hardware (documentation, issues)
First occurred: 4:57:56 PM (1 occurrence)
Last logged: 4:57:56 PM
Failed to flash firmware
Traceback (most recent call last): File “/usr/src/homeassistant/homeassistant/components/homeassistant_hardware/util.py”, line 421, in async_flash_silabs_firmware await flasher.enter_bootloader() File “/usr/local/lib/python3.13/site-packages/universal_silabs_flasher/flasher.py”, line 358, in enter_bootloader await self.probe_app_type() File “/usr/local/lib/python3.13/site-packages/universal_silabs_flasher/flasher.py”, line 329, in probe_app_type raise RuntimeError(“Failed to probe running application type”) RuntimeError: Failed to probe running application type The above exception was the direct cause of the following exception: Traceback (most recent call last): File “/usr/src/homeassistant/homeassistant/components/homeassistant_hardware/firmware_config_flow.py”, line 203, in _install_firmware_step await self.firmware_install_task File “/usr/src/homeassistant/homeassistant/components/homeassistant_hardware/firmware_config_flow.py”, line 310, in _install_firmware self._probed_firmware_info = await async_flash_silabs_firmware( ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ …<9 lines>… ) ^ File “/usr/src/homeassistant/homeassistant/components/homeassistant_hardware/util.py”, line 430, in async_flash_silabs_firmware raise HomeAssistantError(“Failed to flash firmware”) from err homeassistant.exceptions.HomeAssistantError: Failed to flash firmware
