How to create association with zwave JS or zwave JS UI

Hi,
I’ve installed a fresh new version of HA 2023.9.9, and I’m trying to associate a Fibaro Eye (FGMS001) and a switch (FGD212). I used to do that with Jeedom few years ago.
Seeing all the questions in here, it is not something trivial to do. I can’t find a clear doc or tutoriel to do that. Am I searching badly? Is there a good and easy way to do that? I don’t mind using either ZWaveJS or ZWaveJS UI, I tried both with no success.
I can create groups, then association, but then I just see some Root Endpoint, Endpoint 1 or 2… that doesn’t make any sense.
Thanks for your help.

You’re in luck, I just recently went through this and captured documentation for my future self when I asked a year from now, “How did I do that again?”

There are several steps to creating a local association where one z-wave device can signal an action to another z-wave device without going through the controller.

The first step is ensuring the devices support the action you want to achieve. I’m going to give you an example of 2 devices I recently configured for this - A GE/Enbrighten Z-wave Switch model 14294/ZW3005 and an Aeotec Recessed Door Sensor 7 ZW187. The goal for the direct/local association was for the door sensor open state to turn on the light directly.
One thing not mentioned in most discussions of associations - Both devices should be at the same security level. In my case the door sensor was originally included as S2 security, and the light was included as no security. I had to exclude and re-include the door sensor as no security before making any other changes. You can see the security level of your devices in the Z-wave-JS UI:


Hovering over the red circle will show you “no security”.

The ZW187 supports directly controlling another Z-wave device via Group 2 - from the documentation:


From the association table documentation:

Here it states we have to pay attention to the setting of parameter 3:

Because I don’t want to have the operation work like a refrigerator door (light on when open, off when closed) and I just want the light on faster when the door is opened, we have to set parameter 3 to 3. That sends the on/open command to the light, but not the off/closed command. In my case, I take care of the off command with a separate automation. Note that 0xFF is open/on and 0x00 is closed/off.

To set the parameter use CONFIGURE in the device page:
image

Because the door sensor is a battery device, you must wake it up to set the parameter.


Note the correct status in parameter 3. You may not have to go through these steps, the default action may be fine for your desired action.

Now setup the association. In the Z-wave-JS UI, expand the sensor you want to send the local/direct association and click on Groups. Click the green Add button. The device will need to be awake for this step as well. Check your device documentation for wake instructions.

Select Root Endpoint, the group you are configuring (in my example group 2), the Target Node (in my example the Garage Light). In my case the target endpoint is No Endpoint. Click the Add button.
Once added you should see the new Group 2 association in the device configuration like below.

That’s it. Now you can test. It’s best to have and review both device configuration documents before you start setting things up. You’ll need to know the Association group, any parameter changes, and how to wake up your device (if it’s not mains powered). Good luck!

1 Like

Thanks, that should be helpful. But now I have to fight with ZWave JS and ZWave JS UI… that is not stable. It is working once, I reboot, one of the two is not working, some devices are visible on one and not the other… What a nightmare… Did I say I like when things are easy?

What ZWaveJS are you referring to? If you use ZwaveJS UI, you use that with the Zwave JS integration, but not the Zwave JS addon. That should be disabled/uninstalled.

More about that here:

Did I say I like names that aren’t confusing? :slight_smile:

1 Like

Oh because there are 2 different Zwave JS ?

ZWave JS UI addon replaces the official ZWave JS addon, (both to be found in the addons section) but keeps the same ZWave JS integration (to be found in the devices section).

Gosh… it is so confusing… ok, I’m good to uninstall eveyrthing and reinstall only Z-Wave JS UI which will also provide ZWave JS (can’t they name it ZWave JS2, JS evolution, JS bis, … there are so many possibilities :slight_smile: )

You need one of the two add-on options (My instructions are for Z-Wave-JS UI) and you also need the Z-Wave-JS integration.

Add-on:
image

Integration:
image

And now I still have a ZWave JS showing in my Add ons… it’s coming back. How do I know if it is one from Z-Wave JS UI ?

See my image above.

Well, I have 2 addons
Screenshot 2023-10-02 232312

If I uninstall the Z-Wave JS, it keeps coming back. So I just stopped it for now.
And the Z-Wave JS Integration is broken
Failed to connect: Cannot connect to host core-zwave-js:3000 ssl:default [Connect call failed (‘172.30.33.0’, 3000)]

That’s the wrong host name for Z-Wave-JS UI. From the documentation page of the add-on:

Now it is time to set up Home Assistant:

  1. Go to the Settings panel and click “Devices & Services”.
  2. In the bottom right, click “+ Add Integration”.
  3. Select the “Z-Wave” integration from the list.
  4. A dialog box will show, asking to use the add-on:
  • UNCHECK that box, it will install the official add-on.
  • Again, the official add-on is recommended, so…
  1. In the next dialog it will ask for the server. Enter: ws://a0d7b954-zwavejs2mqtt:3000
  2. Confirm and done!
2 Likes

Not unchecking the box as noted above is probably why the original add-on keeps coming back.

Since you have Z-wave-JS Integration already installed, you’ll want to open the integration page, click configure

Then click “Reconfigure Server” and add the correct host name in bold from above.
image

I’m resintalling everything from scratch… cross your fingers please

Ah, finally!
So installing ZWave JS UI does install ZWave JS add on too :confused:
I uninstalled it and added the integration as you mentionned, so far so good.
The fact that even the official documentation has to explain about this whole confusion is a big red flag. Who is in charge of naming these addons and integrations? I have names to propose :slight_smile:

And association is working too. Thanks @mterry63 and @Edwin_D for your help.

1 Like

Hey thank you guys for the explanation. I was also very confused by the documentation and thought I must have gotten it wrong :wink: . '+1 for different names :slight_smile:

Is it possible to create direct associations with z-wave.js or do I have to use JUI?

I don’t have any experience with z-wave-js, so I can’t answer that. Maybe someone familiar with z-wave-js can chime in.