Zwave-JS Migration Wizard troubles

Waited until 2021-11 came out to see if it got fixed. It did not, so opened a github ticket in case anyone was thinking about doing the same.

Thanks. I just upgraded as well so this saves me some hassle trying.

I too was waiting for the 2021.11 update to come out.
I had two reasons

  1. The new Tuya integration and fixes
  2. The Z-Wave JS migration wizard

It would be really nice if there was a tutorial video of this wizard so that we could study and see what should happen.
There are so many wrong paths that one could take and this would help.
I will keep an I on this thread and hopefully someone will have the answers.

I’m considering just removing every device from ZWave and starting over with the new way. I’ve had these devices setup for multiple years (probably 5+) thru tons of upgrades and im wondering if that’s part of my problem. Others that can’t use the migration, how long have you had this setup? Maybe sort of starting over with ZWave might make mine work more reliably.

I started with ZWave about 3-4years ago and have 17 devices. These include door sensors, motion sensors, light switches and so on. I have had various problems with ZWave and the predominate one is coverage. I tried repeaters but this seemed to have limited success.
As you say I could start again but will the new drivers etc solve any of these problems? It’s a fair amount of work for naught if it does not.
I have tried other devices that work on WiFi (Sonoff, Tuya, ESP devices) and find that I can expand the range of these devices easily by installing a WAP.
For example I wanted a temperature monitor in my steel shed down the back yard (about 20m away and basically a Faraday Cage so signals badly attenuated). I had a cat 5 cable into the shed so installed a inexpensive WAP in the shed and my ESP32 and ESPHome worked well.

If I need any additional functionality I will probably lean to ESPHome if DIY or Sonoff/Tuya if off the shelf.
Sonoff coupled with AlexxIt (HACS - works local and cloud), the new Tuya Integration have proved good for me.

My current thinking is it might be a wait and see situation. I can’t see myself installing any additional ZWave.

I have 30+ devices and the main reason I’ve stuck with ZWave is the total local control along with the fact that it seems like you can find almost anything you want in this format. With that being said, I see range issues sometimes as well. They still work but its sometimes slow. I feel like some of mine could be fixed by starting over with the JS ZWave integration. I know of one failed device and likely two that I never did get out of OZW. Has always made me wonder if the network fails or is slow due to these devices maybe still showing as active but never responding. Only way to know will be after I wipe my ZWave stick and add them back. Very time consuming to do so maybe someone else can chime in and tell us if this will solve the problem

I went to github. Looks like no progress on this still?

No, it seems like MartinHjelmare is working on it. He should have everything he needs now and I suspect a fix will be merged eventually.

Has anyone actually made this thing work yet? When I tried it it said that most of my devices were offline and then failed to even install the Zwave-JS component, it just got stuck there.

I don’t think so. I migrated manually, and it sucked.

So I tried the migration before reading this thread and it was a disaster. I cancelled at the point it told me it couldn’t migrate almost of all my devices and I’ve restored from my backup, but the original Z-Wave doesn’t work. There is no option to start the server. I removed the Zwave-JS addon and tried again, but the same result. Does anybody know how to revert?

Should be as simple as a full restore to pre JS-migration. Personally, I let it “settle-in” for awhile after the restore and then do a hard reboot. Not sure if that is absolutely required, just my process.

I reattempted the migration during the last 2 weeks of December. There were many warning during the migration, but despite that most devices were discovered over a 24 hour process. I went through and manually “fixed” the remaining - don’t have an exact count, but every device was available in ZwaveJS. Had to go through and rename devices, so the names matched up with references in automations. All worked well till earlier today, when multiple wired devices, as well as 1 (out of 3) yale door locks, were not available in HA.

Tried reboots and heal/reinspect. Eventually, pulled the main breaker switch, waited about 3-5 minutes and powered back up. Some devices reconnected. For others had to manually interact with them to get zwaveJS to see it again. Did not have to re-pair anything, yet. All devices are full operational again.

