Zwave-JS-UI on Znet via docker

This Solution has only been tested on Z-net device (RPI-3b) with the Ezzee REV 09.12.14 board mounted on, I have no idea if this method will work on a RPI 4, there might be some adjustments to be done in regards with the serial port access

1- First strongly suggest to make a copy of the original SD card with win32 disk imager and keep original and copy safe
2- Use a new SD card (minimum 32GIG suggested for Docker)
3- Install the Raspberry PI imager software https://www.raspberrypi.com/software/

  • Start the RPI imager software
  • Select the RPI 3 for the Raspberry PI model
  • Select Raspberry PI OS (legacy 32-bit) as the OS
  • Select my SD card (I used a new 32GB card)
    4- Once copy process completed, remove SD card from computer and Insert the SD card in the Z-net device
    5- Connect keyboard, mouse and HDMI screen to the Raspberry device
    6- Plug power and let the PI Boot
  • Configure language, timezone
  • Use ‘pi’ as the usernoame and enter your own password
  • Configure the wifi network on your PI (note the ip adress of your device)
  • Wait until a message from the OS suggest updating the new installation and proceed with all the available updates
  • Select Restart
  • Activate VNC and SSH on the PI (so you can remotely access the PI either by terminal or graphical interface) without keyboard,mouse and monitor
  • Click on the raspberry image (upper left corner)
  • Select ‘preferences’ then ‘configuration’
  • In the interface tab, activate ‘SSH’,‘VNC’, ‘serial port’ and desactivate ‘serial console’ then validate
  • Don’t reboot immediatly
  • Edit /boot/config.txt and disable Bluetooth, if not the Ezzee board won’t be available to the /dev/ttyAMA0 port
  • Click on the terminal icon
  • Type and execute ‘sudo nano /boot/config.txt’
  • Add following at the end of the file,

#Disable Bluetooth
dtoverlay=disable-bt

  • Save and exit (CTRL-X) and Yes and enter
  • Reboot the PI (select the raspberry image, select disconnect and then reboot)
  • You can now disconnect keyboard, mouse and monitor and you can connect to your PI either using VNC terminal client or SSH using the IP adress noted above

7- Install Docker

  • Click on the terminal icon to open a terminal window
  • Type and execute ‘sudo apt-get update && sudo apt-get upgrade’ to make sure you got all the latest packages installed
  • Type and execute ‘curl -sSL https://get.docker.com | sh’ this process takes a few minutes to execute
  • Type and execute ‘sudo usermod -aG docker $USER’
  • Close the terminal window
  • Reboot your PI

8- Test and make sure docker was installed correctly

  • Click on the terminal icon to open a terminal window
  • Type and execute ‘docker run hello-world’
  • You should have a message with the following text in it:
    “Hello from Docker!
    This message shows that your installation appears to be working correctly.”

10- Install and Run ZWave-JS-UI as a service:

  • Type and execute ‘sudo mkdir /opt/zwavejs-ui’
  • Type and execute ‘cd /opt/zwavejs-ui’
  • Type and execute ‘sudo nano /opt/zwavejs-ui/docker-compose.yml’
  • Cut and paste the following in the editor:

version: “3.7”
services:
zwave-js-ui:
container_name: zwave-js-ui
image: zwavejs/zwave-js-ui:latest
restart: unless-stopped
tty: true
stop_signal: SIGINT
environment:

  • SESSION_SECRET=mySecretSession
  • TZ=Europe/Amsterdam
    devices:
  • ‘/dev/ttyAMA0:/dev/zwave’
    volumes:
  • ./store:/usr/src/app/store
    ports:
  • “8091:8091” # port for web interface
  • “3000:3000” # port for Z-Wave JS websocket server
  • Save and exit (CTRL-X) and Yes and enter
    11- Now you can launch the docker compose container with ‘docker compose up -d’ or you can launch it without -d to see what’s going on.
  • Type and execute ‘docker compose up -d’
  • First execution might take some time as it is downloading packages
    12- From here you should be able to connect to the Zwave-JS-UI typing ‘your RPI IP adresss’:8091 in a browser to get to the Z-wave-JS-UI interface
    13- In the ZWave-js-is interface, in setting (cog wheel) under the zwave tab, make sure you type in /dev/zwave in the serial port and then select ‘Save’
    -After about 2 minutes, the interface will reload and in thecontrol panel, if your Z-net used to have devices configured you should find them there