Z-Wave JS to Z-Wave JS UI & Device Associations

Good Day All,
I have mostly 90% of my z-wave devices moved into Z-Wave JS (Ver 0.1.74) and off SmartThings. I now have a problem in trying to “associate” a master light switch (Eaton RF 9640-N) to an Accessory Switch (Eaton RF9642-Z) - seems Z-Wave JS will not do this. After much research, “I think” Z-Wave JS UI add-on might be the solution. Two questions: can I do the “association in Z-Wave JS UI for the Eaton switches” or better to stay in Z-Wave JS? My 2nd question: Is it really that easy to move from Z-Wave JS to Z-Wave JS UI as shown here: Z-Wave - Home Assistant. As you can see - very much a newbie here. All help is appreciated.

A “me, too” more than an answer…

I have a couple of switches I want to set up zwave associations for. Yesterday, I tried migrating to the Z-WAVE JS UI add on, and it did not go well. The z-wave JS UI control panel would show a “map” of my zwave network, but it would not actually pass any of the zwave devices devices to home assistant.

I bashed my head against it for a few hours, then decided to just restore from a backup so that the system would be back working again when my wife arrived home. But, after restoring, the z-wave JS integration wouldn’t start. If I clicked configuration, I just get the following error:
Z-Wave JS: Retrying setup


It seemed I had broken my zwave stick. It’s a dual zwave/zigbee stick, and the zigbee side continued to work, but not zwave. I continued to struggle with it last night, gave up, did a completely fresh install of home assistant, then restored my backup. No change. Went to bed. This morning, the same. I tired a few more things, then restored from (the same) backup yet again, and suddenly it is working as before.

So, I’m reluctant to try to try z-wave JS UI again. As I understand it, the underlying z-wave JS library is the same with either, just z-wave JS doesn’t have an interface for setting up associations. the z-wave JS UI just exposes that interface. I’m hoping someone will unveil a way for me to associate my three pairs of switches without migrating from z-wave JS…

As long as you keep the keys. Definitely get current HA backup

Zwavejsui only adds UI to zwavejs.
No more, no less. Beyond ui they are exactly same. The UI can be very useful. There is function in UI for associations.

@tmjpugh Many thanks - in all the videos I have watched, seems easy enough.

@chadhitw Scary! Definitely going to do a backup.

@tmjpugh for clarity:
Background: I have two separate antenna devices: a Zigbee and a Z-wave (not a conbo). They are well separated from the Odoid cpu by usb extensions.
I have Zibee2MQTT installed and working. I have Z-wave JS installed and working.

Question: When installing Z-Wave JS UI, I am confused about the MQTT option within the Z-Wave JS UI install. Should I select it? Would this install another instance of MQTT? Leave it un-selected? If selected would it use the currently installed MQTT?

Standing by…

MQTT is not needed. If selected it means you are connecting to an existing broker, it will not create a mqtt broker for you

HA uses websocket connection to zwavejsui

@tmjpugh Many thanks. I will start this Z-Wave JS UI install (not selecting MQTT) tomorrow, as I have a couple of devices still to move to HA from SmartThings.

Once installed will work the “association” aspect I need to connect the master light switch (Eaton RF 9640-N) to an Accessory Switch (Eaton RF9642-Z).

Any advice here would be very greatly appreciated. And yes - I will do a full backup before I start.

Standing by…

I just did this exactly myself. Here is my advice… follow this guide to migrate from Zwave JS to Zwave JS UI

In my case I am using Zooz dimmers, so I followed their article for configuring virtual 3-way How To Use Multiple Zooz Switches In 3-Way and 4-Way Set-Ups - Zooz Support Center

Hope this helps!

@br0nd ok - so after reading up - I am confused (and nervous about bricking my system - even with a full backup).

I read this: addon-zwave-js-ui/DOCS.md at be8c002cd73362fdd734559d98f317a650b0c828 · hassio-addons/addon-zwave-js-ui · GitHub

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

They are a bit different.

If I just follow the addon-zwave-js-ui/DOCS.md at be8c002cd73362fdd734559d98f317a650b0c828 · hassio-addons/addon-zwave-js-ui · GitHub, then it seems to be a 4-step process. No uninstall of Z-Wave JS.

If I follow this Switching Z-Wave JS Addons with Minimal Downtime! Z-Wave JS (Official) to Z-Wave JS UI (Community), Steps 9, 10 and 11 are not in the github based instructions. In fact, step 11 appears to have me remove Z-Wave JS ? I thought the Z-Wave JS was needed and reused, and Z-Wave JS UI simply added in an additional menu/screen?

I get that steps 5 through 8 are backing-up and reinstalling - device/node configuration in case something went wrong.

or - am I over thinking this?

No. They are used exclusively. https://www.home-assistant.io/integrations/zwave_js/#can-i-switch-between-the-official-z-wave-js-add-on-and-the-z-wave-js-ui-add-on

The add-on docs don’t have instructions for switching because that’s not its purpose.

@freshcoast Many thanks. I think I understand now. When I install Z-Wave JS UI, I will uninstall (following your steps) Z-Wave JS. But Z-Wave functionality is still there - replacing one program for another.

The purpose of the backups of Z-Wave JS entities is in case there is not a smooth migration - correct?

Correct, they both provide the same service, only difference is that ZUI has its own UI and other functionality. When installed at the same time, they compete for access to the USB stick.

