Skip to content

raspberry pi: pi-zwave01

pi-zwave01 is a Raspberry Pi 4 Model B. it holds the USB radios for home automation, keeps time from a GPS and serves it to the LAN, and shows its status on a small OLED. it is a standalone docker host outside the swarm, and its stacks deploy from git like everything else.

see backups for how the data side is covered.

OS

hardware Raspberry Pi 4 Model B Rev 1.5
OS Debian 13 (trixie), 64 bit, with the Raspberry Pi archive for the kernel and firmware
installed with Raspberry Pi Imager, which sets up first boot through cloud-init

before you edit these two files, know that cloud-init keeps owning them after first boot:

  • /etc/hosts is regenerated from /etc/cloud/templates/hosts.debian.tmpl (manage_etc_hosts is on)
  • /etc/ssh/sshd_config.d/50-cloud-init.conf sets PasswordAuthentication yes

boot config

these are the lines in /boot/firmware/config.txt that matter for this pi:

dtparam=i2c_arm=on              # i2c for the OLED
enable_uart=1                   # serial port for the GPS
dtoverlay=disable-bt            # gives the GPS the full UART instead of the mini UART
dtoverlay=pps-gpio,gpiopin=4    # the GPS PPS line on GPIO 4 becomes /dev/pps0

to keep the kernel's login console off the port the GPS uses, /boot/firmware/cmdline.txt has no console=serial0.

with that, /dev/serial0 points at /dev/ttyAMA0 and /dev/pps0 exists.

network

NetworkManager has one ethernet profile with static addresses, in /etc/NetworkManager/system-connections/LAN.nmconnection:

[connection]
id=LAN
type=ethernet
interface-name=eth0

[ipv4]
method=manual
address1=192.168.1.96/24
gateway=192.168.1.1
dns=192.168.1.35;192.168.1.36;
dns-search=mydomain.com;

[ipv6]
method=manual
address1=2001:db8:1000:1::96/64
gateway=2001:db8:1000:1::1
dns=2001:db8:1000:1::35;2001:db8:1000:1::36;
dns-search=mydomain.com;

the DNS servers are my two internal DNS servers, not the AdGuards.

on these pages

backups

the pi backs up hourly to PBS: /docker-data, plus reference copies of /etc, /usr/local, /root and /home. see raspberry pi to PBS.