Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update Aeotec Nano Dimmer firmware not working #493

Closed
atterdal opened this issue Feb 7, 2021 · 28 comments · Fixed by zwave-js/node-zwave-js#1639 or zwave-js/node-zwave-js#1702
Closed
Assignees
Labels
question Further information is requested

Comments

@atterdal
Copy link

atterdal commented Feb 7, 2021

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?

@atterdal atterdal added the question Further information is requested label Feb 7, 2021
@robertsLando
Copy link
Member

robertsLando commented Feb 7, 2021

@AlCalzone
Copy link
Member

AlCalzone commented Feb 7, 2021

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

@atterdal
Copy link
Author

atterdal commented Feb 7, 2021

@atterdal
Copy link
Author

atterdal commented Feb 7, 2021

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

@scott7685
Copy link

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

@AlCalzone
Copy link
Member

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

@scott7685
Copy link

MIND = BLOWN @AlCalzone

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

@AlCalzone
Copy link
Member

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

@atterdal
Copy link
Author

atterdal commented Feb 7, 2021

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

@AlCalzone
Copy link
Member

There's a standard for everything I guess

Not when it comes to reverse-engineering 😅

@varet80
Copy link
Collaborator

varet80 commented Feb 7, 2021

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

@razvanws
Copy link

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

@AlCalzone
Copy link
Member

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

@atterdal
Copy link
Author

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?

@robertsLando
Copy link
Member

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

@atterdal
Copy link
Author

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

@AlCalzone
Copy link
Member

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

@atterdal
Copy link
Author

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

@AlCalzone
Copy link
Member

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

@atterdal
Copy link
Author

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

@robertsLando
Copy link
Member

@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

@robertsLando
Copy link
Member

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

@atterdal
Copy link
Author

@robertsLando master

@robertsLando
Copy link
Member

robertsLando commented Feb 17, 2021

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

@johanschelin
Copy link

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

@johanschelin
Copy link

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. :)

@AlCalzone
Copy link
Member

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

@tommyjlong
Copy link

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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
question Further information is requested
Projects
None yet
8 participants