Sunday, November 13, 2022

The easiest way yet to house a remote Z-wave controller

I have HomeAssitant running on a server. But the Z-wave controller --a USB dongle-- needs to be centrally located in the building.

I used a Raspberry Pi 3 at that central location, and it has an ethernet cable running through the wall to the server. So the network is reliable.

In the past, I've run Raspbian on the Pi. For a couple years I ran USBIP. Then I ran a docker container of zwave2js. But both suffered from the same problem: Every month or so I needed to remember to login to the pi and perform maintenance. The docker container in particular would get stale and break the connection to HomeAssistant.

So we're trying something new:

  • Replacing Raspbian with Ubuntu Core, which will update automatically.
  • Replacing the docker container with a Snap package, which will also update automatically.

This turned out to be much easier than I expected:

  1. Install Ubuntu Core on a Pi
  2. Install and configure the Zwave-JS-UI snap

Installing the snap was literally this easy:

sudo snap install zwave-js-ui
sudo snap start zwave-js-ui

And then open a web browser to port 3000 on the pi. All configuration is done through the web ui. And HomeAssistant picked up the data immediately.

Bridging LXD Containers in Ubuntu Core

I'm setting up a set of server containers on an Ubuntu Core 22 base.

This is slightly different from deb-based Ubuntu in several ways.

The hardware is a salvaged laptop motherboard, without keyboard or monitor.