I'm using a Aeotec Z-Stick Gen5 Plus for Z-Wave.
1. Connect the Z-Stick to the RPi.
2. Verify that the RPi sees the Z-Stick.
lsusb
3. Install Docker (as root)
cd ~ && \
curl -fsSL https://get.docker.com -o get-docker.sh && \
sudo sh get-docker.sh && \
sudo usermod -aG docker pi && \ <-- This assumes that you're using the 'pi' user.
sudo apt install python3 && \
sudo apt install python3.pip && \
sudo pip3 -v install docker-compose
4. Create the ZWavejs2MQTT installation directory (as root)
cd ~ && \
mkdir /opt/zwavejs2mqtt && \
chown pi:pi /opt/zwavejs2mqtt
5. Install ZWavejs2MQTT (now, back to the normal ‘pi’ user)
cd /opt/zwavejs2mqtt && \
curl -fsSL https://raw.githubusercontent.com/zwave-js/zwavejs2mqtt/master/docker/docker-compose.yml -o docker-compose.yml
6. Optionally edit the ZWavejs2MQTT config.
vim docker-compose.yml
This is the default config I had:
services:
zwavejs2mqtt:
container_name: zwavejs2mqtt
image: zwavejs/zwavejs2mqtt:latest
restart: always
tty: true
stop_signal: SIGINT
environment:
- SESSION_SECRET=mysupersecretkey
# - TZ=America/Los_Angeles # uncomment and edit to match you timezone if you want logs time and dates to match your timezone instead of UTC.
networks:
- zwave
devices:
- '/dev/ttyACM0:/dev/ttyACM0' #<-- This is likely correct for the Z-Stick
volumes:
- ./store:/usr/src/app/store
ports:
- '8091:8091' # port for web interface
- '3000:3000' # port for zwave-js websocket server
networks:
zwave:
volumes:
zwave-config:
name: zwave-config
6. Start the ZWavejs2MQTT container
docker-compose up -d
7. Navigate to http://[server-ip]:8091/
8. On the ‘Settings’ tab, set the ‘Serial Port’ and ‘Network Key’ fields accordingly, toggle ON ‘Disable MQTT Gateway’ and ‘WS Server’.
9. On the ‘Control Panel’ tab, add the Z-Stick. This is where you'll add all your devices.
10. In Home Assistant, add a new Integration: Z-Wave JS
11. A dialog box will open: deselect ‘Use the Z-Wave JS Supervisor add-on’
12. Set the URL to the RPi - ws://[RPi-IP]:3000
Stop the container.
cd /opt/zwavejs2mqtt
docker-compose down
Pull the latest version of ZWaveJS2MQTT.
docker pull zwavejs/zwavejs2mqtt
Start the container.
docker-compose up -d