#Timeout when installing ZBT-2 Zigbee firmware?

1 messages ยท Page 1 of 1 (latest)

lyric hamlet
#

Today I picked up the ZBT-2, unpacked, connected via the provided cable to the HA Green, but for some reason I keep receiving the "Failed to flash firmware" error. I tried migrating to new adapter 3 times with the recommended flow and one time with the custom, but it doesn't really make a difference ๐Ÿ™

Logs are here is someone wants to take a look: https://paste.debian.net/1409618
Seems like there is a timeout when trying to flash the FW, but I have no clue about why to be honest...
Is there something I could be doing wrong? Or is anyone else encountering similar issues?

Like I said I use HA Green and have the following HA versions:
Core 2025.11.2
Supervisor 2025.11.3
Operating System 16.3
Frontend 20251105.0

lucid herald
lyric hamlet
#

Will try, thank you!

lyric hamlet
#

Well the device reset sadly did not help...
Flashing from the browser was not successfull either, but at least I got a different error from the browser console... Altough this time I am even less sure about whats going on ๐Ÿ˜„

Console error here:
https://paste.debian.net/1409628

Full console here:
https://paste.debian.net/1409629

lyric hamlet
#

Just to rule out some other things I also tried a different usb-c cable and also tried the web flasher from both arm mac/brave and windows/edge but same exact error.... So its starting to feel like the ZBT-2 itself, but I am honestly quite clueless

unique eagle
#

no filtering/blocking extensions active? might try incognito / private mode

lyric hamlet
#

thats a good point, nothing from my side but i will double check the browsers config if there is any built in stuff active, thanks!

#

there actually was something enabled in brave, but sadly exact same behavior when i disabled it

#

both in normal and private mode

unique eagle
#

shure usb cable is data cable??

lyric hamlet
#

yup, tried both the provided one and one i usually use at home... just to be safe i also tried one that i know that is not a data one with that one the device was not even picked up in the browser (but the top lighted up blue probably as one could expect since it got power)

unique eagle
#

running out of options/ideas..

lyric hamlet
#

same here, but I really appreciate the help ๐Ÿ™‚

unique eagle
#

rebooted your system already?

lyric hamlet
#

several times ๐Ÿ™‚ i am thinking i will try connecting back to HA and try picking up the thread option instead of zigbee, just to see what happens

shrewd veldt
#

I think @shy marten may have a fix in for the flasher

lyric hamlet
lyric hamlet
shy marten
#

Not any more, all fixed ๐Ÿ˜

unique eagle
#

you guys are fast

lyric hamlet
#

glad to hear and sad to hear at the same time ๐Ÿ˜„

shy marten
#

Just the web flasher part

#

Let me glance at your Core log once more, we should have a fix for that ready in time for tomorrow's Core patch release

lyric hamlet
#

Thank you!

flint trout
#

having the same problem. assuming I should just wait for 2025.11.3?

hexed harness
#

I getting a different error - no crash/trace -
2025-11-21 11:30:49.170 INFO (MainThread) [universal_silabs_flasher.flasher] Successfully entered bootloader using rts_dtr reset
2025-11-21 11:30:49.170 INFO (MainThread) [universal_silabs_flasher.flasher] Triggering rts_dtr bootloader
2025-11-21 11:30:51.788 WARNING (MainThread) [universal_silabs_flasher.flasher] Bootloader did not launch a valid application
2025-11-21 11:30:51.788 INFO (MainThread) [universal_silabs_flasher.flasher] Detected ApplicationType.GECKO_BOOTLOADER, version '2.4.3' at 115200 baudrate (bootloader baudrate 115200)
2025-11-21 11:30:55.322 ERROR (MainThread) [homeassistant.components.websocket_api.http.connection] [140643367618336] Error during service call to update.install: Failed to flash firmware

just Bootloader did not launch a valid application

lyric hamlet
rugged hemlock
bitter leaf
rugged hemlock
#

I can confirm that flashing manually fixed the issue (follow the steps on issue 15966)

bitter leaf
#

I updated the software for zigbee on the website and the other one too, and now when I connect the ZBT-2 and restart HA, it doesn't detect it anymore :/ When I go to the devices tab, it's not there anymore either ๐Ÿ™

#

Ok, now we have to wait for the HA update to Core 2025.11.3

rugged hemlock
lyric hamlet
#

Can confirm the 2025.11.3 fixed this for me and I am now successfully running my zigbee network from ZBT-2!
Thanks to @shy marten and everyone else involved for all the work and such a quick fix!

bitter leaf
bitter leaf
#

I enabled Beta updates and it's here ๐Ÿ™‚

lyric hamlet
#

thats weird, i can see it in github: https://github.com/home-assistant/core/releases/tag/2025.11.3
can you try in Settings clicking the three dots in top right and search for updates? (or something similar, i am not using english localization so not sure about the exact wording)

