Upgrading Aeotec Stick Gen 5 and restore NVM with error

Due to my entire network just dissapering i was adviced to upgrade the Aeostick Gen 5 to FW 1.2 and SDK V 6.7.0 I did so using the Aeotec tools. Before I did this I took a NVM Backup :


After reconecting the stick and HASS finding it I tried to restore this backup (i downloaded the file to my Win PC and used the restore under Advanced → NVM Management:
When attempting this i get the following error after conversion of the data is done:
2022-09-16 23:51:00.633 INFO ZWAVE: Did not find a matching NVM 500 parser implementation! Make sure that the NVM data belongs to a controller with Z-Wave SDK 6.61 or higher. (ZW0280) restoreNVM undefined

As far as I can see the Stick meets the requirements? Please advice!

The NVM formats between 1.0 and 1.2 are incompatible. That’s what the error message is telling you

My orgininal stick was Aeon Stick Gen5 and FW: v1.1 SDK: v4.54.0

Shi… Meaning I have to manualy add all my nodes again?

The important part is the SDK version. Z-Wave JS cannot convert NVM backups prior to SDK v6.61, so v4.54.0 is not compatible. You probably could have restored prior to the upgrade.

Perhaps the Aeotec software can restore with different versions, but you would have had to use their tool. Or maybe it wouldn’t have. The warnings on the update page are pretty vague.

This from Github when this issue was reported as a bug:
To clarify: when transferring the NVM between two 500 series sticks, the protocol version of both firmwares must normally be the same. If both are from Z-Wave SDK 6.61 or higher, an automatic conversion will be done to lift this constraint. Conversion between <6.61 and >=6.61 NVMs is not possible though

I have tried to use the backuptool but it does not work. Is it possibel to downgrade to the original SDK → perform the restore and the upgrade again?

No, you can’t downgrade controllers.

There is a factory reset (holding the reset button in for more that 20s until blue light). Does that not restore the original FW on the stick?

Im anot sure if this is correct but I have the impression that during the upgrade process the reset button must be pressed until you get the message to release it. Is this not a factory reset. If you are upgrading from a SDK < 6.61 and having taken a backup using the tool this backup can be restored (I am not sure as the documentation is very vague). The problem is that my backup was made inside HASS in the Zwave JS (2 MQTT) UI…

Can I ask you a follow up question about readding all the nodes… All nodes are gone from ZWave JS WEB UI. But all devices are still present under devices. I use node red and all my flows are with these devices. How can I add the nodes again and include them in current flows so that I do not have to rewrite all flows?

I might have been to hasty:

Data is writen to the stick so lets see if the backup file is accepted after its loaded…

Follow up: No errors from the tools software . Even though the write seems to go ok there is no nodes on the stick. Cheking with the IMA tool and When restarting HASS and entering the Web UI of Zwave JS… No nodes except the stick is visible…

Solution : Unfortunately to rebuild the entire Zwave Network by adding all nodes again.
Advice Check your FW version when u buy a Gen 5 stick and upgrade if nessesary.
Advice: Take regular backups

Sounds like this confirms my suspicion that one should never update firmware on a working zwave stick. Instead buy a second stick, upgrade it and try to restore. This way you can always fall back to a working stick if that upgrade process fails.

I think that is a good practice. I have now worked two full days to get the network back and still not finished, It is a low hourely rate to pay by buying a second stick. In fact I have a second gen 7 stick but I did not think about it the way you suggest…

All in all this problem has been a combination of bugs, lacking documentation and weak procedure employed from me. I am sick and tired of ZWave and i am no novice as I am on my forth controller 2x Vera , 1 Homeseer and Homeassistant… All having zwave issues making it very difficult to use them for security sensitive issues. The worst so far has actualy been HomeAssistant as I have never before lost my entire network. On the other hand Homeassistant is by far the best and most advanced system and its constantly beeing workerd on

I will slowly migrate to Zigbee and WIFI devices like the Shelly line…

I find my self in this same situation :frowning:

My prod stick is Aoetec Gen 5 running 1.1 which is on the old version of the SDK, I am trying to move to a Gen 7 stick and encountered this NVM conversion issue. So it seems I’ll need to upgrade the Gen 5 stick to 1.2 in order to be on a compatible SDK.

However, the warning on the Aeotec site make this impractical to do, since it seems like there is a very real chance of bricking the controller or losing the NVM.

So, I pulled out my spare Gen 5 stick that I have as a backup in case the prod one fails. Of course it is on v1.2 already, so I can’t do an NVM restore to it either.

So, the only remaining choice is to try using the Aoetec tools to see if this works:

  • take a backup of the 1.1 stick
  • restore to the 1.2 stick
  • plug the 1.2 stick into NAS and attach it to zwavejsui, see if the network is up.

Based on your experience do you think this could work?

Note: doing this with a fallback strategy requires two sticks. The one running zwavejs was 1.1, in ordered a new stick and it came with 1.2. This way if the upgrade doesn’t go well you have the ability to go back to the 1.1 stick.

I did this today and it worked.

  • Shutdown hass and zwave on production system
  • Remove the 1.1 stick from production system and plugged into PC
  • Run aoetec Gen 5 backup tool and created an NVM backup on a stick with 1.1.
  • Exited the tool, unplugged the 1.1 stick and plugged in the 1.2 stick.
  • Restored the NVM backup to the 1.2 stick
  • Plugged the 1.2 stick back into the production system
  • Restarted zwave - saw all nodes were available!
  • Restart HASS.

Next step is to see if I can do a zwavejs NVM backup on the 1.2 stick and then move it to a Gen 7 stick.

@PeteRage Lucky you! If I understand correctly, you have backed up one 1.1 stick and restored that file to another 1.2 stick.

I have backed up Gen5 1.1 stick, then upgraded that stick to 1.2, and finally restored the backup file to it. Although the Aeotec backup tool confirmed “success”, after I plugged the stick to HA, all nodes are lost (apart from the controller itself).

When I tried adding the devices again, it seems that HA still remembers the “nodes” to “device” link from prior setup, even that I cannot see those lost devices/entities in HA (not even after showing the disabled ones).

So now HA treats my Figaro plug (node 002) as a thermostat (which was 002 before the network got lost from the controller).

So, my only chance to save some work is to factory reset the controller again and try to re-add the nodes in the same order as before (in ZwaveJS2MQTT) so that I do not have to re-do also the HA stuff (automations, dashboards, etc). :frowning:

Nightmare, it indeed is.

Why can’t you just plug with 1.1 stick back in?

Because I do not have any 1.1 stick. I have googled how to downgrade from v1.2 to v1.1, but no luck.
I may buy a new Gen5 stick and hope it is still v1.1…

In my test I used two separate sticks such that I never had to change the 1.1 stick. I’ll update that so it’s clearer.

To add a little more into the mix in case someone has this kind of restore plan (that I couldn’t get to work)
I have 2 gen5+ firmware 1.2 sticks.

I took an NVM backup (58 node network) from HA/JSUI, which was 256kb and tried restoring it with the aeotec tool as a backup stick for the future
The write was successful, but opening in silabs z wave tool showed only 1 node, the controller itself.

I unplugged my stick from HA and used the aeotec tool to back it up, and then restore that 256kb backup to the other stick.
No problem, all nodes show on the other stick.

So although the backups are the right size and format, don’t rely on restoring a HA NVM backup outside of HA.
I’ve never tried a restore in HA, but I’m very glad I now have a known working backup replacement stick using external tools, just in case.

1 Like

Upgrading from Aeotec Gen 5 v1.1 to Gen 7

I struggled with the upgrade from Gen 5 v1.1 to Gen 7 today but finally managed to transfer my devices. I lost the friendly names in HA, but at least I didn’t have to open the walls.

Steps:

  1. NVM Backup:
  • Used Zwave JS UI, PC Controller (Simplicity Studio), and Backup and Restore Tool Gen 5 for NVM backup - however this is not compatible for NVM restoration on the Gen 7.
  1. Firmware Upgrade for Gen 5:
  • Upgraded firmware to Gen 5 (ZStick_G5_EU_V1_02.exe).
  1. NVM Backup of Gen 5 v1.2:
  • Encountered errors with PC Controller or Zwave JS UI, but the Backup and Restore Tool worked.
  1. Install and Upgrade Gen 7:
  • Installed and performed firmware upgrade of Gen 7 in ZWave JS UI.
  1. NVM Upgrade for Gen 7:
  • Upgraded NVM of Gen 7 in ZWave JS UI using the NVM from Gen 5 v1.2 (post firmware upgrade which was performed with the Backup ad Restore tool Gen 5.).

Outcome:

  • Successfully kept all nodes, although the friendly names in HA were changed.