The hardware

Machines are named as chess pieces, by what losing one costs. A pawn is rebuilt from configuration, so losing one costs an evening, never the data.

The machines

pawn-01 (always-on host)
A Beelink SER5 mini PC: a Ryzen 5 5500U, 16 GB of memory and a 480 GB NVMe drive. Debian and Docker, set up entirely by Ansible. The only machine on all day, it runs the whole stack and its own CI.
MacBook (development)
An M3 with 16 GB, where the design and much of the work happen. Not on all day.
Desktop (on-demand inference)
A Windows desktop with an 8 GB GPU, for running models locally when asked. Not on all day.

The radios

Zigbee coordinator
A SONOFF Dongle-PP10 (TI CC2674P10, Zigbee and Thread) on the server, which hears every sensor.
Sensors
Four SONOFF temperature and humidity sensors, two SNZB-02P and two SNZB-02D, on Zigbee 3.0 and batteries.
The old hub
A SmartThings hub still runs the lights. Chess Board reads nothing from it and controls nothing.

Why one box is always on

A Zigbee sensor has no storage and no clock: a reading sent while the server is down is gone. No software can close that gap, and that is why there is one always-on machine.

A second node is wanted, but not yet. It comes when one box is no longer enough, and then each machine can deploy the others.

The source

The repositories behind all of this are private for now. Each will go public on its own, once its whole history has been swept, and get a link here. See Open source.

Want a site? contact@chesser.uk