How to Add and Configure a Z-Wave Controller in HA with Z-Wave JS UI

Modified on Wed, 1 Jul at 1:48 PM

TABLE OF CONTENTS


Overview

We recommend to use the Z-Wave JS UI for controlling and managing the Shelly Wave devices in Home Assistant.

With Z-Wave JS UI, you can:

  • Add a Z-Wave USB controller

  • Include and exclude Z-Wave devices

  • Configure Z-Wave device parameters

  • Check device status and communication

  • Use SmartStart

  • Perform OTA firmware updates

  • Re-interview devices

  • Check the Z-Wave network graph

  • and much more...

This guide explains the basic installation, controller configuration, Home Assistant integration, and the main Z-Wave JS UI menus.


1. Install Z-Wave JS UI add-on

  1. Open Home Assistant.

  2. Go to Settings.

  3. Open Add-ons.

  4. Click Add-on Store.

  5. Search for Z-Wave JS UI.

  6. Open the Z-Wave JS UI search result.

  7. Click Install.

Wait until the installation is complete.


2. Start the Z-Wave JS UI add-on

After the add-on is installed:

  1. Enable Watchdog.

  2. Enable Show in sidebar.

  3. Click Start.

The Watchdog option helps Home Assistant restart the add-on if it stops.

The Show in sidebar option adds Z-Wave JS UI to the Home Assistant side menu.


3. Open Z-Wave JS UI

In the left side menu of Home Assistant, open Z-Wave JS UI. When you open it for the first time, you may be asked if you want to share statistics with the Z-Wave JS project.


Choose the option you prefer:

  • Click OK to share statistics.

  • Click No if you do not want to share statistics.

After this, a Change Log may be shown. Close it to access the Z-Wave JS UI menus.


4. Configure the Z-Wave USB controller

To configure the Z-Wave USB controller:

  1. Open Z-Wave JS UI.

  2. Go to Settings.

  3. Open the Z-Wave section.

  4. Find Serial Port.

  5. Select the USB port of your Z-Wave controller.

The correct port often contains a name similar to:

usb-Silicon_Labs...

Select this port.


Generate security keys

After selecting the USB controller, scroll to the security key section.

You should see the following keys:

  • S2 Unauthenticated

  • S2 Authenticated

  • S2 Access Control

  • S0 Legacy

and for long range controllers:

  • S2 Unauthenticated

  • S2 Authenticated


Click the arrow button next to each key field. Numbers and letters will be generated in the fields. These keys are used for secure Z-Wave inclusion.


Save the settings

After selecting the USB controller and generating the security keys:

  1. Scroll to the bottom right of the page.

  2. Click Save.

The Z-Wave JS UI controller configuration is now saved.


5. Add Z-Wave integration in Home Assistant

After Z-Wave JS UI is configured, you must connect it to Home Assistant.

  1. Open Home Assistant.

  2. Go to Settings.

  3. Open Devices & services.

  4. Click Add integration.

  5. In the search field, type Z-Wave.

  6. Select Z-Wave.

When the window What do you want to add? appears, select Z-Wave.


Select connection method

In the Select connection method window:

  1. Make sure Use the Z-Wave JS Supervisor add-on is not selected.

  2. Click Submit.


Enter the WebSocket URL

In the Z-Wave URL field, enter: ws://a0d7b954-zwavejs2mqtt:3000

Then click Submit.


After this, select the room or area where your Home Assistant system is located. The Z-Wave integration is now connected to Z-Wave JS UI.


Summary

To add and configure a Z-Wave controller in Home Assistant:

  1. Install Z-Wave JS UI from the Add-on Store.

  2. Enable Watchdog and Show in sidebar.

  3. Start the add-on.

  4. Open Z-Wave JS UI.

  5. Select the Z-Wave USB controller under Settings > Z-Wave > Serial Port.

  6. Generate the security keys.

  7. Save the settings.

  8. Add the Z-Wave integration in Home Assistant.

  9. Use the URL ws://a0d7b954-zwavejs2mqtt:3000.

  10. Use the Z-Wave JS UI Control Panel to manage devices.


Z-Wave JS UI gives access to device parameters, firmware updates, associations, logs, statistics, and advanced troubleshooting tools.