From 9cd386a22ed74ae11ba0241e2fe41abfeead0f27 Mon Sep 17 00:00:00 2001 From: Jens Ahrensfeld Date: Fri, 3 Jul 2026 21:35:30 +0200 Subject: [PATCH] docs: note config.json's by-id serial paths and the .bak cleanup config.json isn't tracked in git, so this records what changed on the Pi during today's connect/disconnect testing: Heater/Stirrer ports switched from /dev/ttyUSB0//dev/ttyACM0 to stable /dev/serial/by-id/... paths after a replug renumbered both devices, plus a reminder to remove the pre-edit config.json.bak-20260703212821 left on the Pi. Co-Authored-By: Claude Sonnet 5 Claude-Session: https://claude.ai/code/session_01YaPLuRPpyjWcwhMvCvpHCL --- docs/pi_deployment_notes.md | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) create mode 100644 docs/pi_deployment_notes.md diff --git a/docs/pi_deployment_notes.md b/docs/pi_deployment_notes.md new file mode 100644 index 0000000..18de108 --- /dev/null +++ b/docs/pi_deployment_notes.md @@ -0,0 +1,32 @@ +# 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`.