[RELEASE] Z-Wave Firmware Updater

Yup - all apps.

3 Likes

Wow upgraded my on/off switch today and worked great! Thanks for all your hard work!

2 Likes

Has anyone successfully updated their Inovelli Red Dimmer with the light bar firmware? I know the file is in .bin format and needs to be .hex. I used the Silicon Labs .bin to .hex tool and when I tried to load it onto the switch, I got the error firmwareUpdateProgress : Failed to find matching firmware.

Looking at the logs, it seems the .hex file maybe isn't in the expected format.

firmwareUpdateProgress Failed to find matching firmware DEVICE 2020-04-19 07:36:15.389 AM EDT
firmwareId FFFF DEVICE 2020-04-19 07:36:15.363 AM EDT
manufacturerId FFFF DEVICE 2020-04-19 07:36:15.360 AM EDT
firmwareUpdateProgress Calculating CRC... DEVICE 2020-04-19 07:36:15.213 AM EDT
firmwareUpdateProgress Padding hex bytes... DEVICE 2020-04-19 07:36:14.973 AM EDT
firmwareUpdateProgress Parsing firmware... DEVICE 2020-04-19 07:36:07.499 AM EDT
firmwareUpdateProgress Downloading firmware... DEVICE 2020-04-19 07:36:06.457 AM EDT
firmwareUpdateProgress got device current metadata DEVICE 2020-04-19 07:36:05.325 AM EDT
firmwareUpdateProgress Getting firmware meta data... DEVICE 2020-04-19 07:36:04.833 AM EDT
firmwareUpdateProgress Starting.. Getting current version DEVICE 2020-04-19 07:36:03.881 AM EDT
1 Like

I still have no luck with my LZW30's. This morning i did a factory reset on one of them and still no luck.

I did find that after the first time you attempt this and get a "sleepy device" message, the switch is actually is a bad state. PRessing the config button 3 times does not initiate pairing mode. Once you air-gap it, pairing mode will work again.

Don't know if that's helpful.

1 Like

Yep.. I ran into the same thing.. It’s not finding the firmware descriptor in the image

1 Like

I think I got past the Inovelli LZW30 issue! I noticed some LED activity during the update process and noticed the switch seems to not ever reply to two commands from this driver in a row without air gapping.

For anyone having trouble, try this:

  1. Abort and release lock of any prior attempts
  2. Air Gap your switch and plug it back in
  3. Start Firmware upgrade
  4. Watch the process, and watch for "Current Firmware version obtained" (or something similar to that)
  5. Immediately air-gap your switch and plug it back in (it has to be fully "re-booted" while the updater is downloading/parsing the firmware)
  6. For me the "Request to apply firmware", was then immediately successful

Unfortunately I cannot replicate again to see if it works since I dont have another LZW30 to try on.

14 Likes

That Worked!! I didnt even have to do step 4 & 5. i just air gaped the switch and then immediately hit the update firmware button. I missed the "Current Firmware version obtained" but the upload still went through. Thanks!

6 Likes

That worked for me also. I also like @EAN didn't have to do the last two step. Does it tell you that the update is done? etc.

1 Like

It sends the last message (as long as the device sends it) stating that it is complete and flashing and that it will restart when done..

But there is no standard for when the device boots back up so I have no way of representing that

I look at your video and mine is saying that it padding hex bytes does that mean it is writing to the device? I didn't see that terminology on your video and I know that each manufacturer does things differently? I also not getting the firmware load percent? may be normal Thanks for this it will make it easier for devices updates.

1 Like

The video used an OTA file which is a different format than a hex file.. hex files can contain large gaps where there should be filler 0xFF.. That's what that means.. it is filling memory any gaps in the firmware update file has with 0xFF which is what the standard calls for

3 Likes

Thanks for the explanation.

1 Like

anytime..

It been over an hour and it is still on the padding hex bytes? is there anything else I need to do or just wait??

2 Likes

Ok.. no.. it shouldn't take that long.. a minute tops.. Hit abort and start over.. I'm thinking it didn't get something right.. Maybe the hex download was missing something..

1 Like

Just tried this and got the same hang at padding hex bytes. Log shows:

2020-04-19 11:09:51.977 errorjava.lang.NullPointerException: Cannot invoke method and() on null object on line 461 (firmwareStore)

Wondering if maybe this is due to me trying to host on Dropbox and their share URLs can have "special" characters?

like "?dl=0" at the end...

1 Like

ahhh .. dropbox.. Special characters should not be an issue.. In fact my early testing all had httpget variables.. But it may be similar to the issue that another user had with google drive..

As I am not familiar with dropbox (as I don't use it) .. I'm not sure here..

What are you trying to update?

it acts like it downloaded. But I imagine given the output... it didn't. Zooz ZEN27. So an otz file.

Full log entries:

dev:14412020-04-19 11:15:08.596 errorjava.lang.NullPointerException: Cannot invoke method and() on null object on line 461 (firmwareStore)
dev:14412020-04-19 11:15:08.547 infofirmware total bytes: 0
dev:14412020-04-19 11:15:08.543 infoSorted all the bytes. cleaning up some memory...
dev:14412020-04-19 11:15:05.073 infoVersionReport- applicationVersion:2.1
dev:14412020-04-19 11:15:05.070 infoVersionReport- zWaveProtocolVersion:5.3
dev:14412020-04-19 11:15:04.670 infoFirmwareUpdateMd version:4

1 Like