Any experiences migrating from Zooz ZST10 to Connect ZWA-2?

Hi all! I just purchased the ZWA-2 and while I am waiting for it to arrive, I am curious how many of you successfully upgraded from Zooz ZST10 controller? The blog post and documentation are quite thin on the details of how feasible it is to migrate for specific legacy setups. I don’t really want to experiment on my production instance which has been solid for years.

I have a ZST10 with 500 series chip, v2.1 firmware, and SDK v6.81.1. 63 devices paired, and using the ZWave JS UI addon. Has NVM backup and restore worked for anyone with similar setup? Any other caveats?

1 Like

Any controller with SDK v6.61 or later should be supported for migration using NVM backup and restore (there are some 800-series SDKs that are broken).

Migration instructions are at:

  1. Generic: https://www.home-assistant.io/integrations/zwave_js/#how-to-migrate-from-one-adapter-to-a-new-adapter-using-z-wave-js-ui.
  2. ZWA-2 support page (Scenario 2): https://support.nabucasa.com/hc/en-us/articles/29529265751965-Migrating-an-existing-Z-Wave-network-to-Home-Assistant-Connect-ZWA-2

You will also find several recent threads here discussing it.

Many users have migrated from older controllers to new 700 or 800 controllers over the past year(s). The ZWA-2 is nothing special in this context, the instructions and process are the same for every supported controller.

2 Likes

Got it, thanks for the overview! :+1:

The fact that there are some SDKs “broken” makes me think that it’s valuable to look for anyone that has done old ZST10 500 series migration recently and can share their experience, YMMV and all that.

Will report back here with my own results, once I give it a go.

The broken SDKs are for the 800-series. No current 800-series controllers are affected as long as they are up-to-date.

I just did this exact migration last night and can confirm it worked flawlessly for the 700 series ZST10 to ZWA-2.

I pretty much used the same process outlined in the generic migration instructions. Whole process took about 5 minutes.

That said, by strange coincidence, I happened to update the firmware on the ZST10 about a month ago for unrelated reasons. In other words, maybe the process went more smoothly because I was already on updated firmware. In general, I never update firmware on zwave sticks because the SDK install is such a beast to install. I imagine most people would be coming from original fw.

1 Like

I am attempting to do this same upgrade and unfortunately not having luck, zwavejsui refuses to perform an NVM backup on my ZST10 despite the fact that I have an SDK newer than 6.61. I open an issue on the zwavejsui github, but if anyone has run into this issue in this community, here are the relevant zwavejsui logs for when I try to initiate the NVM Backup:

