open-zwave icon indicating copy to clipboard operation
open-zwave copied to clipboard

Support for firmware update

Open RadoslavMarinov opened this issue 5 years ago • 24 comments

Is there support for over the air (OTA) firmware update of devices. COMMAND_CLASS_FIRMWARE_UPDATE I was searching http://www.openzwave.com/dev/index.html but I can not find API to support it.

RadoslavMarinov avatar Jul 31 '18 16:07 RadoslavMarinov

No. someone needs to write it.

Fishwaldo avatar Aug 01 '18 08:08 Fishwaldo

Aeotech just announced that they worked with HomeSeer to get OTA updates working for at least their devices. Bitdog LLC would be willing to donate a small bounty to this feature development. Would anyone else be willing to contribute to a bounty?

vincemic avatar Oct 31 '18 15:10 vincemic

Are there really firmware files available for devices? The Aeotec ones I have can have the firmware updated using their own executables, the firmwares are not available separately.

aromanro avatar Nov 14 '18 12:11 aromanro

You can download "hec" files from the support site at Aeotec... but I had a cursory glance at the headers and couldn't deduce the format.. I suspect they might be encrypted.

Fishwaldo avatar Nov 14 '18 16:11 Fishwaldo

zwave.me has updates available for at least their razberry board. These are available for download from the z-way.me software. I installed the latest firmware into my board and got much snappier response to commands issued to all devices in my network. Selected other devices are also showing an option to have a firmware update uploaded. My guess is that this is based on detected command classes. A.o. my fibaro double switch 2 and dimmer 2 are shown to have this update feature. Don't know where to get the files to upload though, nor if they even can be downloaded anywhere.

rrozema avatar Jan 20 '19 08:01 rrozema

I got a new FW for my Philio PAN04-01B a year ago or so, but to be able to use it I had to purchase the HomeSeer Z-Flash utility. It was the only (or most straight forward) universal software I could find, at that time. It worked fine but not the smoothest solution to first need to stop the running application (Domoticz) and then start Z-Flash, select COM-port etc...

OZW built in feature would of course be very appreciated, I believe also it would in some way promote manufactures to release their FW more often if it is not giving them headache due to lack in/complicated flashing options...

Thanks!

RicardP avatar May 13 '19 15:05 RicardP

Supporting OTA updates would be amazing.

niemyjski avatar Mar 29 '20 17:03 niemyjski

I'm also willing to contribute to a bounty for this feature. If there is a doc on how to help on the coding part, I can also do my best there,

sveip avatar Apr 09 '20 18:04 sveip

+1 to this, Zooz files aren't available publicly, but they'll readily email updates to purchasers.

cliffbraun avatar Apr 30 '20 19:04 cliffbraun

@Fishwaldo I was reading up on the protocol spec for COMMAND_CLASS_FIRMWARE_UPDATE_MD, and I noticed the following.

The Firmware Update Meta Data Command Class may be used to transfer a firmware image to or from a Z-Wave node.

Here. In section 4.20 Firmware Update Meta Data Command Class, version 7. The same text applies to versions 4 through 7. (I will concede that the few devices I've tested from Aeotec, only seem to support v3.. but then again, the updater software only tries v3.. )

In principal, if the node supports it, it should be possible to fetch the firmwares from the devices themselves. In theory, a community effort could gather all firmwares from devices .. :)

Also. In another issue, you mentioned the firmwares are embedded and not extractable. At least for Aeotec/AEON labs, their software is a .NET binary which can easily be decompiled using Jetbrains Dotpeek. In it, I found a resources section (.NET resources) which contains base64 encodings of what I presume is the firmware.

I've written (also) to Aeotec asking for the firmwares themselves, but after reading other comments I think that's a non-starter.. sadly.

LordMike avatar Jun 22 '20 23:06 LordMike

Aeotec are happy to send you the firmware files in my experience. They sent me the Doorbell 6 fw files when I asked.

On Tue, Jun 23, 2020, 01:19 Michael Bisbjerg [email protected] wrote:

@Fishwaldo https://github.com/Fishwaldo I was reading up on the protocol spec for COMMAND_CLASS_FIRMWARE_UPDATE_MD, and I noticed the following.

The Firmware Update Meta Data Command Class may be used to transfer a firmware image to or from a Z-Wave node.

In principal, if the node supports it, it should be possible to fetch the firmwares from the devices themselves. In theory, a community effort could gather all firmwares from devices .. :)

Also. In another issue https://github.com/OpenZWave/open-zwave/issues/1057#issuecomment-267900174, you mentioned the firmwares are embedded and not extractable. At least for Aeotec/AEON labs, their software is a .NET binary which can easily be decompiled using Jetbrains Dotpeek. In it, I found a resources section (.NET resources) which contains base64 encodings of what I presume is the firmware.

I've written (also) to Aeotec asking for the firmwares themselves, but after reading other comments I think that's a non-starter.. sadly.

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/OpenZWave/open-zwave/issues/1563#issuecomment-647816537, or unsubscribe https://github.com/notifications/unsubscribe-auth/ABLR4LY5PTZOZKLDJ4TRQKLRX7RJTANCNFSM4FNCM4QQ .

