Files
claude-sync/projects/-Users-csader-Downloads-SplitFlapDisplay-main/memory/project_mqtt_ha_plan.md
T
Chris 33cab10cef 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>
2026-06-11 09:19:24 -05:00

1.4 KiB

name, description, type
name description type
MQTT Home Assistant Integration Plan Detailed plan for adding MQTT discovery-based Home Assistant integration to the split-flap display Flask app 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