[RELEASE] Z-Wave Firmware Updater

Another question:

should I assume that "firmwareUpdateProcess Complete device is flashing...." means the process is NOT finished?



That means the device completed the download and is updating it doesn't tell the hub after it is complete with the update since it reboots and no longer knows it was updating. I usually just give it a minute at that point then change the driver back to the Inovelli driver and give it a press configure and refresh to make sure the firmware version updates and try controlling the switch.


@Evilborg you will need to use the directions here to extract hex file [RELEASE] Z-Wave Firmware Updater


Did that... ending matched up but the beginning of the code hex didn't so I'm hesitant to use what I did copy and save.

Nevermind... I got it... helps when you don't do this at 1am in morning :slight_smile:


Today I managed to update to the latest Inovelli v1.45 firmware across my entire ZWave network. Smooth and solid for each device without a single glitch! This has been one of the best new additions to Hubitat.

Since I was on a firmware roll, I decided to try to finally update my Leviton DZPD3 dimmers. No matter what I tried I ended up with the same error — "Failed to find matching firmware" on the device page and in the log the report of "Update failed to find a valid target." I see I am not alone with this issue as I read through this thread. What have others done to get past this with Leviton devices? @spalexander68, @Civilanchor, @medlock.ryan — did any of you manage to make progress with this?


1 Like

where did you find that Leviton DZPD3 firmware? I need to update a lot of these. Thanks.

Nope unfortunately not, still looking for an idea too

Unfortunately, I have not found a solution yet.

Can I get the Range Extender 6 hex? I want to compare it to what I did and see.

Hi @mbaran

I don't have the HEX file, but here's the ZIP file that Aeotec provided.

Range Extender 6 (Model: ZW-117)
Firmware: v1.05
Link: https://drive.google.com/file/d/11OdFKoKh1D-9Svg9GnaWEUSY_kGDnITk/

Hopefully you'll be able to extract the HEX out of the EXE file.

@bcopeland It appears that the Z-Wave Firmware Updater removes preceding 0's from the subversion number of the firmware for devices if it exists. Not a big deal but confusing.


1 Like

I have 2 Inovelli LZW42 bulbs that have version 2.28 on them. Looking to load 2.30 (the beta) on them. Installed the driver (thanks Bryan!), put the URL for the hex in... everything started but they never seem to actually update. The Inovelli site says it could take 3-40 minutes, no big deal since I just got these and do not yet have a spot for them. I left the first sitting overnight and came back to it still saying "Downloading firmware..." in the firmwareUpdateProgress Event.

I did make sure that the URL worked (downloaded a copy of the .hex to my PC).