2025-12-03 22:55:53.431 INFO Z-WAVE: Calling api backupNVMRaw with args: [ [length]: 0 ] 
2025-12-03 22:55:53.432 CNTRLR   Backing up NVM... 
2025-12-03 22:55:53.432 CNTRLR   Turning RF off... 
2025-12-03 22:55:53.433 DRIVER   one or more queues busy 
2025-12-03 22:55:53.433 DRIVER » [REQ] [SetRFReceiveMode] enabled: false 
2025-12-03 22:55:53.433 SERIAL » 0x0104001000eb                                                       (6 bytes) 
2025-12-03 22:55:53.435 SERIAL « [ACK]                                                                   (0x06) 
2025-12-03 22:55:53.441 SERIAL « 0x0104011001eb                                                       (6 bytes) 
2025-12-03 22:55:53.442 SERIAL » [ACK]                                                                   (0x06) 
2025-12-03 22:55:53.443 DRIVER « [RES] [SetRFReceiveMode] success: true 
2025-12-03 22:55:53.443 CNTRLR   Stopping hardware watchdog... 
2025-12-03 22:55:53.444 DRIVER » [REQ] [StopWatchdog] 
2025-12-03 22:55:53.445 SERIAL » 0x010300d32f                                                         (5 bytes) 
2025-12-03 22:55:53.450 DRIVER » [REQ] [GetNVMId] 
2025-12-03 22:55:53.451 SERIAL » 0x01030029d5                                                         (5 bytes) 
2025-12-03 22:55:53.452 SERIAL « [ACK]                                                                   (0x06) 
2025-12-03 22:55:53.453 SERIAL « [ACK]                                                                   (0x06) 
2025-12-03 22:55:53.462 SERIAL « 0x01070129031f81125f                                                 (9 bytes) 
2025-12-03 22:55:53.463 SERIAL » [ACK]                                                                   (0x06) 
2025-12-03 22:55:53.464 DRIVER « [RES] [GetNVMId] manufacturer: 0x1f memory type:  DataFlash memory size:  256KB 
2025-12-03 22:55:53.464 DRIVER » [REQ] [ExtNVMReadLongBuffer] offset: 0x00 length: 65535 
2025-12-03 22:55:53.464 SERIAL » 0x0108002a000000ffffdd                                              (10 bytes) 
2025-12-03 22:55:53.467 SERIAL « [ACK]                                                                   (0x06) 
2025-12-03 22:55:56.683 SERIAL « 0x01ab012a38262fd046524545ec6562ecffffffff000000000054a50000000000 (173 bytes) 000000000000000000000000000000000000000000000000000000000000000000000000000000 000000000000000001ab012a38262fd046524545ec6562ecffffffff000000000054a500000000 000000000000000000000000000000000000000000000000000000000000000000000000000000 00000000000000000001ab012a38262fd046524545ec6562 
2025-12-03 22:55:56.684 DRIVER   Dropping message because it contains invalid data 
2025-12-03 22:55:56.685 SERIAL » [NAK]                                                                   (0x15) 
2025-12-03 22:55:56.686 SERIAL « [DISCARDED] invalid data 0xecffffffff000000000054a50000000000000000 (65 bytes) 000000000000000000000000000000000000000000000000000000000000000000000000000000 000000000000 
2025-12-03 22:56:03.468 CNTRLR   Turning RF on... 
2025-12-03 22:56:03.469 DRIVER » [REQ] [SetRFReceiveMode] enabled: true 
2025-12-03 22:56:03.469 SERIAL » 0x0104001001ea                                                       (6 bytes) 
2025-12-03 22:56:05.070 DRIVER » [REQ] [SetRFReceiveMode] enabled: true 
2025-12-03 22:56:05.070 SERIAL » 0x0104001001ea                                                       (6 bytes) 
2025-12-03 22:56:06.672 DRIVER » [REQ] [SetRFReceiveMode] enabled: true 
2025-12-03 22:56:06.672 SERIAL » 0x0104001001ea                                                       (6 bytes) 
2025-12-03 22:56:08.273 DRIVER   Attempting to recover unresponsive controller by reopening the serial port... 
2025-12-03 22:56:08.274 DRIVER   all queues idle 2025-12-03 22:56:09.528 DRIVER   Serial port reopened. Returning to normal operation and hoping for the best... 
2025-12-03 22:56:09.573 INFO APP: ::ffff:127.0.0.1 GET /health/zwave 301 162 - 0.331 ms 
2025-12-03 22:56:13.275 DRIVER   one or more queues busy 
2025-12-03 22:56:13.276 DRIVER » [REQ] [GetBackgroundRSSI] 
2025-12-03 22:56:13.276 SERIAL » 0x0103003bc7                                                         (5 bytes) 
2025-12-03 22:56:13.278 SERIAL « [ACK]                                                                   (0x06) 
2025-12-03 22:56:13.283 SERIAL « 0x0105013ba87d15                                                     (7 bytes) 
2025-12-03 22:56:13.284 SERIAL » [ACK]                                                                   (0x06) 
2025-12-03 22:56:13.284 DRIVER « [RES] [GetBackgroundRSSI] channel 0: -88 dBm channel 1: No signal detected 
2025-12-03 22:56:13.285 DRIVER   all queues idle 
2025-12-03 22:56:39.604 INFO APP: ::ffff:127.0.0.1 GET /health/zwave 301 162 - 0.412 ms