Migration information Zwave-Me UZB old firmware to HA ZWA-2

My Z-Wave network was happily running on a Z-Wave.Me UZB for many years, but I jumped at the chance to get the lovely new HA ZWA-2 device when it was released, so obviously I wanted to migrate my existing network.

As per the documentation, migrating from a 500 series adapter requires the source adapter to be on SDK 6.61+.

My UZB reported in Z-Wave JS UI that it was firmware 5.5 and SDK lower than this, so I started my (in my opinion) overly painful journey to get to 6.61+ but I’ve documented it here to hopefully reduce pain for others in a similar position. These are the steps that I followed and the commands that I ran, your mileage may vary, no warranties are implied etc etc.

The UZB is considered to be a legacy device that they stopped selling in 2021. They say that it is not possible to upgrade from firmware version 5.0 and you will need to find another path (i.e. most likely rebuild your network on a new controller)

The firmware version list is shared between the UZB and RaZberry 2 product they have, and tells us that we need to hit 5.16 to meet our SDK requirements. To additionally confuse things, they interchangeably refer to 5.5 and 5.05 as the same thing.

5.05: Fixed Bootloader upgrade response.
5.06: LED can be turned off
5.07: Updated SDK to 6.51.09 (for certification)
5.16: Updated SDK to 6.70.00.

They supply a command line tool called ZMESerialUpdater - manual and download. I’m going to asusme that you have a machine where you’ve mounted the UZB stick and can download this tool and the firmwares. I didn’t do this directly on my HA server, I put the UZB stick in another linux machine. You could probably use a Live USB boot disk to achieve this if you don’t have a suitable machine, or could probably do it directly on the HA server.

/dev/ttyACM0 is where my machine mounted the UZB stick - yours may be slightly different.
We can test the connectivity to the UZB using

sudo ./ZMESerialUpdater serialapi_uzbupdate -d /dev/ttyACM0

This will give an output of the current firmware version, SDK and other info about the stick. If this doesn’t work, recheck your device name, look at basic troubleshooting like unplugging and replugging the UZB, rebooting etc - it took me a few goes for it to behave.

This software requires firmware and bootloaders from their map which took me quite a while to get my head around - it lists the upgrade path from 5.5 to 5.16 but what I consider to be an obscure way. An individual node tells us how we get from 5.5 to 5.6, we want bootloader_UZB_from_05_05_to_7278_2MB.bin and firmware_UZB_from_05_05_to_05_06.bin.

We download this first pair using

wget https://service.z-wave.me/expertui/uzb/bootloader_UZB_from_05_05_to_7278_2MB.bin
wget https://service.z-wave.me/expertui/uzb/firmware_UZB_from_05_05_to_05_06.bin

We then flash both the bootloader and firmware at the same time using

sudo ./ZMESerialUpdater serialapi_uzbupdate -b bootloader_UZB_from_05_05_to_7278_2MB.bin -f firmware_UZB_from_05_05_to_05_06.bin -d /dev/ttyACM0

This then reported a success and the version was now 5.6!

I then proceeded to follow the map to 5.7. In retrospect, I possibly didn’t need to update the bootloader each time as the version is actually the same, but it didn’t do me any harm.

wget https://service.z-wave.me/expertui/uzb/bootloader_UZB_from_05_06_to_7278_2MB.bin
wget https://service.z-wave.me/expertui/uzb/UPD_FIRMWARE_UZB500_from_05_06_to_05_07.bin
sudo ./ZMESerialUpdater serialapi_uzbupdate -b bootloader_UZB_from_05_06_to_7278_2MB.bin -f UPD_FIRMWARE_UZB500_from_05_06_to_05_07.bin -d /dev/ttyACM0

And finally 5.16

wget https://service.z-wave.me/expertui/uzb/bootloader_UZB_from_05_07_to_7278_2MB.bin    
wget https://service.z-wave.me/expertui/uzb/UPD_FIRMWARE_UZB_STATIC_2ch_ZME_05_07_04000001_ZME_05_1b_04000001.bin
sudo ./ZMESerialUpdater serialapi_uzbupdate -b bootloader_UZB_from_05_07_to_7278_2MB.bin -f UPD_FIRMWARE_UZB_STATIC_2ch_ZME_05_07_04000001_ZME_05_1b_04000001.bin -d /dev/ttyACM0

Notice the very helpful consistency with the filenames… :roll_eyes:

Now I was able to return the stick to my HA server and follow the rest of the migration back and restore process. Hopefully this is helpful to someone else!

7 Likes

Worked great, THANK YOU.

One note - if you join the dialup group, you don’t have to sudo the serial commands. (I already had this set up for Arduino programming.)

1 Like

Good shout, glad it worked for you!

Many thanks for this! Saved a lot of work.

2 Likes

Edit:

So I went back to the Z-Way addon but manually edited the yaml of the addon configuration to point to /dev/ttyACM0 instead of the /dev/serial/by-name device target.

Going into the expert interface, controller info > firmware update and putting in the token “all” into the field, I’ve managed to upgrade to a later SDK version.

I freaked a little as all my nodes were dead when I booted Z-Wave JS back up, but I realised my frequency was set to US, hitting the Z-Way web UI at the following URL let me change it back to ANZ

IP:8083/JS/Run/zway.ZMEFreqChange(4)

You can set the number to any of the below:

Parameter freq: 0x01 RU. 0x02 IN. 0x03 US. 0x04 ANZ. 0x05 HK. 0x06 CN. 0x07 JP. 0x08 KR. 0x09 IL. 0x0A MY. 0xFF request current frequency

Onto the migration!


I swear Z-Wave fights me at every turn! :rofl: Just when I thought I’d found a guide on exactly what I wanted to do…

Not sure what the deal is but I just get this error on multiple PC’s, did you see this at all?

sudo ./ZMESerialUpdater serialapi_uzbupdate -d /dev/ttyACM0
Z-WAVE Serial API Tool
Version:LWE0.9
by Z-WAVE>ME–>

Device ready in:1.01658987999 seconds
FULL INFO
Openning port … OK
Error 0 Unknown exception:254

Heya, I didn’t see that specific issue, just a few spurious ones that resolved after re-plugging/ rebooting but it sounds like you resolved it using Z-Way and a frequency change, so possibly useful info for future adventurers!

Dude! I have been working on this for like a week with absolutely 0 progress and then I found this post and it was all said and done in like 5 minutes.

This post was literally every single thing that I needed and the only thing that I had to do, was I had to do the 5.5->5.6 firmware flash like 3 times before the stick took all of it. Every time it got a little farther on the write until it finally finished.

Thank YOU!

1 Like

No problem, very happy to have been of help, it is such a frustrating un-intuitive process as you’ve experienced!

1 Like

Hi,
I have an old UZB1 that i try to upgrade. Unfortunately ZwaveMe removed all the binary from their site. Is someone will be kind enough to share them with me?
Thank you,
Laurent