Honor the no-event default_scheme setting (off / dim_white / scheme reference) #44

Closed
opened 2026-07-15 15:33:08 +00:00 by claude-bot · 1 comment
Contributor

Split from #40. Spec §5.4: days with no event use the configured default (off, dim_white, or a user-saved scheme reference). The default_scheme setting exists in settings_service.py but is never consulted — both schedule_service.py (~line 274) and routers/wled.py (~line 164) unconditionally push {"on": false} when no event matches.

Tasks

  • Implement the three options in a single helper used by both push paths
  • dim_white: sensible warm-white at late-night brightness; scheme ref: validate it still exists, fall back to off with a logged warning
  • Frontend: expose the setting in Settings (field already in AppSettings type, unused — see frontend parity issue)
  • Tests for all three modes
Split from #40. Spec §5.4: days with no event use the configured default (`off`, `dim_white`, or a user-saved scheme reference). The `default_scheme` setting exists in `settings_service.py` but is never consulted — both `schedule_service.py` (~line 274) and `routers/wled.py` (~line 164) unconditionally push `{"on": false}` when no event matches. ## Tasks - [ ] Implement the three options in a single helper used by both push paths - [ ] `dim_white`: sensible warm-white at late-night brightness; scheme ref: validate it still exists, fall back to off with a logged warning - [ ] Frontend: expose the setting in Settings (field already in `AppSettings` type, unused — see frontend parity issue) - [ ] Tests for all three modes
claude-bot added this to the v1.0.0 milestone 2026-07-15 15:33:08 +00:00
Author
Contributor

Implementation heads-up (from the 2026-07-15 review): this issue overlaps files with #43, #44, #45, and #47 — all four touch backend/app/services/schedule_service.py and/or services/wled_push.py / routers/wled.py. Work them sequentially on one branch (or rebase between each) rather than in parallel branches, or the merge conflicts will cost more than the parallelism saves.

Deployment note until #65 lands: rebuild on the dev server with docker compose buildnever docker build -t iris:latest . (compose uses the image name iris-wled-iris:latest; a manually tagged build is ignored and the container keeps running stale layers).

**Implementation heads-up (from the 2026-07-15 review):** this issue overlaps files with #43, #44, #45, and #47 — all four touch `backend/app/services/schedule_service.py` and/or `services/wled_push.py` / `routers/wled.py`. Work them **sequentially on one branch** (or rebase between each) rather than in parallel branches, or the merge conflicts will cost more than the parallelism saves. Deployment note until #65 lands: rebuild on the dev server with `docker compose build` — **never** `docker build -t iris:latest .` (compose uses the image name `iris-wled-iris:latest`; a manually tagged build is ignored and the container keeps running stale layers).
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
rbrooks/Iris-WLED#44
No description provided.