From 956480f9cb2fa424aa862cc8084fc60f38724c00 Mon Sep 17 00:00:00 2001 From: Michael Geers Date: Wed, 23 Apr 2025 13:05:36 +0200 Subject: [PATCH] Config UI: allow setting priority=0 (#20795) --- core/loadpoint.go | 2 +- core/loadpoint_api.go | 3 +-- tests/config-loadpoint.spec.js | 14 ++++++++++++++ 3 files changed, 16 insertions(+), 3 deletions(-) diff --git a/core/loadpoint.go b/core/loadpoint.go index 3d2874cfd..5dc725c38 100644 --- a/core/loadpoint.go +++ b/core/loadpoint.go @@ -308,7 +308,7 @@ func (lp *Loadpoint) restoreSettings() { if v, err := lp.settings.String(keys.Mode); err == nil && v != "" && lp.DefaultMode == api.ModeEmpty { lp.setMode(api.ChargeMode(v)) } - if v, err := lp.settings.Int(keys.Priority); err == nil && v > 0 { + if v, err := lp.settings.Int(keys.Priority); err == nil { lp.setPriority(int(v)) } if v, err := lp.settings.Int(keys.PhasesConfigured); err == nil && (v > 0 || lp.hasPhaseSwitching()) { diff --git a/core/loadpoint_api.go b/core/loadpoint_api.go index fc2e1a6a2..dba09bae5 100644 --- a/core/loadpoint_api.go +++ b/core/loadpoint_api.go @@ -218,8 +218,7 @@ func (lp *Loadpoint) SetPriority(prio int) { defer lp.Unlock() lp.log.DEBUG.Println("set priority:", prio) - - if lp.Priority != prio { + if lp.priority != prio { lp.setPriority(prio) } } diff --git a/tests/config-loadpoint.spec.js b/tests/config-loadpoint.spec.js index 83f6963f2..f89111e9d 100644 --- a/tests/config-loadpoint.spec.js +++ b/tests/config-loadpoint.spec.js @@ -196,6 +196,20 @@ test.describe("loadpoint", async () => { await page.getByTestId("loadpoint").nth(1).getByRole("button", { name: "edit" }).click(); await expectModalVisible(lpModal); await expect(lpModal.getByLabel("Priority")).toHaveValue("1"); + + // change back to 0 + await lpModal.getByLabel("Priority").selectOption("0 (default)"); + await lpModal.getByRole("button", { name: "Save" }).click(); + await expectModalHidden(lpModal); + + // restart + await restart(CONFIG_ONE_LP); + await page.reload(); + + // check priorities + await page.getByTestId("loadpoint").nth(1).getByRole("button", { name: "edit" }).click(); + await expectModalVisible(lpModal); + await expect(lpModal.getByLabel("Priority")).toHaveValue("0 (default)"); }); test("vehicle", async ({ page }) => {