[RELEASE] Z-Wave Firmware Updater

Boo. Finally failed at 13%. Probably just too much other traffic. =/

dev:14412020-04-19 11:35:30.131 debuglocked by:
dev:14412020-04-19 11:35:30.110 warnThe device was unable to receive the requested firmware data
dev:14412020-04-19 11:35:18.032 errorgroovy.lang.GroovyRuntimeException: Ambiguous method overloading for method java.lang.Integer#multiply.
Cannot resolve which method to invoke for [null] due to overlapping prototypes between:
[class java.lang.Character]
[class java.lang.Number] on line 148 (parse)
dev:14412020-04-19 11:35:06.033 errorgroovy.lang.GroovyRuntimeException: Ambiguous method overloading for method java.lang.Integer#multiply.
Cannot resolve which method to invoke for [null] due to overlapping prototypes between:
[class java.lang.Character]
[class java.lang.Number] on line 148 (parse)
dev:14412020-04-19 11:34:54.061 errorgroovy.lang.GroovyRuntimeException: Ambiguous method overloading for method java.lang.Integer#multiply.
Cannot resolve which method to invoke for [null] due to overlapping prototypes between:
[class java.lang.Character]
[class java.lang.Number] on line 148 (parse)
dev:14412020-04-19 11:34:42.111 errorgroovy.lang.GroovyRuntimeException: Ambiguous method overloading for method java.lang.Integer#multiply.
Cannot resolve which method to invoke for [null] due to overlapping prototypes between:
[class java.lang.Character]
[class java.lang.Number] on line 148 (parse)
dev:14412020-04-19 11:34:30.004 errorgroovy.lang.GroovyRuntimeException: Ambiguous method overloading for method java.lang.Integer#multiply.
Cannot resolve which method to invoke for [null] due to overlapping prototypes between:
[class java.lang.Character]
[class java.lang.Number] on line 148 (parse)
dev:14412020-04-19 11:34:23.932 errorgroovy.lang.GroovyRuntimeException: Ambiguous method overloading for method java.lang.Integer#multiply.
Cannot resolve which method to invoke for [null] due to overlapping prototypes between:
[class java.lang.Character]
[class java.lang.Number] on line 148 (parse)
dev:14412020-04-19 11:34:23.725 errorgroovy.lang.GroovyRuntimeException: Ambiguous method overloading for method java.lang.Integer#multiply.
Cannot resolve which method to invoke for [null] due to overlapping prototypes between:
[class java.lang.Character]
[class java.lang.Number] on line 148 (parse)
dev:14412020-04-19 11:34:22.118 errorgroovy.lang.GroovyRuntimeException: Ambiguous method overloading for method java.lang.Integer#multiply.
Cannot resolve which method to invoke for [null] due to overlapping prototypes between:
[class java.lang.Character]
[class java.lang.Number] on line 148 (parse)
dev:14412020-04-19 11:34:18.675 errorgroovy.lang.GroovyRuntimeException: Ambiguous method overloading for method java.lang.Integer#multiply.
Cannot resolve which method to invoke for [null] due to overlapping prototypes between:
[class java.lang.Character]
[class java.lang.Number] on line 148 (parse)
dev:14412020-04-19 11:34:18.407 errorgroovy.lang.GroovyRuntimeException: Ambiguous method overloading for method java.lang.Integer#multiply.
Cannot resolve which method to invoke for [null] due to overlapping prototypes between:
[class java.lang.Character]
[class java.lang.Number] on line 148 (parse)
dev:14412020-04-19 11:34:18.235 errorgroovy.lang.GroovyRuntimeException: Ambiguous method overloading for method java.lang.Integer#multiply.
Cannot resolve which method to invoke for [null] due to overlapping prototypes between:
[class java.lang.Character]
[class java.lang.Number] on line 148 (parse)
dev:14412020-04-19 11:34:18.145 errorgroovy.lang.GroovyRuntimeException: Ambiguous method overloading for method java.lang.Integer#multiply.
Cannot resolve which method to invoke for [null] due to overlapping prototypes between:
[class java.lang.Character]
[class java.lang.Number] on line 148 (parse)
dev:14412020-04-19 11:34:18.138 errorgroovy.lang.GroovyRuntimeException: Ambiguous method overloading for method java.lang.Integer#multiply.
Cannot resolve which method to invoke for [null] due to overlapping prototypes between:
[class java.lang.Character]
[class java.lang.Number] on line 148 (parse)
dev:14412020-04-19 11:34:06.033 errorgroovy.lang.GroovyRuntimeException: Ambiguous method overloading for method java.lang.Integer#multiply.
Cannot resolve which method to invoke for [null] due to overlapping prototypes between:
[class java.lang.Character]
[class java.lang.Number] on line 148 (parse)
dev:14412020-04-19 11:33:54.072 errorgroovy.lang.GroovyRuntimeException: Ambiguous method overloading for method java.lang.Integer#multiply.
Cannot resolve which method to invoke for [null] due to overlapping prototypes between:
[class java.lang.Character]
[class java.lang.Number] on line 148 (parse)
dev:14412020-04-19 11:33:44.720 errorgroovy.lang.GroovyRuntimeException: Ambiguous method overloading for method java.lang.Integer#multiply.
Cannot resolve which method to invoke for [null] due to overlapping prototypes between:
[class java.lang.Character]
[class java.lang.Number] on line 148 (parse)
dev:14412020-04-19 11:33:43.953 errorgroovy.lang.GroovyRuntimeException: Ambiguous method overloading for method java.lang.Integer#multiply.
Cannot resolve which method to invoke for [null] due to overlapping prototypes between:
[class java.lang.Character]
[class java.lang.Number] on line 148 (parse)
dev:14412020-04-19 11:33:42.224 errorgroovy.lang.GroovyRuntimeException: Ambiguous method overloading for method java.lang.Integer#multiply.
Cannot resolve which method to invoke for [null] due to overlapping prototypes between:
[class java.lang.Character]
[class java.lang.Number] on line 148 (parse)
dev:14412020-04-19 11:33:32.663 debuglocked by:
dev:14412020-04-19 11:33:32.642 warnERROR. Device expected an authentication event to enable firmware update
dev:14412020-04-19 11:21:19.234 infoOK. The device will initiate the firmware update of the target specified in the Firmware Update Meta Data Request Get Command
dev:14412020-04-19 11:21:16.191 infocalculating crc...
dev:14412020-04-19 11:21:10.161 infogot otz compressed image reading compression header
dev:14412020-04-19 11:21:10.158 infofirmware total bytes: 90393
dev:14412020-04-19 11:21:10.155 infoSorted all the bytes. cleaning up some memory...
dev:14412020-04-19 11:20:28.451 infoVersionReport- applicationVersion:2.1
dev:14412020-04-19 11:20:28.448 infoVersionReport- zWaveProtocolVersion:5.3
dev:14412020-04-19 11:20:28.082 infoFirmwareUpdateMd version:4

