[RELEASE] Z-Wave Firmware Updater

I'm having a hard time using the binary updater version of this driver. I've used the normal version several times without issue, but now I have a Zen77 and a Zen34 that are both 700 series devices so the firmware update file is a GBL. I've updated the firmware updater driver and

I'm not sure what firmware target I should use. What does this even mean? I tried using 0 and the log only shows "Update process is currently running". I tried 1 and it errored out. I'm a little concerned about just trying the rest of them. Any advice?

Is it really GBZ, or is it GBL? I haven't seen any GBZ files (yet?) and don't know what they are (I suppose it could just be an alternative extension for the same format, but given that it's a different extension, I might assume the format is too, so maybe it's not compatible or you need to "process" it first somehow...).

Regarding target, most devices will have only one, and it would be 0 (the lowest). The only devices I've seen with multiple targets are the Inovelli "gen 2" (Red Series and Black Series) switches and dimmers that have two separate firmware files for different components of the device, likely because the 500-series Z-Wave chip couldn't fit everything onboard. The vendor's instructions should indicate if you need to do anything special here.

Oops. GBL. I edited my post.

Zooz didn't indicate that I need to do anything special and I know they're very familiar with Hubitat. So I wonder what's going on then... When using target 0 this is all that happens.

image

It will just stay like this until I abort.

Okay. So I did the first obvious troubleshooting step which was to power cycle the switch. It seems like it's updating fine now. I'll post again if it doesn't work.

1 Like

Maybe I spoke to soon. I got 2 Zen77s and the first one updated fine. The second one I can't get to update at all. I might try excluding and factory resetting next (thought I always factory reset before the initial include). I've rebooted both the switch and the hub with no change. It's using the same firmware file that I used on the first switch.

EDIT: Nope, same problem even after factory reset and re-including.

I'm wondering if the problem is the "firmwareUpgradable:false" flag. I wonder if there is a way to check that on other switches without actually starting a firmware upgrade...

EDIT2: After just leaving the device alone for a day and trying again it worked. I changed literally nothing since the last time I tried... so I guess it just needed time to settle or something, who knows? I work in IT and I know very well that a lot of times problems will just resolve themselves with some time.

I have noticed all the Zooz devices report back firmwareUpgradeable:false but still take updates.

The only reliable way I have found to update the firmware is with a USB stick as a secondary controller. The Hubitat Driver/App have always given me problems, sometimes they work, sometimes they wont.

@bcopeland, Hi Bryan, I am attempting to update a Zooz 17 Multirelay on a C5. I am getting an unusual silent fault using your driver, it fails on the Padding Hex Bytes message on the device page. I am using a firmware 1.4 provided from Zooz, SHA1 hash verified. Here is the debug log,

dev:942021-06-03 09:19:34.787 am errorjava.lang.NullPointerException: Cannot invoke method and() on null object on line 461 (firmwareStore)

dev:942021-06-03 09:19:34.773 am infofirmware total bytes: 0

dev:942021-06-03 09:19:34.771 am infoSorted all the bytes. cleaning up some memory...

dev:942021-06-03 09:19:33.119 am infoVersionReport- applicationVersion:1.2

dev:942021-06-03 09:19:33.117 am infoVersionReport- zWaveProtocolVersion:7.13

dev:942021-06-03 09:19:32.923 am infoFirmwareUpdateMd version:5

dev:942021-06-03 09:19:25.200 am infoVersionReport- applicationVersion:1.2

dev:942021-06-03 09:19:25.199 am infoVersionReport- zWaveProtocolVersion:7.13

dev:942021-06-03 09:15:12.582 am debuglocked by:

This usually means the firmware file is not valid.. What URL are you using?

Hi Bryan, thanks for the response. I uploaded the firmware to a remote www server,

LINK REMOVED

Seems okay to me, it downloads from the browser.

Make sure you are using the binary compatible version.. It sounds like you are using the older version..

hubitat/zwaveBinaryUpdater.groovy at master ยท djdizzyd/hubitat (github.com)

I am using 1.0 installed via Hubitat Package Manager.

I am waiting confirmation from Zooz that I have a non-corrupted file.

The version number couldnt be contributing to this could it? Current version reports v1.2. New version from Zooz is 1.04 but is indeed newer. I had a quick look at the source but didnt notice anything that could cause this issue.

Yea.. you will have to manually install this version

and its going... Thanks Bryan. Sorry I did not realize there were different versions for binary and non-binary firmware file formats. I will look for a run down of the firmware types as I am unfamiliar. Thanks for your help!

Anytime

Thanks for the offer ....

Just for clarity - I download the zip file and extract the individual files and then put on a local server to access.

What's the easiest way to create the server to do this or is there a way to access direct from the leviton site?

Still on C5 hubs - wanting to avoid transferring all devices.

Thanks

I use Dropbox, upload the files then create a "link" to the file on the web interface. There is a trick though to get a direct download link and not the dropbox interface. The link will have dl=0 and change that to dl=1

Example before and after (xxxxx will be a unique string for your generated link):
hxxps://www.dropbox.com/s/xxxxxxxxxx/ZSE40-32.18.hex?dl=0
hxxps://www.dropbox.com/s/xxxxxxxxxx/ZSE40-32.18.hex?dl=1

5 Likes

Thanks. Very helpful.

2 Likes

I am tring to get the Zooz Universal relay zen17 updated to the latest version. I am using the built i one on the C-7. So far I have been very unsuccessful. I got the the file from Zooz, but it ends with a .gpl file. When i try to do the update i get the below error from the device firmware updater

When I look at the logs this is what I see

I am kind of hoping the file is just a bad one that was sent to me, but any ideas.

I have seen the same thing before as well on a Zooz device even with multiple attempts. When I then used the same file to update through a USB stick as a secondary controller it worked fine first try. Not sure what issue is. I have also had the C7 App, and the driver updater work fine on occasion with no issues. USB Stick is the most reliable, but I understand not everyone has one.

1 Like

I just did the same update with a C5 using the community firmware updater app. The binary fille firmrwrare updater (not in Hubitat package manager) is required for the Zooz files and worked for me. See my troubleshooting above using the standard version community version which didnt work.