Aborted that one, tried on the second bulb, same result at 2+ hours. Tried aborting, switched the driver back to the LZW42 (also Bryan's), off/on, turned off the fixture it was in, waited, turned it back on, then made sure the bulb was working again as a "POPO". Then started the process over again... This time I decided to have the Logs open and I found something:
groovyx.net.http.HttpResponseException: Not Found on line 374 (firmwareStore)

From the one time someone hit this before, it was an error because of the file not being RAW for Zooz. I am using the LZW42 2.30 Hex File that Inovelli specifically provides from their Inovelli Upgrade for Hubitat Page.

As a request for the Updater, @bcopeland, can we possibly get a message in the progress event when an error occurs here rather than it stalling and hoping we remembered to have the logs open?

I posted the file on my own website and used the URL from there... and it has already progressed further without error. So it seems like this is on Inovelli's end. I will let them know.

So it looks like it completed although it never actually said so (as I see it). The updater says "firmwareUpdateProgress : Complete device is flashing..." and the log shows "New image was successfully stored in temporary non-volatile memory. The device will now start storing the new image in primary non-volatile memory dedicated to executable code. Then the device will restart itself."
That was ~40 minutes ago (which was ~25 minutes after the debug log shows it starting to transfer packets)... the bulb definitely blinked shortly after that but I expected to have the status change to something that was more definitively completed. The log then has (I did a version report to check if it was really done):
2020-06-25 10:33:45.781 am [info] VersionReport- applicationVersion:2.30
2020-06-25 10:33:45.777 am [info] VersionReport- zWaveProtocolVersion:4.38
2020-06-25 09:50:57.581 am skip: SwitchMultilevelReport(value:25)
2020-06-25 09:50:46.821 am locked by:

So maybe it would be possible to build a "runIn" that triggers once the New Image message is received, to automatically check the version after 5 or 10 (or whatever) minutes?

I set the device back to the LZW42 driver and it seems to be working just fine (I will note any issues in THAT topic separately) and the new firmware version shows in the Device Details - Data after a Configure command.

Somewhere, way early in this thread is a discussion about this text. This does mean its complete.


1 Like

Yea.. I know what that issue is.. Discovered it in some of my drivers recently that I had to correct


trying to update an Innovelli LZW30-SN switch
(and i just did one successfully)

im getting "Please wake up your sleepy device"

i read the posts about sleepy device, but i not find solution

dev:257 2020-06-29 03:30:10.995 pm debug7A03031E0201223A00002800
dev:257 2020-06-29 03:30:10.969 pm debugFirmware Descriptor: [wFirmWareCommonSize:32733, wFirmWareBank1Size:31900, wFirmWareBank2Size:31094, wFirmWareBank3Size:29471, manufacturerId:798, firmwareId:513, checksum:32737] 
dev:257 2020-06-29 03:30:10.643 pm infocalculating crc...
dev:257 2020-06-29 03:30:09.482 pm debugOTZ Headers: [compressedLength:98032, crc16compressed:20657, unCompressedCrc16:7189, scramblingKey:a151903c6e0ff121ed0903cbeff0, firmwareDescriptorChecksum:32737, fastLzLevel:1]
dev:257 2020-06-29 03:30:09.430 pm infogot otz compressed image reading compression header
dev:257 2020-06-29 03:30:09.426 pm infofirmware total bytes: 98059
dev:257 2020-06-29 03:30:09.423 pm infoSorted all the bytes. cleaning up some memory...
dev:257 2020-06-29 03:30:09.417 pm debugParser: EOF
dev:257 2020-06-29 03:30:06.961 pm debugskip: MeterReport(scale: 0, rateType: 1, scale2: 0, deltaTime: 31, previousMeterValue: [0, 0, 0, 12], meterType: 1, precision: 3, size: 4, meterValue: [0, 0, 0, 14])
dev:257 2020-06-29 03:30:05.686 pm debugParser: 16 bit shift: 0x1
dev:257 2020-06-29 03:29:51.762 pm debugParser: 16 bit shift: 0x0
dev:257 2020-06-29 03:29:51.602 pm debugpacking all the bytes...
dev:257 2020-06-29 03:29:48.666 pm debugfirmwareMdReport: checksum 63878 firmwareId: 513 manufacturerId: 798 maxFragmentSize: null firmwareTargets: 0
dev:257 2020-06-29 03:29:48.656 pm debugFirmwareMDReport: FirmwareMdReport(manufacturerId:798, firmwareId:513, checksum:63878, firmwareUpgradable:false, numberOfTargets:0, maxFragmentSize:null, firmwareIds:[])
dev:257 2020-06-29 03:29:48.240 pm infoVersionReport- applicationVersion:1.9
dev:257 2020-06-29 03:29:48.232 pm infoVersionReport- zWaveProtocolVersion:6.4
dev:257 2020-06-29 03:29:47.843 pm infoFirmwareUpdateMd version:4
dev:257 2020-06-29 03:29:35.787 pm debugskip: MeterReport(scale: 0, rateType: 1, scale2: 0, deltaTime: 31, previousMeterValue: [0, 0, 0, 10], meterType: 1, precision: 3, size: 4, meterValue: [0, 0, 0, 12])

Hi all,
I've been working my way through this and couldn't figure out what to do after an apparent successful upgrade of my (first of 10) ZOOZ Zen27. I'm upgrading from 2.1 to 2.8.

I had to turn off the power, then I had to do a z-wave discovery to see the device, now with a new device ID.

Is this behavior correct, or am I doing something wrong?

Thank you

That is correct. Be sure to remove the old device from any apps that are in use, and only when the box in the device page [In Use By] is blank, delete the old device.

1 Like

I hope you first ran a z-wave exclude to remove an "unknown" z-wave device before adding the switch again. Not doing so will create a stranded z-wave device. Such devices will bog your z-wave network down.

1 Like

So, in other words, I have to recreate all of my programming when upgrading the firmware of the devices. Seems really odd (and something I won't be doing alot of, that's for sure!) :wink:

How can you exclude a device that doesn't exist anymore?