Help understanding NVM versions #7578
-
I have two ZST39s and I'm trying to copy the NVM from one to the other. @AlCalzone noted zwave-js "converts the NVM to the target format," but I'm unclear what "target" means there. Is that the SDK (protocol?) version? I'm confused because wouldn't upgrading the firmware mean that the NVM would need to be upgraded to match? My source ZST39 has v7.18.1 which is too old for ZUI to backup its NVM. I used PC Controller to sucessfully back up the NVM. Then I attempted using PC Controller to restore that NVM onto a ZST39 with v7.22.1 -- and it bricked it and cannot be repaired. My question is can ZUI "convert" the NVM from the v7.18.1 and write it to a v7.22.1 ZST39? I converted the
Before attempting to restore onto the newer ZST39 its NVM showed:
|
Beta Was this translation helpful? Give feedback.
Replies: 2 comments 3 replies
-
There is a difference between 500, 700 and 800 series NVMs, although 700 and 800 series are very similar. Those need to be handled before restoring, because otherwise the controller won't be able to read the NVM contents. There are also subtle differences between SDK versions. Most of those should be handled by the firmware automatically, but it doesn't always work, and only when the SDK version is newer than the one the NVM was copied from. One of the less subtle ones is that the 800 series NVM size has been reduced between 7.18 and 7.19, so the contents have to be "packed" differently. The firmware can't do that. PC controller does not do any conversions. It blindly copies the NVM data and in your case you ended up with an NVM that was missing the last 8 KB. Since Z-Wave JS was able to parse the 7.18.1 NVM, it would have been able to restore it onto the 7.22 controller without bricking it. TL;DR: "target" is the combination of the Z-Wave series (500, 700, 800) and SDK version of the controller you're trying to restore onto. |
Beta Was this translation helpful? Give feedback.
-
My replacement ZST 39 LR arrived a day early. Everything went perfectly:
I did all that on a separate machine running ZUI in docker w/o Home Assistant. I now have two ZST 39s running v7.22.1 with the same NVM and both see and control all my nodes just fine. Thanks for all the help! This is really great software. A few minor questions came up while doing this:
|
Beta Was this translation helpful? Give feedback.
There is a difference between 500, 700 and 800 series NVMs, although 700 and 800 series are very similar. Those need to be handled before restoring, because otherwise the controller won't be able to read the NVM contents.
There are also subtle differences between SDK versions. Most of those should be handled by the firmware automatically, but it doesn't always work, and only when the SDK version is newer than the one the NVM was copied from.
One of the less subtle ones is that the 800 series NVM size has been reduced between 7.18 and 7.19, so the contents have to be "packed" differently. The firmware can't do that.