Users have complained about the overwhelming number of options (28+) in the configuration UI. This change splits the options into two steps: **Basic Settings (9 options):** - lights, min/max brightness, min/max color temp - sleep brightness, sleep color temp, transition, interval **Advanced Settings (20+ options):** - All other options (sunrise/sunset times, offsets, brightness modes, take_over_control, detect_non_ha_changes, etc.) The flow now works as: 1. User configures basic options 2. Menu appears: "Configure advanced options" or "Save and finish" 3. If advanced chosen, show advanced options form 4. Save combined options Changes: - Add BASIC_OPTIONS constant to const.py - Refactor OptionsFlowHandler with async_step_init, async_step_advanced, async_step_finish methods - Update strings.json with menu_options and advanced step - Update all 34 translation files with translated menu/titles - Update tests for multi-step flow Note for Weblate: After merging, run "Rescan all translation files" to pick up the new structure. Existing translations are preserved. |
||
|---|---|---|
| .. | ||
| __init__.py | ||
| conftest.py | ||
| README.md | ||
| test_adaptation_utils.py | ||
| test_color_and_brightness.py | ||
| test_config_flow.py | ||
| test_hass_utils.py | ||
| test_init.py | ||
| test_switch.py | ||
Developer notes for the tests directory
To run the tests, check out the CI configuration to see how they are executed in the CI pipeline. Alternatively, you can use the provided Docker image to run the tests locally or run them with VS Code directly in the dev container.
To run the tests using the Docker image, navigate to the adaptive-lighting repo folder and execute the following command:
Linux / MacOS / Windows PowerShell:
docker run -v ${PWD}:/app basnijholt/adaptive-lighting:latest
- In windows command prompt, the command is:
docker run -v %cd%:/app basnijholt/adaptive-lighting:latest
This command will download the Docker image from the adaptive-lighting Docker Hub repo and run the tests.
If you prefer to build the image yourself, use the following command:
docker build -t basnijholt/adaptive-lighting:latest --no-cache --progress=plain .
This might be necessary if the image on Docker Hub is outdated or if the test_dependencies.py file is updated.
Passing arguments to pytest
You can pass arguments to pytest by appending them to the command:
For example, to run the tests with a custom log format, use the following command (this also gets rid of the captured stderr output):
docker run -v $(pwd):/app basnijholt/adaptive-lighting:latest --show-capture=log --log-format="%(asctime)s %(levelname)-8s %(name)s:%(filename)s:%(lineno)s %(message)s" --log-date-format="%H:%M:%S" tests/components/adaptive_lighting/