sveip avatar Jun 23 '20 05:06 sveip

I got a reply from Aeotec, saying that the HEC files are actually encrypted .. damn. Apparently HomeSeer can decrypt them... Why the f....

Anyhoo. I can get the HEC files, but they're not useful for me until we can decrypt them.

Aeotec did say they were working on using a feature of the Z-wave chip, to allow that to decrypt the binaries instead. Meaning we can happily ship encrypted firmwares, as if they were just binaries..

What a stinking pile of poo... :|

LordMike avatar Jun 23 '20 08:06 LordMike

Maybe I got this wrong, but they sent me an archive (OTA of ZW162_Doorbell 6_EU_V1_04.zip) that I flashed the product with from the Silabs SW. AFIK it's the standard FW upgrade mechanism supported by Z-wave?

tir. 23. jun. 2020 kl. 10:26 skrev Michael Bisbjerg < [email protected]>:

I got a reply from Aeotec, saying that the HEC files are actually encrypted .. damn. Apparently HomeSeer can decrypt them... Why the f....

Anyhoo. I can get the HEC files, but they're not useful for me until we can decrypt them.

Aeotec did say they were working on using a feature of the Z-wave chip, to allow that to decrypt the binaries instead. Meaning we can happily ship encrypted firmwares, as if they were just binaries..

What a stinking pile of poo... :|

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/OpenZWave/open-zwave/issues/1563#issuecomment-647991540, or unsubscribe https://github.com/notifications/unsubscribe-auth/ABLR4LYVTMKYDSIV5YYS54TRYBRJ5ANCNFSM4FNCM4QQ .

sveip avatar Jun 23 '20 08:06 sveip

Nice. Could you share it with me, @sveip? .. I have that product too.. so I'd be covered there :)

LordMike avatar Jun 23 '20 09:06 LordMike

I will look for the file when I get home, it was a wetransfer link, and when I checked now it was expired. It is hopefully still on my laptop.

tir. 23. jun. 2020 kl. 11:03 skrev Michael Bisbjerg < [email protected]>:

Nice. Could you share it with me, @sveip https://github.com/sveip? .. I have that product too.. so I'd be covered there :)

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/OpenZWave/open-zwave/issues/1563#issuecomment-648011214, or unsubscribe https://github.com/notifications/unsubscribe-auth/ABLR4L4GVHGTLAZOFJ7ZTELRYBVX3ANCNFSM4FNCM4QQ .

sveip avatar Jun 23 '20 09:06 sveip

Just for good measure, I received 1.06 firmwares for ZW162 and ZW164

OTA of ZW162_Doorbell 6_EU_V1_06.zip

OTA of ZW164_Siren 6_EU_V1_06.zip

Mike.

LordMike avatar Aug 05 '20 16:08 LordMike

The current upgrade process for Inovelli devices FYI: https://support.inovelli.com/portal/en/kb/articles/how-to-s-general-how-to-update-firmware-z-stick-z-wave-pc-controller#What_Youll_Need

marleyjaffe avatar Sep 04 '20 08:09 marleyjaffe

Interesting development over at Hubitat on the same topic. https://community.hubitat.com/t/sneak-peek-z-wave-firmware-updating-inside-he/35836/26

tokyotexture avatar Sep 06 '20 15:09 tokyotexture

@tokyotexture yes that was very interesting reading!

RicardP avatar Sep 06 '20 17:09 RicardP

It probably doesn't help much, but Zooz has basically the same instructions for OTA updates:
https://www.support.getzooz.com/kb/article/253-how-to-perform-an-ota-firmware-update-on-zooz-devices/

The problem for me is I don't have easy access to a Windows machine, so while I have the new firmware for my switches, I cannot update them without borrowing a computer. So I would love to see this supported directly with OZW (which I'm using on HomeAssistant).

OverZealous avatar Oct 14 '20 22:10 OverZealous

Is there any update on this?

barti04 avatar Dec 21 '20 11:12 barti04

HEC encryption is AES256 CBC using key b"\xd7\xa6\x8d\xef\x0fJ\x12A\x94\x0fl\xb8\x01q!\xd1_\x0e&\x82\xe2X\xc9\xf7U>pn\x83I#\xb7" and IV b"\x0ee\x19)u0X7\x08a*(#f8D" (Python byte string format). These values are generated when executing the Homeseer flash utility.

https://gist.github.com/silverairedale/e560eebcace43e95da7c74aa82dd824c

silverairedale avatar Apr 19 '21 01:04 silverairedale

any news here? Where can i join to raise the bounty?

VaillantHassIo avatar Jan 13 '22 14:01 VaillantHassIo

I'm unsubscribing from this - I've moved wholly to zwavejs, which does support OTA updates, even from a number of formats including Aeotec's exe files.

LordMike avatar Jan 13 '22 14:01 LordMike