zwave-js-ui
Fully configurable Zwave Control Panel and MQTT gateway using NodeJS and Vue Recommended to pass in the USB adapter via the serial/by-id/ - find yours by a…
Platform availability
Available on 3 of 9 platforms
Health score?A 0-100 score computed nightly from four factors: maintained (40%: recent commits and steady activity), popular (25%: GitHub stars, log scale), easy to install (20%: platforms, install notes, setup guides, Docker image) and light to run (15%: minimum RAM, ARM support). When the source code has been checked, a fifth factor, security check (20%: automated scan for committed secrets, unsafe desktop-app settings, known-vulnerable dependencies and project hygiene; any serious finding caps it at 20), is added. Factors without data are left out and the rest are rescaled.
78/100 Good
- Maintained
- 100last commit 14 days ago
- Popular
- 621,243 GitHub stars
- Easy to install
- 553 install platforms, install notes, Docker image
- Light to run
- No data
Based on 3 of 4 factors.
Availability: platform listings confirmed today, links checked 15 days ago
- GitHub stars
- 1,243
- Open issues
- 124
- Last commit
- 2026-10-01
- Latest release
- v11.24.2
- License
- MIT
- Activity
- declining
Checked 9 days ago - source: GitHub (zwave-js/zwave-js-ui)
Resources & Compatibility
ARM (e.g. Raspberry Pi) is supported.
Checked 17 days ago - source: Docker Hub image tags and published docs
First-install notes
- Allow the Snap install to use your USB stick If you install with Snap (a Linux package manager), run `sudo snap connect zwave-js-ui:raw-usb` and `sudo snap connect zwave-js-ui:hardware-observe` after the install. These permissions let the app talk to the Z-Wave controller; without them, it won't detect any USB devices. source
- Back up your STORE_DIR storage folder Set a custom storage path, such as `STORE_DIR=~/.zwave-js-ui`, and keep a backup of that folder. It holds your settings and paired Z-Wave devices, so if it is lost during an update or reinstall, you may have to pair everything again. source
- Add devices with inclusion or learn mode After the app is running, use the inclusion/learn-mode step to pair your first Z-Wave device. This puts the controller into pairing mode; without it, new devices won't join and won't appear in the app. source
Fetched 17 days ago - each note links to its source
Variants
Alternatives
No alternatives collected yet.
Common questions
How should I pass a Z-Wave USB adapter to zwave-js-ui?
Use a stable serial/by-id path for the adapter instead of a short generic path. Find the correct path with a terminal command such as ls -l /dev/serial/by-id.
Which storage folder should I back up for zwave-js-ui?
Back up the STORE_DIR storage folder, which holds your settings and paired Z-Wave devices. If it is lost during an update or reinstall, you may have to pair everything again.
Why do new Z-Wave devices not appear in zwave-js-ui?
You need to use inclusion or learn mode to pair a device. This puts the controller into pairing mode, and without it new devices will not join.
How does the Home Assistant integration connect to zwave-js-ui?
The Home Assistant integration connects to the websocket exposed by the Z-Wave JS UI server component. That server component talks to the hardware and exposes the devices.
Why won't an older zwave-js-ui add-on load after a rollback?
An older zwave-js-ui add-on may fail to start after rolling back Home Assistant. It can complain that it cannot find the older version through GitHub.
Answers sourced from github.com, github.com, github.com, www.reddit.com, www.reddit.com
Community
- HomeAssistant/Z-Wave JS UI/ MQTT : r/selfhosted - Reddit (reddit)
- ZwaveJS or ZwaveJS UI? : r/homeassistant - Reddit (reddit)
- Z-Wave JS UI setup : r/homeassistant - Reddit (reddit)
- Help with Z-wave devices (Zooz) and the JS UI add-on - Reddit (reddit)
- Z-Wave JS versus Z-Wave JS UI : r/homeassistant - Reddit (reddit)
- Best way to install Z-wave JS (on another machine) for use ... - Reddit (reddit)
Collected 16 days ago - public community threads