Zwavejs2mqtt: Update Aeotec Nano Dimmer firmware not working

Created on 7 Feb 2021  路  28Comments  路  Source: zwave-js/zwavejs2mqtt

I've downloaded the EU version of the latest Aeotec Nano Dimmer (v2.03) from aeotecs support site. Changed the name of the .ex_ file to .exe.

When I try to update the old device (v1.2?) I get the message: Error while calling api beginFirmwareUpdate: Unable to extract firmware from file: This does not appear to be a valid Aeotec updater (invalid firmware length)!

What am I doing wrong?

question

All 28 comments

@atterdal send me the file please (and you don't need to rename either)

The .exe file's in that zip. Thank you!

I believe that EXE is the standalone firmware update w/ an EXE designed to be used as an executable whilst the Aeotec stick is plugged into your PC. Ie, it is not the raw hex version you would need for a firmware update through a controller like ZWaveJS2MQTT.

Not for this particular one, but I have found there are people on various forums that have extracted the hex firmware out of the exe and posted the file for download to use.

Example:
https://forums.homeseer.com/forum/homeseer-products-services/system-software-controllers/z-flash-software/105783-hex-file-for-aeotec-multisensor-6

@scott7685 zwave-js supports extracting the raw firmware from Aeotec updater exes.

MIND = BLOWN @AlCalzone

That is phenomenal. I have used it to upload the extracted hex but have never tried a full exe

@atterdal seems like that file had another variation that I haven't encountered yet. The linked PR should fix this.

There's a standard for everything I guess. Thank you so much!

There's a standard for everything I guess

Not when it comes to reverse-engineering 馃槄

@AlCalzone Faced the same with TriSensor, I will try to test with your PR

It seems that it's the same issue with v3.02 EU firmware of Aeotec ZW132. Please see the firmware below:
https://aeotec.freshdesk.com/helpdesk/attachments/6120512641

Found it - just a matter of allowing spaces in the embedded firmware name. Fix is on the way.

I've pulled the latest Docker image (master, updated 8 hours ago) but I still get the same error message.

Is the Docker not in sync with this repo?

@atterdal Docker image is sync with zwavejs2mqtt master branch, and latest zwave-js __release__

Too be safe I waited for new release and updated to latest master on docker. Still get this message when trying to update:

zwavejs2mqtt     | 2021-02-17 13:42:47.495 INFO ZWAVE: Failed to start the update: Invalid manufacturer or firmware id! beginFirmwareUpdate {
zwavejs2mqtt     |   success: false,
zwavejs2mqtt     |   message: 'Failed to start the update: Invalid manufacturer or firmware id!'
zwavejs2mqtt     | }


Is it related to the node I'm trying to update register as "Unkown product 111" from "Unkown Manufacturer 134"?
Sk盲rmavbild 2021-02-17 kl  14 50 15

Hmm, my test case with current node-zwave-js master still works. So there's probably some version mismatch.

It says "App version: 1.1.1" "Zwavejs Version: 6.4.0"

You did load the exe from the zip file above?
@robertsLando maybe another artefact of the duplicate dependencies due to zwave-js-server?

Yes, same .exe as I sent before. Is it expected that the node shows up as "Unkown product 111" and "Unkown manufacturer 134"?

@robertsLando maybe another artefact of the duplicate dependencies due to zwave-js-server?

I'm waiting for the new beta 7 release, that should be fixed then

@atterdal just to be sure, are you using master or dev tag ?

@robertsLando master

Ok that should have the latest things so. Sincerly I dunno what's wrong here :( Could be related to the mess with zwave-jjs server deps but need to wait a new beta release

Hi!
@robertsLando - I have a bunch of Heltun Devices that i need to firmware update, and was hoping that
ZWaveJSMQTT would help me to do. I can use my firmware update files in the ZWave.me application, but am unable to update through ZwaveJSmqtt. No issues adding them to my controller, but when i try a OTA update it gives me
"Error when calling API befinFirmwareUpdate: Unable to extract firmware from file: Could not parse HEX firmware file!"

image

Attached the .ota file zipped if you can see anything that makes the update crash?

TPS03_EU_v2_3_3.zip

Hi!
@robertsLando - I have a bunch of Heltun Devices that i need to firmware update, and was hoping that
ZWaveJSMQTT would help me to do. I can use my firmware update files in the ZWave.me application, but am unable to update through ZwaveJSmqtt. No issues adding them to my controller, but when i try a OTA update it gives me
"Error when calling API befinFirmwareUpdate: Unable to extract firmware from file: Could not parse HEX firmware file!"

image

Attached the .ota file zipped if you can see anything that makes the update crash?

TPS03_EU_v2_3_3.zip

And - as @atterdal above, my device is also "unknown" manufacturer by zwavejsmqtt.
image

Is there a way to make zwavejs read the manufacturer xml from the device? Zwave.me can read this. :)

@johanschelin can you open a new issue for this in https://github.com/zwave-js/node-zwave-js please?

For the record, using zwjs2mqtt 5.2 zwjs 7.10, was successful in updating .exe firmware to Aeotec HEM-G5.

Was this page helpful?
0 / 5 - 0 ratings