Send presets and select on broadcast with groups; unicast only for
per-device settings. V1 select as [preset_id, step?]. Sequence steps
use beat counts; manual presets get select each beat, auto only on
step change. Bridge downlink router, Pi envelope delivery, and tests.
Co-authored-by: Cursor <cursoragent@cursor.com>
Replace serial/Wi-Fi driver transport paths with WebSocket bridge client,
binary espnow_wire delivery, device announce registry, and restructured
espnow-sender (AP + broadcast passthrough). Includes docs and tests.
Co-authored-by: Cursor <cursoragent@cursor.com>
Add profile/preset/sequence JSON import and export; map preset mode to
wire n6 with a mode dropdown for multi-mode patterns; zone edit shows
presets or sequences only with content_kind on save; update catalogue
and tests for merged pattern names.
Co-authored-by: Cursor <cursoragent@cursor.com>
- Optional profile_id on groups; UI and API for shared vs profile-only groups\n- Zone content_kind (presets vs sequences); edit modal shows matching sections; devices via groups only\n- Server sequence playback folds zone brightness into preset wire b (per MAC where needed)\n- Related preset/sequence/audio/beat-route and client updates
Co-authored-by: Cursor <cursoragent@cursor.com>
- Zones/presets/sequence strip and Pipfile dev command fix
- Optional live reload and beat test audio asset + generator
Co-authored-by: Cursor <cursoragent@cursor.com>
Route beat-triggered manual selects from the controller server, add preset background and beat-counter UI support, and bump led-driver to include the matching pattern/runtime fixes.
Co-authored-by: Cursor <cursoragent@cursor.com>
- Serve GET /settings as JSON by removing duplicate HTML route (use /settings/page for the standalone UI).
- Save global_brightness via PUT; broadcast to connected drivers; push saved level when outbound WS connects.
- Zones UI loads brightness from GET /settings only (no localStorage).
- Bump led-driver submodule for settings.save on brightness with save flag.
- Extend API doc and endpoint tests for global_brightness.
Co-authored-by: Cursor <cursoragent@cursor.com>
- Add HTTP endpoint tests to mimic browser interactions
- Move old test files from test/ to tests/ directory
- Add comprehensive endpoint tests for tabs, profiles, presets, patterns
- Add README documenting test structure and how to run tests
- Add Selenium-based browser tests for tabs, profiles, presets, and color palette
- Test drag and drop functionality for presets in tabs
- Include cleanup functionality to remove test data after tests
- Tests run against device at 192.168.4.1