2025-04-15 10:14:46 +00:00

led-controller

LED controller web app for managing profiles, tabs, presets, and colour 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, Colour 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 default tab (starter presets).
  • Optional DJ tab seeding creates:
    • dj tab bound to device name dj
    • starter DJ presets (rainbow, single colour, transition)

Preset colours and palette linking

  • In preset editor, selecting a colour picker value auto-adds it when the picker closes.
  • Use From Palette to add a palette-linked preset colour.
  • Linked colours are stored as palette references and shown with a P badge.
  • When profile palette colours change, linked preset colours update across that profile.

API docs

  • Main API reference: docs/API.md
Description
No description provided
Readme AGPL-3.0 4.9 MiB
Languages
Python 51.6%
JavaScript 39.5%
HTML 5%
CSS 3.9%