GitHub

Cache token info in Wallbox (@hesselonline - #154147) (wallbox docs)
Bump version of python_awair to 0.2.5 (@averybiteydinosaur - #155798) (awair docs) (dependency)
Fix args passed to check_config ...

bitter leaf
#

got it ๐Ÿ™‚

#

Grrr after updating to version 2025.11.3 I get the following log when trying to install ZBT-2 :/

#

Rejestrator: homeassistant.components.homeassistant_hardware.firmware_config_flow
ลนrรณdล‚o: components/homeassistant_hardware/firmware_config_flow.py:202
integracja: Home Assistant Hardware (dokumentacja, Problemy)
Pierwsze zdarzenie: 19:57:53 (1 wystฤ…pienie)
Ostatnio zalogowany: 19:57:53

Failed to flash firmware
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 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 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

#

any ideas?

lyric hamlet
#

Not really ๐Ÿ™ did you try factory reset and trying all over afterwards?

bitter leaf
#

No, but that's what I'll do - I'll let you know how it turns out

unique eagle
#

reboot ha?

bitter leaf
#

There are no instructions online on how to perform a factory reset on this device. I held down the small button for 30 seconds, but the light didn't even blink. I'm trying to flash it again via the web, but it's been stuck at 0.0% for 5 minutes now. I'm also considering updating from a file, but I don't see any downloads for the ZBT-2 either.

bitter leaf
lyric hamlet
#

https://support.nabucasa.com/hc/en-us/articles/31369193447325-Resetting-your-Home-Assistant-Connect-ZBT-2

it should start blinking blue at least....
when doing the flash via web, is there some error in the js console? usually can be see with in developer tools via f12

bitter leaf
#

There's no response when I hold down the reset button. This is strange. When I connect it to my computer, it detects something via USB. When I restart the virtual machine, it also detects the device, but it won't continue with the update... as if it were half-dead. It doesn't light up in any color, neither orange as it should during a reset, nor blue.

lyric hamlet
#

for me it wasnt orange either, but shortly after pressing it started blinking blue

bitter leaf
#

I think it's time to make peace with the old Sonoff

lyric hamlet
#

At least some stack trace, which should be useful but sadly out of my expertise ๐Ÿ™

bitter leaf
#

Ok, thanks anyway, maybe something will become clear about this by Monday when I order a new one.

lucid herald
shrewd veldt
#

@bitter leaf tried a different cable?

flint trout
#

2025.11.3 fixed the thread firmware install for me

glacial pilot
#

having same problem, just bought ZBT-2 and get "Failed to flash firmware" when I am trying to add it

#

I tried it with 2025.11.2, havent updated to .3 yet

shrewd veldt
glacial pilot
shrewd veldt
#

you want extension cables especially for the zbt

#

you can't plug in a zwa 2 (zwave) without one anyway

glacial pilot
#

thanks

shrewd veldt
bitter leaf
grand mirage
#

ZBT-2 and get "Failed to flash firmware" when I am trying to add it. Also getting the Progress: 0.0 hang when using the web flasher. HA is updated to 2025.11.3. Tried updating the device to have Thread firmware too. Reset does nothing (no lights flashing) but the web-flasher does see it connected to the desktop machine on COM4 (paired) strange one this im thinking faulty device. Does anyone have any ideas of what else to try before sending it back? Shame really cause I wanted to support them with this but its not looking good. Tried on Chrome and Edge web browsers.

grand mirage
versed thunder
#

I am trying to flash using the web flasher and I am also getting the same issue.. I have right now the Thread firmware installed and when I try to install Zigbee, it just remains at 0%.
I tried on mac m1, Windows, chrome and edge browsers. Same issue.
I also also notice that when I unplugged it, it did not even complain.
I did it yesterday and it worked. But today it just wont allow me to flash a new firmware.

#

ok.. This happens right now only while changing from Thread to Zigbee firmware.
What I did is..
conencted to HA and flashed the zigbee firware via the integration and it worked in HA.
I then connected to the web flashed and selected thread , and it flashed successfully.
I did not disconnect the cable, and continued this time to flash the zigbee firmware and there it is at 0.0% .

#

Seeing the console I see this error

pyodide.asm.js:8 Uncaught (in promise) PythonError: Traceback (most recent call last):
  File "/lib/python3.13/site-packages/universal_silabs_flasher/flasher.py", line 398, in enter_bootloader
    raise FailedToEnterBootloaderError()
universal_silabs_flasher.flasher.FailedToEnterBootloaderError

    at new_error (pyodide.asm.js:8:578922)
    at pyodide.asm.wasm:0x10f082
    at pyodide.asm.wasm:0x1196e7
    at pyodide.asm.wasm:0x2f1eee
    at pyodide.asm.wasm:0x168277
    at pyodide.asm.wasm:0x28ecb9
    at pyodide.asm.wasm:0x1b3a54
    at pyodide.asm.wasm:0x168963
    at pyodide.asm.wasm:0x168b6f
    at pyodide.asm.wasm:0x168bf5
    at pyodide.asm.wasm:0x262f06
    at pyodide.asm.wasm:0x26e454
    at pyodide.asm.wasm:0x168d34
    at pyodide.asm.wasm:0x168a99
    at pyodide.asm.wasm:0x118c97
    at pyodide.asm.wasm:0x118df7
    at wrapper (pyodide.asm.js:8:689029)
    at Object.promisingApply (pyodide.asm.js:8:688616)
    at callPyObjectKwargsPromising (pyodide.asm.js:8:633497)
    at Module.callPyObjectMaybePromising (pyodide.asm.js:8:634012)
    at wrapper (pyodide.asm.js:8:596545)
#

So issue is only while flashing zigee firmware.

#

I can also confirm this worked yesterday and its failing today.

shy marten
#

Thanks! I'll take a closer look at Thread -> Zigbee flashing via the web flasher

shy marten
#

Give it a try now, the bootloader trigger should be working more reliably

bitter leaf
shrewd veldt
#

@grand mirage did you try the web flasher again after @shy marten 's comments above?

grand mirage
#

Sure did. It kind of worked.

Run into other problems not adding devices, but itโ€™s at least got it added to the system. Given up with it now.

All feels a bit rushed and unfinished if Iโ€™m honest though, re the product.

Iโ€™ll swap out the thread devices and replace them with Zigbee.

The SMLight SLZB 06 is absolutely solid but wanted to use some different brands hence the Thread set up with this.

bitter leaf
#

Are there any options for turning on the blue LED on the antenna? Mine is always off and I don't know how to turn it on or check in what situations it should light up...

lucid herald
delicate raven
#

I was seeing a similar issue with mine not flashing, and turns out the supplied cable was bad. It wasn't even drawing power after I tried to flash it. Swapped out the cable with a known good cable, and then it worked just fine.

polar flicker
#

@delicate raven Sorry for that experience of yours ๐Ÿ˜ข
Is your device one of the test devices we sent out, or a bought one?

delicate raven
# polar flicker <@707548522806771814> Sorry for that experience of yours ๐Ÿ˜ข Is your device one o...

Oh, itโ€™s okay! These things happen! ๐Ÿคทโ€โ™‚๏ธโ˜บ๏ธ
It was one that I bought. I bought two, one for Zigbee, and one for Thread. The Zigbee one worked instantly, the Thread one kept disconnecting from my NUC/HA, so I took it to a different machine to try and reflash it, and it didnโ€™t draw power. After swapping out the cable, everything seems fine!

polar flicker
#

For a start, thanks for being so forgiving ๐Ÿค—! And thanks for believing in our products!
We're actually having a pretty close look on the cables these days. Your case is far from being an often one (just to make that explicit ๐Ÿ˜…), but we're not exactly happy...
To make another thing very explicit, nonetheless: A defective cable is of course a reason to contact your supplier and ask for a replacement - either device or just cable! USB cables tend to be a thing people have in bigger numbers, yet: Please feel free to reach to them!

bitter leaf
#

What is the normal behavior of the ZBT-2? Should it light up when connected or not? Secondly, HA detects a ZBT-2 update, but when I click update, I get an error. Is it Synology and VM's fault, or is the product still not fully stable?

lucid herald
#

Are you using Zigbee2MQTT?

bitter leaf
#

yes

lucid herald
#

You have to stop Zigbee2MQTT before updating the firmware. The radio has to be not in use (ZHA and the OTBR add-on can handle that).

shy marten
bitter leaf
delicate raven
rose jolt
#

So I'm still having the same problem cannot update the coordinator

#

Is there any way to force the new update at ha?

#

Z2mqtt won't even launch

lunar stag
#

At what point are you stuck?

  1. Did you already set up the ZBT-2 integration previously and just tried to do an update now, or are you setting up the ZBT-2 integration for the first time?
  2. Did you successfully use ZBT-2 with Zigbee2MQTT in the past? If not, the Z2M config may be incorrect.
rose jolt
#

Yes everything was set up and working

#

But ever since yesterday when it said it needs an update I haven't been able to update it I've tried stopping all services and restarting

#

I've read that there was a bug with the update tool but then it was fixed in a newer version of ha.

#

I'm trying to figure out what the workaround is for getting it up to date because nothing will work right now like it seems like it needing the update is making it not work

Even when it was somewhat working in communicating with z2m I couldn't update any z10 devices

lunar stag
#

There was an issue in HA that's been fixed in 2025.11.3 and in the web-flasher. Both should work for upgrading ZBT firmware, though some setups seem to still cause issues.

#

If you use the update entity in HA, does it just show an error "Failed to flash firmware" at the bottom of the screen?

rose jolt
#

Yes I believe it's that error

lunar stag
#

Ok. Some users reported success by turning off their host system, optionally temporarily removing power, and then starting it back up again. Make sure Z2M doesn't auto-start.

rose jolt
#

It tries installing for about a minute

lunar stag
#

Otherwise, unplug ZBT-2 from your Home Assistant host and use the web-flasher I linked above on another system.

rose jolt
#

Interesting I'll try the web flasher was just hoping to not have to go up to the server room I always try the remote fix first

lunar stag
#

Then try to restart your host first. That might work

rose jolt
#

I've restarted the whole system it's a pie I have even power cycled the poe Port it's connected to

#

How do you restart host ?

lunar stag
#

Hmm, ok.

rose jolt
#

I've only been doing home assistant for about 6 months now

lunar stag
#

Yeah, that's what I meant. Host = system hosting Home Assistant.

#

If you power-cycled the entire system, that's great.

rose jolt
#

Oh yeah I've done multiple power cycles and restarting through software

lunar stag
#

Are you up for grabbing logs first, before trying the web-flasher?

rose jolt
#

Seems like mine's real stuck

#

I was looking at logs in Z2 mqtt

lunar stag
#

Z2M needs to be completely stopped when attempting the firmware upgrade to not interfer with it.

rose jolt
#

Yeah I could grab logs

lunar stag
rose jolt
#

Yeah I realized that about halfway through so I stopped the service from starting on boot

#

But then it didn't fix it LOL

#

It always stings when you think you're so smart and you found the problem because you were so stupid but then that wasn't the problem even though it is a problem it wasn't the problem

#

I'm going to open my laptop right now and VPN back in where's the best place to pull logs from to see this

lunar stag
#

So, you'll want to execute a service/action call on the Developers Tool pgae with the YAML from puddly's GitHub comment here, then try the upgrade again, wait for it to fail, and finally grab the logs from Settings -> System -> Logs. There's a download button there. Then, send me the logs privately via Discord.

rose jolt
#

Look at that a shot now I do want to disclose I do have 2 zbt-2 plugged into two separate USB ports one is running thread

#

Don't know if that matters they're properly named in my system but I have noticed that when you go into hardware they both show up with the exact same name with the option to update firmware or redo firmware and I feel like that should be something that should be patched in the future and be able to name them because you can't tell which is which

#

So I wasn't sure if I should be unplugging the thread one

lunar stag
#

The situation on the hardware page isn't ideal. They do correctly show up on the integrations page though.

#

You should be able to keep both ZBT-2's plugged in the entire time.

rose jolt
#

Quick question the redirect to developer services isn't working cuz I'm not on the same network

Where is that just by using the UI ?

lunar stag
#

The Developer Tools should be at the bottom of the sidebar on the left. Then, the actions tab.

rose jolt
#

Right thanks right in front of my face I was digging around settings trying to find it

#

All right sending DM feel free to let me know if I did anything wrong

thick locust
#

I also get 'FailedToEnterBootloaderError' on two different computers, both on Chrome and Edge.

#

I tried 3 different cables as well

#
pyodide.asm.js:8 Uncaught (in promise) PythonError: Traceback (most recent call last):
  File "/lib/python3.13/site-packages/universal_silabs_flasher/flasher.py", line 398, in enter_bootloader
    raise FailedToEnterBootloaderError()
universal_silabs_flasher.flasher.FailedToEnterBootloaderError

    at new_error (pyodide.asm.js:8:578922)
    at pyodide.asm.wasm:0x10f082
    at pyodide.asm.wasm:0x1196e7
    at pyodide.asm.wasm:0x2f1eee
    at pyodide.asm.wasm:0x168277
    at pyodide.asm.wasm:0x28ecb9
    at pyodide.asm.wasm:0x1b3a54
    at pyodide.asm.wasm:0x168963
    at pyodide.asm.wasm:0x168b6f
    at pyodide.asm.wasm:0x168bf5
    at pyodide.asm.wasm:0x262f06
    at pyodide.asm.wasm:0x26e454
    at pyodide.asm.wasm:0x168d34
    at pyodide.asm.wasm:0x168a99
    at pyodide.asm.wasm:0x118c97
    at pyodide.asm.wasm:0x118df7
    at wrapper (pyodide.asm.js:8:689029)
    at Object.promisingApply (pyodide.asm.js:8:688616)
    at callPyObjectKwargsPromising (pyodide.asm.js:8:633497)
    at Module.callPyObjectMaybePromising (pyodide.asm.js:8:634012)
    at wrapper (pyodide.asm.js:8:596545)