pi and Cursor
827eb97203
feat(settings): server global brightness and Wi-Fi driver resync
...
- 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 >
2026-05-03 22:15:30 +12:00
pi and Cursor
3cca0cffc5
chore: bump led-tool and led-driver submodules
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-05-03 21:27:32 +12:00
pi and Cursor
d36828bde2
feat(ui): persist header brightness slider in localStorage
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-05-03 21:27:31 +12:00
pi and Cursor
ed0048c795
chore(service): avoid network-online stall and speed pipenv boot
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-05-03 21:27:31 +12:00
pi and Cursor
b316edbaf9
fix(wifi): stagger driver ws dials and extend initial retry window
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-05-03 21:27:31 +12:00
pi
264eb7296f
test: fix zone_ctl fixture, pattern assertions, and browser cleanup
...
Made-with: Cursor
2026-04-12 00:27:43 +12:00
pi
fbd4295302
feat(ui): patterns list and create form layout
...
Made-with: Cursor
2026-04-12 00:13:58 +12:00
pi
7bdb324ebc
feat(patterns): driver_patterns helper, on/off ota guard, drop duplicate py tree
...
Made-with: Cursor
2026-04-12 00:13:56 +12:00
pi
28b19b5219
docs: zones, transports, pattern ota, and submodule readmes
...
Made-with: Cursor
2026-04-12 00:13:54 +12:00
pi
75ddd559c9
chore(db,led-tool): sync device/zone data and led-tool submodule
...
Made-with: Cursor
2026-04-11 15:20:26 +12:00
pi
5a1067263a
chore: add pattern samples, http driver helpers, OTA/UDP test tools
...
- patterns/: sample dynamic pattern modules for OTA
- esp32/msg.json: example bridge message shape
- models/http_driver.py, wifi_peer.py: Wi-Fi driver HTTP poll helpers
- tests: pattern OTA send script and UDP discovery echo server
- Submodule led-driver: http_poll and test utilities
Made-with: Cursor
2026-04-11 15:19:15 +12:00
pi
e67de6215a
feat(patterns,api): pattern OTA, graceful shutdown, driver delivery updates
...
- Pattern controller/UI and presets patterns tab for OTA to Wi-Fi drivers
- Device controller extensions; driver_delivery chunk handling
- main: SIGINT/SIGTERM shutdown, TCP/UDP server close coordination
- Submodule led-driver: Wi-Fi default transport, lazy espnow import, dynamic patterns
Made-with: Cursor
2026-04-11 15:10:23 +12:00
pi
7179b6531e
feat(controller): udp hello discovery and remove tcp registration
...
Made-with: Cursor
2026-04-06 21:28:13 +12:00
pi
fd618d7714
feat(zones): rename tabs to zones across api, ui, and storage
...
Made-with: Cursor
2026-04-06 18:22:03 +12:00
pi
d1ffb857c8
feat(ui): devices tcp status, tabs send, preset websocket hooks
...
Made-with: Cursor
2026-04-06 00:22:00 +12:00
pi
f8eba0ee7e
feat(api): tcp driver registry, identify, preset push delivery
...
- Track Wi-Fi TCP clients, liveness pings, disconnect broadcast, bind errors via gather\n- Device list/get include connected; POST identify with __identify preset\n- Presets push/send delivery helpers; bump led-driver hello type
Made-with: Cursor
2026-04-06 00:21:57 +12:00
pi
e6b5bf2cf1
feat(devices): wifi tcp registry, device API/UI, tests; bump led-tool
...
Made-with: Cursor
2026-04-05 21:13:07 +12:00
pi
fbae75b957
chore(cursor): add scoped-fixes rule for minimal changes
...
Made-with: Cursor
2026-04-05 21:13:03 +12:00
pi
93476655fc
test: add tcp mock server with bind conflict hints
...
Made-with: Cursor
2026-04-05 16:41:23 +12:00