Well, if you’re referring to the guide, one purpose of the backup is just that, to restore in case something goes wrong. The main purpose is to transfer the driver cache files from the old to the new installation, so the switch is completely transparent and non-disruptive. If you don’t restore the cache, it’s fine (usually), you’ll just need to re-interview all of the battery devices, they won’t function anymore in HA until that’s done.

@freshcoast Ah - I now see the restore cache you are referring to. Got it. You are doing these steps on a Windows computer.

How can I tell if a sensor - door, window, motion, etc sensors are not awake?

Any way to “wake up” the battery sensors - prior to starting this process?

They are sleeping if they aren’t awake. That’s not what matters, what matters is if they are “ready” yet, meaning they’ve been interviewed.

There’s no point in doing that, they will just go back to sleep. They need to wake when the driver is ready to interview them.

@freshcoast Yes - they have all been interviewed. I have one sensor that is literally “off” - the battery is out of it. I will add in the battery and make sure it is “online”.

I will start this process tomorrow - it’s getting late here.

Any other advice before I start?


Using that guide, I was able to successfully migrate to zwave js UI today! Whohoo.

With everything working as it was, I installed a zooz zen30 double switch: a dimmer plus a relay, and a zooz zen72 dimmer. Due to the wiring (and the inability to pull any wire through solid log in a log cabin), the Zen72 controls the bedroom overhead light directly. The zen30 replaced a stacker switch, and controls the patio lights from directly via the relay. The dimmer paddle I want to be directly associated with the zen72 to control the overhead light, as the old “real” 3-way switch did.

So, installed everything fine, and added the two switches via zwave js UI. So far so good. Both switches control their directly-connected loads just fine, both locally and via zwave.

Now I get stuck.

I want to associate the zen30’s dimmer paddle with the Zen72’s dimmer… I found (but don’t remember where…) a button in zwave js ui to clear group associations, but not add them, other than within each node.

This article on Zooz’s site
describes setting up an association on group 3 only, pointing at each other. So, I tried to create one. If I click “add group,” I get two options: “Node Endpoint” with only 0 and 1 as choices, and “Group” which says it is required, but has an unpopulated drop down list (says “No Data Available”, with no place I can find to enter any data).

So, now that I have zwave js UI working, how do I actually create associations between nodes?

Are you trying to create the association at the node level and it’s not showing you any groups for zen30 ? What about for zen71 does it show you groups?
I have a zen30 that I can try to test, but I definitely have setup associations via groups for zen72 and zen32.

If only zen30 is blank, I’m guessing that the zwave js device database may be the source of that missing drop down and needs to be be updated.
If it’s not showing groups for zen72 even, then something is booked with your install. Not sure how you troubleshoot that though.

The zen72 has an existing group
endpoint 0
group lifeline
node NodeID_1
target endpoint none

If I try to add a group, my only node endpoint option is 0, and Group remains “No data available.”

The zen30 has no groups. If I try to add one, I have node enpoint options of 0 and 1, with group being “No data available”

To make sure we are on the same page… just to confirm… you are going to

  1. Zwave JS UI
  2. clicking on the node that is a zen72 dimmer (and zwave JS sees it as a Zen72?)
  3. Click on groups
  4. Click Add above the table
  5. Select Endpoint 0 and then click on the group… you don’t see the following drop down?

If you don’t see it, are you on the latest version of Home assistant, Zwave JS and Zwave JS UI? When I click the info on the top right of Zwave JS UI I see the following

OK… you’re understanding what I WAS seeing. However, now it seems to be working correctly (for both devices). It seems it just takes a day or so for things to display correctly for me?

However, the terminology doesn’t match the instructions from ZOOZ. So I’m not sure which device I set up which way.

The Zen72 actually controls the light. It gives the options shown in your screen shot (endpoint 0 is the only option)

The Zen30 controls something else on its relay, but has nothing connected to the dimmer. I want it to control the Zen72. For endpoint 0 It offers [1] Lifeline, [2] Dimmer Status, and [3] Relay Status. For endpoint 1 it offers no groups.

How do I set the groups up? Ie, do I create the group on both nodes, or just the “remote” one, or just the one that actually controls the lights? Why does one offer “control” and the other “status” (the language makes the offerings seem backwards from what I want…)

My messed up logic says I should set up the group on the zen30 like this:

But after the adventure getting zwave JS UI running, I guess I want a little reassurance before I click that add button…

Let me ask you something… Do you want dimming control virtually from the Zen30 or are ok with just on/off control from the Zen30 virtually? The steps below will attempt to allow dimmer control from Zen30, but if it doesn’t work, there is a fallback method that would just allow Zen30 to do on/off control.

Groups/associations are easy to do/redo, so experimenting is just fine. Btw zooz support is awesome so you can also email them and check but here is what I would do
Step 1 - on Zen30… to Dimmer status I would add the node for Zen72
Step 2 - on Zen72 to Dimmer status I would add the node for Zen30
Step 3 - on Zen 30 Change Parameter 19 to 2 to disable physical and zwave control of dimmer

Step 4 -I would also disable or maybe better hide the Zen30 dimmer entity from HA UI, to avoid triggering it by mistake. In general you want the zen30 dimmer to not be controlled or visible to HA, its only going to locally talk to the Zen72 dimmer using the Zwave Association.

Additional note - which is why I am not sure if dimming from Zen30 will be reliable and you may have to just use it as an on/off switch unless they update the zen30 firmware with the following parameter. The Zen30 seems to lack a parameter 7 that the Zen72 has that I had to modify to ensure smooth dimming from both devices.

Zen30 advanced settings for reference
ZEN30 Double Switch Advanced Settings - Zooz Support Center (getzooz.com)