mirror of
https://github.com/Akkudoktor-EOS/EOS.git
synced 2026-11-13 09:13:30 +01:00
feat(eosdash): add the remaining steps to the setup assistant - #1515
The setup assistant only covered the location, the horizons and the energy management, and sent the user to the Config page for everything else. Add the steps PV system, weather, prices and fees, load, devices and measurements, each with an explanation, an example and a check of what is still to do. Add a Home Assistant step after the measurements step that explains what EOS reads from and writes to Home Assistant, with a template sensor and an automation as example. Its status reports a missing state of charge mapping, missing instruction entities and an adapter that is selected while EOS does not run as an add-on. The measurements step keeps the choice of the adapter. Add examples for an inverter, an electric vehicle and a home appliance. A step can now show configuration values depending on the value of another one (WizardChoice), so that only the settings of the selected provider are shown. The horizon of the selected optimization algorithm uses the same mechanism instead of a placeholder in the configuration name. Describe the profiles, point to the Profiles page and use the profile_adjustment settings in the examples. The packaged profiles are generic and give no size, so the devices step now reports a battery, electric vehicle or inverter whose effective nominal capacity or power is unknown. The changelog entry names the Home Assistant step. Signed-off-by: SchaafAlexander <86607129+SchaafAlexander@users.noreply.github.com> Co-Authored-By: Claude Fable 5.2 <noreply@anthropic.com> Assisted-by: Claude Code (claude-fable-5-2)
This commit is contained in:
co-authored by
Claude Fable 5.2
parent
8e94ab02d1
commit
fca524a913
@@ -201,3 +201,21 @@ class TestEOSdashInBrowser:
|
||||
assert dash.page.locator("#wizard").count() == 1
|
||||
assert "Step 2 of" in dash.page_content()
|
||||
assert dash.errors == []
|
||||
|
||||
def test_setup_wizard_shows_provider_settings(self, dash: DashPage) -> None:
|
||||
"""Selecting a provider in the setup wizard shows its settings, which work in the wizard."""
|
||||
assert dash.open_tab("/eosdash/wizard") == 200
|
||||
dash.page.click("#wizard-step-pv")
|
||||
dash.page.wait_for_selector("#wizard[hx-vals*='\"pv\"']")
|
||||
|
||||
dash.page.click("#wizard summary:has-text('pvforecast.provider')")
|
||||
dash.page.select_option("#pvforecast-provider-value-select", "PVForecastAkkudoktor")
|
||||
dash.page.click("#pvforecast-provider-update-value-form button")
|
||||
planes = "#wizard summary:has-text('pvforecast.planes')"
|
||||
dash.page.wait_for_selector(planes)
|
||||
|
||||
# The card of a list of items sends its updates to the wizard, too
|
||||
dash.page.click(f"{planes} button:has-text('Add item')")
|
||||
dash.page.wait_for_selector(f"{planes} >> text=1 item")
|
||||
assert dash.page.locator("#wizard[hx-vals*='\"pv\"']").count() == 1
|
||||
assert dash.errors == []
|
||||
|
||||
Reference in New Issue
Block a user