# brewpi Pi deployment notes `config.json` is gitignored (`.gitignore:6`) - it's generated per-deployment from `config-real.json.tpl`/`config-sim.json.tpl`, not tracked in git, so notes about its actual on-Pi content have to live here instead. ## Heater/Stirrer `port` should use `/dev/serial/by-id/...`, not `/dev/ttyUSB0`/`/dev/ttyACM0` Found 2026-07-03: unplugging the Hendi mid-brew (to test the connect/ disconnect feature, and the crash-recovery fix that followed) caused both USB-serial adapters to renumber on replug - `/dev/ttyUSB0` became `/dev/ttyUSB1`, `/dev/ttyACM0` became `/dev/ttyACM1`. `config.json` still pointed at the old raw device paths, so a plain reconnect kept failing (wrong port, not a code bug) until `config.json` was updated to the stable `/dev/serial/by-id/...` symlinks udev already provides on this Pi: ``` Heater.port: /dev/serial/by-id/usb-JDI_Hendi-Control_AM3VLPVE-if00-port0 Stirrer.port: /dev/serial/by-id/usb-Pololu_Corporation_Pololu_Simple_High-Power_Motor_Controller_18v15_53FF-6F06-7277-5049-3950-0767-if00 ``` Since raw `/dev/ttyUSB*`/`/dev/ttyACM*` numbering isn't stable across replugs (and a real unplug is exactly the scenario the connect/disconnect feature exists to handle gracefully), `config.json` should keep using the by-id paths above rather than reverting to `/dev/ttyUSB0`/`/dev/ttyACM0`. ## Cleanup: `config.json.bak-20260703212821` A timestamped backup (`config.json.bak-20260703212821`) was left next to `config.json` on the Pi before the by-id edit above, in case it needed to be reverted. It wasn't needed - safe to delete once this note has been read: `rm /home/jens/brewpi/config.json.bak-20260703212821`.