Did I just brick my Z-stick before even using it?

Hello everybody,

I just installed a Aeotec Z-stick 7 into my HA yellow and just follow instructions on HA website. All seemed to go well and Z-Wave JS was installed, hub was available etc etc. I had no devices yet so I just let it sit like that.

Forward to today. Got my devices in and I figured before adding devices, let me update my stick. Downloaded the update file, 18.8.8 I believe, because the stick was still on 17 and Aeotec site mentioned I needed to go to 18 before going to 20. So I follow the update steps in Z-wave JS and at 6.8% it just hangs. Few minutes later, HA show my Z-wave JS as setting up failed and my hub is totally gone from devices.

Now I am left at a complete lost at what to do :(.

Here I was trying to do the right thing and now I’m worried the stick is bricked and im back to square one having to order a new stick, which I will then forever fear to update.

Any tips, help or recommendations?

Have you removed the controller from power for a minute and reinstalled?

Check the Z-wave-JS UI logs on startup. What is indicated?

Are you getting failed to recover from bootloader in the logs? See this thread if so.

Failed to recover from bootloader. Please flash a new firmware to continue - Configuration / Z-Wave - Home Assistant Community (home-assistant.io)

Will give this a shot in the morning. Do I need to reinstall z-wave JS completely on HA? Or just the hub/controller?

You don’t need to reinstall anything.

I would first try using the command line utility to attempt to upgrade the stick again. It will handle the condition when the stick is stuck at the bootloader: 700 series Controller Firmware Updates (Linux) · kpine/zwave-js-server-docker Wiki · GitHub

Basically:

  1. Disable the Z-Wave integration, and make sure the Z-Wave JS add-on is stopped
  2. Copy the 7.18 gbl file to HA somewhere, i.e. /config
  3. Install either of the Terminal/SSH add-ons
  4. Open the chosen SSH add-on and login
  5. Install node.js and npm via apk add npm
  6. Update the firmware with npx -y @zwave-js/flash /dev/ttyUSB0 /config/fw.gbl, replace with your USB path and your firmware file path.
  7. If successful, re-enable the Z-Wave integration

The update progress will be logged to the terminal window so it will be easy to see progress or if anything does wrong. You could run npx -y @zwave-js/flash /dev/ttyUSB0 /config/fw.gbl | tee upgrade.log if you want to save the log file.

If that works, I would not upgrade past 7.18 yet. Many more reports of jammed/unresponsive controllers on 7.19+ than on earlier versions.

3 Likes

Holy shit, SSH terminal just showed, firmware update successful. You have no idea how happy you made me. Thanks for the help.

For other people reading this and wondering but how do I upload the firmware file, like I did. There is a short instruction here using SSH terminal, which you need anyways, to setup a SFTP. Easily allowing you to drop files in your HA directory.
https://dominikdorn.com/2023/08/how-to-scp-sftp-files-to-home-assistant/

You can also upload files with the File Editor add-on if a UI is preferable.

The VS Code Add-on can also up/download files and includes a terminal program as well. For those that already have that installed.

I couldn’t get this to work in HASS but worked on windows using the below.

Run the Flash Command in PowerShell or Command Line

  1. Open a PowerShell or Command Prompt window with administrator privileges.
  2. Run the flash command, specifying the COM port and firmware file path:

npx @zwave-js/flash COM5 C:\Users\Downloads\ZST39.gbl

Replace COM5 with the actual COM port for the ZST32 controller and adjust the path to the firmware file.