Share your experience with migration from OZW to ZWJS

Just wondering, what the experience / consensus is for anyone migrating their Open Z-Wave setup over to Z-Wave JS. I have a huge domain setup to migrate and it is all working fine - at the moment - and so i am somewhat nervous about trying to “fix” that which is already working.
Any gotchas?

I liked the idea of decoupling zwave from hass so that when I restart hass it does not disrupt the zwave network.

Also OZW did not work well with all my devices. I first upgraded to the zwave2mqtt docker container, then zwavejs2mqtt and since upgrading for the first time zwave is working to my expectations. It is fast! The response time from toggling a switch and the light coming on is in line with my other wifi switches. The response time was always my biggest issue.

I don’t have a lot of devices so it was easy for me to setup the new entities.

I had plans to get rid of all my zwave devices before the upgrade but now I might hang on to them for a bit longer.

1 Like

IMHO give it a shot, but have backups.

All my light switches showed up and seem to work perfectly. zwavejs doesn’t seem to support my door/window sensors or leak detectors yet, so for me that’s a dealbreaker and I had to revert to the old zwave implementation for now. Hopefully things improve and I can switch at some point in the future.

1 Like

I’ve got a small ZWave network (30 devices, 151 entities) that I’ve migrated from OZW to ZWave-JS. Migration was straightforward following Petro’s Guide… Needed to rename my devices, but doing that via the UI automatically renamed the entities, so it was soon done. Also had to edit the Automations to reflect the new names, but again, that was straightforward.

Battery devices (my Heiman smoke detectors) needed to wake up before they were fully recognised in the new version of the network. After a day or two, they were all present and correct.

The only issue I have is that my Fibaro RGBW 441 controller had 6 light control entities in OZW, and ZWave-JS is only reporting 5, which means that my Lovelace UI card isn’t showing the colour wheel. I’m hoping that this will be resolved in future releases of ZWave-JS. It’s not a deal-breaker for me.

1 Like

I have a sdmall Zwave network of 26 devices. Mostly Aeotec and Fibaro Motion sensors, couple of Fibaro smokes, Aeotec nano switches and a couple of contact sensors.

I had some issues, but they were all of my own making. I was running various beta stages of the zwave-js stuff and that certianly didnt help me overall.

I am using HA in a docker environment, and zwavejs2mqtt is provideing the connectivity to zwave USB stick (aeotec). I dont use the MQTT part - just using it for control panel and the built in web socket connection to zwave-js-server from HA

renaming devices and entities is not fun, but is easy once you get going. (good chance to clean up!)

Everything working as expected now

It works for me. There is a very good video from mostlychris - Z-wave JS migration from OZW Beta in Home Assistant with Integrations and Add-Ons . My fault during installation was a wrong device path. I thought the device path is /dev/ttyACM0 as everytime in the z-wave, ozw (beta) domoticz installation. The correct path for me was: /dev/serial/by-id…
This is described in the documentation. But i had not read this. After setting this path everything worked. You have to rename your devices and entities. The instruction for this you can find here:
Switching from OpenZwave (Beta) to Zwave JS.

  1. I made a backup (so you can roll back if it failed, then i followed the step 1 to 4 of the switching instruction. (see above)
  2. Then i uninstalled OZW (beta) and made a restart of homeassistant
  3. After that i installed supervisor addon z-wave js.
  4. Click on the configuration tab, the click the little triangle on the right side under device here you can choose your device.
  5. Look if under integration z-wave js ist installed. If not you can add it. If this is installed you can see your devices and entities.
  6. Next renaming nodes and entities and checking the automations, node red if installed and all cards with z-wave devices and replace the old names with the new.
  7. Some nodes you have to wake up. Triple click the B-button (fibaro motion sensor).

The door/window sensors is also working.

2 Likes

I was able to disable my OpenZwave docker and start the Z-Wave JS to MQTT docker, and all of the devices on my Aeotec USB hub were recognized. I disabled the MQTT portion.

  1. I had to rename my devices (I took notes before I made the switch as the node numbers stay the same).
  2. The Z-Wave smoke detectors haven’t reported in, but I knew I’d have to wake them up manually at some point.
  3. My bigger problem was my door lock wasn’t reporting manual physical state changes. There was a work-around proposed in the bug report involving an automation which watches for the state change in MQTT. I adapted my automation to watch for an zwave_js_event trigger instead. The automation watches for the state to change between “Manual lock operation” and “Manual unlock operation”.

Does not connect on my default Rasberry Pie installation.
Tried the guide, addon first then integration, or only integration. Reset my Zwave controller (Razberry Europe)… still not able to connect.

Seems like you’re doing something wrong. Also, ‘only the integration’ will never work. It requires at least Zwave JS Addon or ZwaveJS2MQTT addon.

Interesting, because I migrated from Zwave 1.4 to ZWaveJS and two of my door sensors I had (that never worked, even when I was with Smartthings) are now working! However I had to enable entities that were disabled and hidden by default.

Same thing in fact for Aeon Labs multi sensors that were working really bad prior to the upgrade and they are now reliable.

Downside: If I manually lock or unlock my schlage, the change is not reported automatically. I had to implement a workaround that listen to events and apply the state change.

Barriers were added or are being added soon. That should change.

Isn’t the integration installing the plugin?
Well I’ve tried both ways. Still no able to connect. Can’t find any log entry either.

How’d you configure each addon?

Many thanks all. Some really good valuable insight. Sounds like it has come a long way since I last considered this a while back. On the balance of feedback there is not 100% consensus and so I will leave it a few more months for the capability to mature. Having HA down for a week when I last attempted an “upgrade” of a domain, whilst I was on a business trip, not at home, and with the automation down…well let’s say it was a close divorce deal !
Mmm, so I will wait.

EDIT: Major foobar this end.
I have just read that article linked by @peerkn (thank you) and until then I had not appreciated that ZWJS is an addon . I therefore presume one needs to run HA Supervised. I run HA core under Docker. Yes they are essentially containers and I could tweak and fork and knife the install into my setup… but sadly I am struggling with work at home (COVID) with kids and a nagging wife to prioritise.

You can run this in docker, just follow the docker directions on the zwavejs2mqtt GitHub page.

1 Like

Ah, ok, did not really want the mqtt flavour but I will certainly look at that article. Found it. Cheers :ok_hand:

You can run that without mqtt, it’s all in the setup after the container is running. Through the ui

1 Like

@petro , you keep materialising on these forums with 100% top advice. I had no idea and have been monitoring Zwave developments for a while - or so I thought :sweat_smile:

2 Likes

Found the issue…
Somehow when switching the rasberry bluetooth activated again.

Manually added the following parameters agan to the bottom of the /boot/config.txt file.

dtoverlay=disable-bt

Thanks for trying to help! :pray:

1 Like

Followed instructions. I ran into one issue where the change from OZW to ZJS required changing the device name from /dev/ttyAML0 to /dev/serial/by-id/usb-0658_0200-if00. Once I figured that out via trail and error it worked great! Appreciate the work and effort.