feat: split options flow into 5-step wizard with room presets#1450
Open
florianhorner wants to merge 5 commits intobasnijholt:mainfrom
Open
feat: split options flow into 5-step wizard with room presets#1450florianhorner wants to merge 5 commits intobasnijholt:mainfrom
florianhorner wants to merge 5 commits intobasnijholt:mainfrom
Conversation
Replace the single 38-option form with a progressive disclosure wizard: Essentials → Sleep → Sun & Timing → Behavior → Device Workarounds. Adds room presets (Bedroom/Office/Living Room/Nursery) for one-click setup, dependency validation between options, and range validation for brightness and color temperature. Restructures all 37 translation files into per-step groupings with new error keys. Includes 16 tests covering the full wizard flow, preset application, and all validation paths. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
for more information, see https://pre-commit.ci
Covers the color temperature range check in config_flow.py that was missing a corresponding test (brightness range already had one). Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
for more information, see https://pre-commit.ci
- Derive preset selector options from ROOM_PRESETS keys instead of hardcoding the list - Add DOCS entry for CONF_ROOM_PRESET as single source of truth - Guard EntitySelector construction to only run when lights step active - Use set for step_keys lookup in validate_options (O(1) vs O(n)) - Simplify update-strings.py with setdefault chains and cached dicts Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This was referenced Mar 18, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Replaces the single 38-option configuration form with a 5-step progressive disclosure wizard:
Room presets
One-click setup via dropdown: Bedroom, Office, Living Room, Nursery. Each applies sensible defaults for brightness, color temp, and transitions. Cross-step preset values (e.g., sleep settings from a bedroom preset) are carried forward automatically.
Dependency validation
The UI now catches config conflicts immediately:
detect_non_ha_changesandadapt_only_on_bare_turn_onrequiretake_over_controlmulti_light_interceptrequiresinterceptsend_split_delay > 0requiresseparate_turn_on_commandsTests
16 tests covering the full wizard flow, preset application, dependency validation, range validation, and YAML import guard.
Depends on
This PR builds on the description rewrites in #1446. When #1446 merges first, this PR may have merge conflicts in translation files — resolve by keeping this PR's versions (they already incorporate the cleaner descriptions).
Test plan
detect_non_ha_changeswithouttake_over_control, verify error shownpytest tests/test_config_flow.py🤖 Generated with Claude Code