Initial sync: memory, agents, commands, and gitignore

Syncs project memory, custom agents, and commands across machines.
Excludes secrets (settings.json), session state, and runtime files.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
Chris
2026-06-11 09:19:24 -05:00
commit 33cab10cef
47 changed files with 1229 additions and 0 deletions
@@ -0,0 +1,22 @@
---
name: MQTT Home Assistant Integration Plan
description: Detailed plan for adding MQTT discovery-based Home Assistant integration to the split-flap display Flask app
type: project
---
Plan to add MQTT integration to the split-flap display so Home Assistant can control it natively.
**Why:** The display is currently only controllable via the Flask web UI. MQTT lets HA send text, switch apps/animations, and see current state via auto-discovered entities.
**How to apply:** When implementing, all changes go in `SplitFlap-RPI-FRONTEND/frontend_code_apr24/app.py`. The full plan is saved at `.claude/plans/cached-beaming-twilight.md`.
**Summary of approach:**
- Add `paho-mqtt` dependency
- MQTT settings added to `load_settings()` defaults: broker (homeassistant.local), port (1883), user, password, enabled flag
- 3 HA entities via MQTT Discovery: `text` (send display text), `select` (switch app/animation mode), `sensor` (current display string)
- All entities grouped under one device, shared LWT availability on `splitflap/availability`
- Command handlers reuse existing patterns: `send_to_display()`, `active_app`, `stop_event.set()`, `loop_delay` logic
- State published with `retain=True` from `send_to_display()` and route handlers so HA stays in sync
- Graceful fallback if MQTT unavailable (same pattern as serial fallback)
- Firmware and serial protocol unchanged
- Broker: Mosquitto add-on on Home Assistant