Please find the guide below, please ignore any typos and let me know in case you have any quesitions.
First check if you stick is supported here.
Setup Z-Wave Hub (Aeotec Z-Stick Gen 5)
The Aeotec stick is attached to the same Raspberry Pi 3 as the ConBee II. We are going to install a software called OZWDaemon inside a docker container. The OZWDaemon acts as a Z-Wave to MQTT bridge.
Install Raspbian Lite on the Raspberry Pi.
Give user access to serial devices to controll the ConBee II stick:
sudo usermod -aG dialout pi
restart
Now we are going to create a Symlink for the stick, this way it doesn’t matter when the device changes the device path (/dev/ttyACM0 instead of /dev/ttyACM1) due to detaching and reattaching the stick or when we add another stick.
Get the product and vendor id of the stick by listing all usb devices:
lsusb
Note the 8 digit number of the stick e.g. 0658:0200
create a file “99-usb-serial.rules” in the folder /etc/udev/rules.d
sudo nano /etc/udev/rules.d/99-usb-serial.rules
Add the following content, where ABCD is the first 4 digits of the previously noted number and 1234 is the last 4 digits.
SUBSYSTEM=="tty", ATTRS{idVendor}=="ABCD", ATTRS{idProduct}=="1234", SYMLINK+="zwave"
Restart.
Install docker and docker-compose:
Docker:
curl -fsSL https://get.docker.com -o get-docker.sh
sudo sh get-docker.sh
sudo usermod -aG docker pi
rm get-docker.sh
Docker-compose:
sudo apt-get install -y python python-pip
sudo update-alternatives --install /usr/bin/python python /usr/bin/python3.7 1
sudo apt-get install -y libffi-dev libssl-dev
sudo apt-get remove python-configparser
sudo pip3 install docker-compose
Create docker-compose.yml file and directory deconz to store the config:
Create docker-compose.yml file:
sudo nano docker-compose.yml
Add the following content:
version: "3"
services:
ozwdaemon:
container_name: ozwdaemon
devices:
- /dev/zwave
environment:
MQTT_SERVER: ip-of-home-assistant-machine
MQTT_PORT: 1883
MQTT_USERNAME: mqtt_username
MQTT_PASSWORD: your-secret-mqtt-password
USB_PATH: /dev/zwave
image: openzwave/ozwdaemon:allinone-latest
network_mode: host
restart: unless-stopped
security_opt:
- seccomp:unconfined
volumes:
- ./ozwdaemon:/opt/ozw/config
This will enable the ozw-admin through port 1983, VNC Server through port 5900 and HTML VNC Client through port 7800.
You can add the following to the environment variables if you want to include devices securely:
OZW_NETWORK_KEY: "network_key"
If you already paired devices securely to your Aeotec stick, put the network key you used to configure the stick in the past.
Configure OpenZWave integration in Home Assistant
In Home Assistant on the sidebar click on “Configuration” then on “Integrations”. Click on the orange plus in the bottom right corner, search for “openzwave” and click on "OpenZWave (Beta).
Hit “Submit”.
If you already had devices paired to the Aeotec stick previously your devices should appear under “Configuration” -> “Integrations” -> “OpenZWave (Beta)”.
To add devices, access the web interface through http://ip-op-the-pi:7800. Click on “Open” in the top left corner. Press “Start” in the bottom box called “Remote OZWDaemon”. Bring the device close to the Aeotec stick for pairing. Click on “Add Node” in the second line at the top. If you want to include the device securely, press “Yes” in the pop-up box, otherwise press “No”. Put the device into pairing mode (For the Aeotec Multisensors I use press on the button at the back, for secure mode press twice extremly fast). Your device should appear under “Node List” if it was successful. Put the device into the final location and press “Heal Network”. Check in Home Assistant if the devices appeared.
The web interface can also be used to change device specific configuration such as motion sensor sensitivity for the Aeotec Multisensor.