1 Like

I think I bricked a invelli red switch (gen 2). I started it last night and it got stuck at 26% and now the switch is unresponsive. Here is the log.

dev:1012020-04-19 08:09:46.024 am errorjava.lang.NullPointerException: Cannot invoke method split() on null object on line 427 (childOff)
dev:1012020-04-19 08:08:14.147 am debuglocked by: 
dev:1012020-04-19 08:05:39.027 am infocalculating crc...
dev:1012020-04-19 08:05:38.479 am infogot otz compressed image reading compression header
dev:1012020-04-19 08:05:38.476 am infofirmware total bytes: 97555
dev:1012020-04-19 08:05:38.473 am infoSorted all the bytes. cleaning up some memory...
dev:1012020-04-19 08:05:12.974 am infoVersionReport- applicationVersion:1.9
dev:1012020-04-19 08:05:12.966 am infoVersionReport- zWaveProtocolVersion:6.4
dev:1012020-04-19 08:05:11.923 am infoVersionReport- applicationVersion:1.9
dev:1012020-04-19 08:05:11.921 am infoVersionReport- zWaveProtocolVersion:6.4
dev:1012020-04-19 08:05:11.589 am infoVersionReport- applicationVersion:1.9
dev:1012020-04-19 08:05:11.573 am infoVersionReport- zWaveProtocolVersion:6.4
dev:1012020-04-19 08:05:11.550 am infoVersionReport- applicationVersion:1.9
dev:1012020-04-19 08:05:11.547 am infoVersionReport- zWaveProtocolVersion:6.4
dev:1012020-04-19 08:05:02.841 am infoFirmwareUpdateMd version:4
dev:1012020-04-19 08:04:58.150 am infoFirmwareUpdateMd version:4
dev:1012020-04-19 08:04:58.147 am infoFirmwareUpdateMd version:4
dev:1012020-04-19 08:04:41.517 am debuglocked by: 
dev:1012020-04-19 08:04:37.335 am debuglocked by: 
dev:1012020-04-18 11:20:40.413 pm infoOK. The device will initiate the firmware update of the target specified in the Firmware Update Meta Data Request Get Command
dev:1012020-04-18 11:20:34.499 pm infoOK. The device will initiate the firmware update of the target specified in the Firmware Update Meta Data Request Get Command
dev:1012020-04-18 11:20:33.911 pm infoOK. The device will initiate the firmware update of the target specified in the Firmware Update Meta Data Request Get Command
dev:1012020-04-18 11:20:26.197 pm infocalculating crc...
dev:1012020-04-18 11:20:25.896 pm infogot otz compressed image reading compression header
dev:1012020-04-18 11:20:25.893 pm infofirmware total bytes: 97555
dev:1012020-04-18 11:20:25.890 pm infoSorted all the bytes. cleaning up some memory...
dev:1012020-04-18 11:20:24.415 pm infocalculating crc...
dev:1012020-04-18 11:20:24.034 pm infogot otz compressed image reading compression header
dev:1012020-04-18 11:20:24.031 pm infofirmware total bytes: 97555
dev:1012020-04-18 11:20:24.028 pm infoSorted all the bytes. cleaning up some memory...
dev:1012020-04-18 11:20:21.922 pm errororg.apache.http.client.ClientProtocolException: null on line 374 (firmwareStore)
dev:1012020-04-18 11:20:20.952 pm infocalculating crc...
dev:1012020-04-18 11:20:20.186 pm infogot otz compressed image reading compression header
dev:1012020-04-18 11:20:20.180 pm infofirmware total bytes: 97555
dev:1012020-04-18 11:20:20.175 pm infoSorted all the bytes. cleaning up some memory...
dev:1012020-04-18 11:20:19.013 pm infocalculating crc...
dev:1012020-04-18 11:20:18.690 pm infocalculating crc...
dev:1012020-04-18 11:20:18.263 pm infogot otz compressed image reading compression header
dev:1012020-04-18 11:20:18.251 pm infofirmware total bytes: 97555
dev:1012020-04-18 11:20:18.247 pm infoSorted all the bytes. cleaning up some memory...
dev:1012020-04-18 11:20:17.248 pm infogot otz compressed image reading compression header
dev:1012020-04-18 11:20:17.245 pm infofirmware total bytes: 97555
dev:1012020-04-18 11:20:17.241 pm infoSorted all the bytes. cleaning up some memory...
dev:1012020-04-18 11:20:16.662 pm errororg.apache.http.client.ClientProtocolException: null on line 374 (firmwareStore)
dev:1012020-04-18 11:20:14.586 pm infocalculating crc...
dev:1012020-04-18 11:20:11.882 pm infogot otz compressed image reading compression header
dev:1012020-04-18 11:20:11.875 pm infofirmware total bytes: 97555
dev:1012020-04-18 11:20:11.869 pm infoSorted all the bytes. cleaning up some memory...
1 Like

