Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Z Wave

Z Wave devices are a great alternative to WiFi based devices. WiFi devices suck, and usually depend on some manufacturer's shitty app. Z Wave only relies on my own server which has a USB Z-Wave controller plugged into it.

Configuring Z-Wave JS UI

On initial setup, you have to tell it, through the UI unfortunately (I haven't gotten it to work through the Nix config), what serial port the Z-Wave controller is plugged into. On NixOS specifically, this is easy:

ls /dev/serial/by-id
# this will likely output something like, for example mine:
usb-Zooz_800_Z-Wave_Stick_533D004242-if00

# then find where that's pointing
realpath /dev/serial/by-id/usb-Zooz_800_Z-Wave_Stick_533D004242-if00
# will output, for example
/dev/ttyACM0

On general Linux it's a bit more manual:

# unplug the controller
ls /dev/ttyUSB* /dev/ttyACM* > before
# plug in the controller
ls /dev/ttyUSB* /dev/ttyACM* > after
# diff the results
nix run nixpkgs#delta before after

Z-Wave Devices

If a device becomes "dead" in Z-Wave JS UI, you probably just need to delete and re-add the device to the network.

Putting the device into "add" mode or "interview" mode varies by device. Here's some that I have:

deviceaction
Minoston Z-Wave Outdoor Smart PlugTriple click button
Zooz ZAC38 Range ExtenderTriple click button
Zooz ZEN04 Smart PlugTriple click button