ef968ebe395ec6d852392e21418b0d81b5550047
led-controller
LED controller web app for managing profiles, tabs, presets, and color palettes, and sending commands to LED devices over the serial -> ESP-NOW bridge.
Run
- One-time setup for port 80 without root:
sudo scripts/setup-port80.sh - Start app:
pipenv run run - Dev watcher (auto-restart on
src/changes):pipenv run dev
UI modes
- Run mode: focused control view. Select tabs/presets and apply profiles. Editing actions are hidden.
- Edit mode: management view. Shows Tabs, Presets, Patterns, Color Palette, and Send Presets controls, plus per-tile preset edit/remove and drag-reorder.
Profiles
- Applying a profile updates session scope and refreshes the active tab content.
- In Run mode, Profiles supports apply-only behavior (no create/clone/delete).
- In Edit mode, Profiles supports create/clone/delete.
- Creating a profile always creates a populated
defaulttab (starter presets). - Optional DJ tab seeding creates:
djtab bound to device namedj- starter DJ presets (rainbow, single color, transition)
Preset colors and palette linking
- In preset editor, selecting a color picker value auto-adds it when the picker closes.
- Use From Palette to add a palette-linked preset color.
- Linked colors are stored as palette references and shown with a
Pbadge. - When profile palette colors change, linked preset colors update across that profile.
API docs
- Main API reference:
docs/API.md
Languages
Python
51.6%
JavaScript
39.5%
HTML
5%
CSS
3.9%