Will monitor for a few days.

Thanks @alex21. I’ve tried letting things settle and done a few hard reboots. Still no luck. I’m seeing this in the logs:

  File "/usr/local/lib/python3.9/site-packages/openzwave/", line 81, in __init__
    raise ZWaveException(u"Error when retrieving device %s : %s" % (device, traceback.format_exception(*sys.exc_info())))
openzwave.object.ZWaveException: 'Zwave Generic Exception : Error when retrieving device /dev/ttyACM0 : [\'Traceback (most recent call last):\\n\', \'  File "/usr/local/lib/python3.9/site-packages/openzwave/", line 78, in __init__\\n    raise ZWaveException(u"Can\\\'t find device %s : %s" % (device, traceback.format_exception(*sys.exc_info())))\\n\', \'openzwave.object.ZWaveException: "Zwave Generic Exception : Can\\\'t find device /dev/ttyACM0 : [\\\'NoneType: None\\\\\\\\n\\\']"\\n\']'

The device is there… I can see it dev. If anyone has a suggestion it would be much appreciated!

There was an update yesterday so it looks like some progress will be made on the migration tool at some point.

I just restored from an older backup (full Debian restore) and I’m still getting that error. Could it be related to those new keys that are created during the migration? Everything else seems fine, but ZWave won’t start with that same error message.

Any advice is appreciated!

Do you see something similar to the below lines in the configuration.yaml ? A full restore would have restored the file and settings as well, but may be worth doublechecking.

The error seems to imply that it is not finding /dev/ttyACM0 - perhaps the device path changed ?

Example settings
usb_path: /dev/serial/by-id/usb-0658_0200-if00
network_key: “0x49, 0x43, 0x1D, 0xBD, 0x03, 0x6D, 0x9D, 0x8C, 0x39, 0x67, 0x16, 0x82, 0xA8, 0x67, 0xEE, 0x91”

Hey @alex21. I do still have those lines in my config.yaml. I just double checked and the path is still correct. When I tried the migration wizard, it asked for 2 other keys, which I left blank. Is it possible they wrote to the device and now it can’t communicate?

I have not migrated to ZWave-JS for Obvious reasons (ie it don’t work yet) and my path in configuration.yaml is

    usb_path: /dev/ttyACM0

There is an integration in my integrations page which implements the new pathing for HA
I have not implemented this yet either.


Open up a terminal sh session and enter
ls /dev/ttyACM*

This is what I get

[email protected]:~$ ls /dev/ttyACM*
/dev/ttyACM0 /dev/ttyACM1

Where /dev/tty/ACM0 is my ZWave Gen 5 Stick

I also left the other keys blank during migration and the restore worked fine (this was a few months back). Don’t recall having to do anything other than a full restore and reboot.

The migration generated the additional keys, but the original network key was unchanged for me (post migration and after the restore).

Today I bit the bullet and migrated to ZWave-JS.
I notice that they were putting warnings about the old one being deleted so decided I needed to act.

I took all the precautions of multiple backups and copied them off the NUC to a USB drive.

I then ran this template to get all my nodes

{%- for node, zstates in states | selectattr('attributes.node_id', 'in', range(1000)) | groupby('attributes.node_id') %}
{{ node }}:
  {%- for s in zstates %}
  - {{ }}
    {{ s.entity_id }}
  {% endfor %}
{%- endfor %}

This proved very useful after the migration in identifying all the NAMES i had given nodes.

One I had a Roll_back plan in place I proceeded with the wizard.
The only real got ya was copying my security code. I copied the code with the quotes from the YAML file. You need to leave them out.
Once I did that it accepted the code and proceeded.
I had to wake up all my battery devices (painful) as they were all over the place but I bought them all into my office and woke them there. One this was done I remounted them.

I took many hours to go through all my automation’s and change them to suit the new entity_ID’s but think I got them all. Time will tell!

All things considered it went reasonably well.
I hope that helps others :slightly_smiling_face:

1 Like