That's a new one ..

ERROR. Device expected an authentication event to enable firmware update

Also this one is concerning:

groovy.lang.GroovyRuntimeException: Ambiguous method overloading for method java.lang.Integer#multiply.
Cannot resolve which method to invoke for [null] due to overlapping prototypes between:
[class java.lang.Character]
[class java.lang.Number] on line 148 (parse)

The device was unable to receive the requested firmware data

Give me a few minutes to digest this ...

1 Like

Wow.. Ok.. No you shouldn't have bricked it..

But it appears as though you had 2 processes running at the same time.. I have no idea how this happened.. did you rapidly double click on the UpdateFirmware button? ..

I have provisions to prevent this but if it happens too fast it may not catch it..

But when your device starts firmware updating it is in a different mode .. Since it didn't finish, rebooting the switch should make it work again.. Pull the air-gap tab and then re-insert it.

1 Like

But it appears as though you had 2 processes running at the same time.. I have no idea how this happened.. did you rapidly double click on the UpdateFirmware button? ..

Good question - I don't think so. But what I did do was press the get version report button - which took forever... so I decided to move ahead with the firmware update and pressed the update button.

I'm not sure what the air-gap tab is... let me google it. Thanks for the tip!

Once we get these kinks worked out, this is going to be such a great tool - thanks for working on it!

2 Likes

Hit abort on the updater, change the driver back to the inovelli driver, and hit the air gap. it'll come back to life.

1 Like

1 Like

Yay! I pulled the air-gap, and it's revived. Thanks!

I'm going to take another crack at the update :slight_smile:

1 Like

Ok @staze Did you click on anything else ? or try to update another device at the same time?..

I’ve run through my code and that value becoming null should only be possible with one of those 2 events

Nope. hit update, and kept a watch on the percent in the driver, and the logs...

1 Like

make sure you follow the specific steps for the Inovellis:

1 Like

Ok.. Researching some more..

So I think it's related to this : ERROR. Device expected an authentication event to enable firmware update..

Give me a few more minutes on this one..

Is this still the ZEN27?

Yup. Only device I currently have that needs a firmware update that I actually have. =) If it helps, I think there's at least one Zooz rep that frequents the forums...

1 Like

Ok.. @staze can you try again.. I just researched the product and it shouldn't need authentication part.. But it sent it.. So I'm thinking maybe a physical button press happened or something to trigger it to abort..

No button press I could see (I'm looking in that general direction). Will give it another shot.

1 Like

Let me know

@bcopeland
Sorry but I'm a little confused with the "Type in the URL for the firmware update file".
So I do not download the Firmware file to my PC, but instead copy the URL from the page were the Firmware file is list to download from?

Like for the Inovelli Red Dimmer, Firmware v1.41 (Beta) | LZW31-SN | Dimmer - Red Series (Gen 2).

I would just copy the URL : https://support.inovelli.com/portal/kb/articles/firmware-beta-lzw31-sn-dimmer-red-series-gen-2
And past that in the " Update Firmware command and then click Update Firmware"?

I'm more of a hardware person then a software person. So right now I feel like a deer looking into cars headlights with my confusion, lol

1 Like

Yes there is no method in the driver framework that would allow me to do an upload from the gui

1 Like

So it has to be hosted on a web site.. Some are using google drive and dropbox..

But the inovelli one is hosted on their website..

1 Like

Thanks!

1 Like