Switching Z-Wave JS Addons with Minimal Downtime! Z-Wave JS (Official) to Z-Wave JS UI (Community)

Thanks for this guide! Great help!

1 Like

Stupid question but is all this work JUST to prevent down time? It seems like using the official method you just copy over your network keys and you can flip flop between the UIs if you want. Only 1 can be on at a time but they make it seems like the backend database stays the same…

Mostly, but some people also need additional screenshots and step-by-step directions. I thought I was pretty clear about the purpose of this guide in the intro:

Many people have a lot of battery devices that would require manual wake ups. Do you want to open up tens of devices and push buttons? Sometimes those are in hard to access locations like attics. As mentioned in that intro section, without re-interviews those devices would be non-functional in HA. If that’s not a problem for you, then definitely skip this.

What UIs exactly? The core add-on doesn’t have a UI, the UI is Home Assistant. It serves no purpose to switch back and forth between add-ons, just pick one of them. You can use HA exclusively if you want with the ZUI add-on once it’s installed. If you mean switch back and forth between HA and ZUI, well yeah that’s how people use it.

Only 1 can be on at a time but they make it seems like the backend database stays the same…

Each add-on has it’s own storage directories, thus they need their own copies of the database files. Unlike the core add-on, users do not have direct access to the ZUI add-on storage directory, otherwise the cache migration process would be a simple copy and paste. This process migrates the database from one add-on to the other using ZUI’s restore process, which is unfortunately more complicated than needed for this use case.

Although, after thinking about it, the restoration process can be simplified with a simple docker command. I might consider updating the guide with that approach instead of dealing with the ZIP file. E.g. something like:

docker cp /addon_configs/core_zwave_js/cache/. addon_a0d7b954_zwavejs2mqtt:/data/store

should replace the entire backup and restore process, however this is only supported by the Community Terminal add-on.

Please don’t take this as a slam at all just curious because I have no clue… Yeah I guess its a relative term to say large network. I did the other way around (using FAQ of the HA help page) and took about 15 min to reinterview my network and all my devices seem to have the same entity IDs for all my automations…

All i had to do was grab my keys form the page… disable Zwave intagration, stop the old JS install the new one and configure it with the keys and i was good to go! quite simple to be honest

I do seem to have a lot of unknown nodes and I am wondering if that was failed includes form the past… as all my devices are showing up!

Thanks for the write up on this!

1 Like

I didn’t at all. If my response seemed that way, well it wasn’t meant to.

I’ve been involved supporting Z-Wave JS in various ways on this community forum on Discord for the 4 years it’s existed. During that time, switching add-ons has been (unfortunately) probably the number one question or issue I’ve seen in both places. That’s basically the genesis of the guide, it was obvious the official docs were not clear enough for typical users.

2 Likes

One heart stopping moment when Control Panel reported that the stick device port could not be opened due the port being locked. Consequently no nodes were listed. I rebooted the host which resolved that and my nodes came flooding in. Very grateful for the clear and comprehensive instructions.

Minor comment. In Step 1.1

  {%- set name = device_attr(dev_id, 'name_by_user') %}

not all of my devices had a name_by_user, so I used:

  {%- 
    set name = 
    device_attr(dev_id, 'name_by_user')
    or device_attr(dev_id, 'name')
  %}

Simple instructions to follow and everything is back up and running with JS UI, many thanks!

1 Like