Video coming soon…

📡 Setup Z-Wave JS UI — Control Panel for Your Z-Wave Network

Deploy Z-Wave JS UI on Ubuntu with Docker — a full-featured web control panel and MQTT gateway for your Z-Wave smart-home devices, built on the modern Z-Wave JS driver, on port 8230.

⚠️ This script is provided for demo and testing purposes only. Not intended for production use.

📦 Resources & Setup Scripts

Grab the automated bash script from GitHub to follow along with the video.

Automated install script — deploys Z-Wave JS UI on port 8230 (WebSocket on 3005). You must edit the compose file to pass through your Z-Wave USB stick before it can control devices.
View on GitHub

Quick Install:

wget https://raw.githubusercontent.com/mhmdali94/Docker/main/iot/zwave-js-ui/zwave-js-ui-ubuntu.sh
chmod +x zwave-js-ui-ubuntu.sh
sudo bash zwave-js-ui-ubuntu.sh

Tutorial Steps

1 Download the Script

wget https://raw.githubusercontent.com/mhmdali94/Docker/main/iot/zwave-js-ui/zwave-js-ui-ubuntu.sh

2 Make it Executable

chmod +x zwave-js-ui-ubuntu.sh

3 Run the Installer

The script installs Docker if needed and starts Z-Wave JS UI on port 8230, with a WebSocket server on 3005 and its store in a mounted volume. Note the USB stick is not passed through automatically — you edit the compose file to add your device.

sudo bash zwave-js-ui-ubuntu.sh

4 Pass Through the USB Stick and Open the UI

Edit the compose file to map your Z-Wave USB stick (by its /dev/serial/by-id path) into the container, restart, then open the control panel:

http://<your-server-ip>:8230

Ports Used

PortPurpose
8230Web control panel (host → container 8091)
3005WebSocket server (host → container 3000) — connect Home Assistant here
USB stickManual: edit compose to map your /dev/serial/by-id device

Overview

Why Use It

When You Need It

    Who Should Use It

      Real Use Cases

        Main Features

          How to Use After Installation

            Security Best Practices

              Ports and Firewall Notes

              Backup and Maintenance

                Common Mistakes

                  Troubleshooting

                    Alternatives

                    When Not to Use It

                    PrismaTechWork Professional Help

                      Contact Us

                      Frequently Asked Questions