📡 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.
📦 Resources & Setup Scripts
Grab the automated bash script from GitHub to follow along with the video.
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
| Port | Purpose |
|---|---|
| 8230 | Web control panel (host → container 8091) |
| 3005 | WebSocket server (host → container 3000) — connect Home Assistant here |
| USB stick | Manual: edit compose to map your /dev/serial/by-id device |