From 28cab039471021d0fb2af2cbc0f2662d3f3c13a6 Mon Sep 17 00:00:00 2001 From: glenn schrooyen Date: Fri, 2 Oct 2026 09:04:47 +0200 Subject: [PATCH 1/2] REL-0.13.0: cut 0.13.0 Bump config.yaml version 0.12.0 -> 0.13.0 and close a ## 0.13.0 CHANGELOG section covering every merge since 0.12.0 (a45ed06), with the known issues SAFETY-90/91/92/93/94. Option surface 77 -> 83, none removed. Co-Authored-By: Claude Opus 5.5 --- goodwe_controller/CHANGELOG.md | 84 ++++++++++++++++++++++++++++++++++ goodwe_controller/config.yaml | 2 +- 2 files changed, 85 insertions(+), 1 deletion(-) diff --git a/goodwe_controller/CHANGELOG.md b/goodwe_controller/CHANGELOG.md index 6e298b6..01e0a37 100644 --- a/goodwe_controller/CHANGELOG.md +++ b/goodwe_controller/CHANGELOG.md @@ -1,5 +1,89 @@ # Changelog +## 0.13.0 + +**A minor bump: new behaviour, a new settings page, and six new options.** +No option was removed or renamed, and no default of an existing option +changed (77 options -> 83). The live options blob on record passes this +version's validator (`tools/predeploy_check.py`, offline). + +New options, and what they do if you leave them alone: + +| option | default | left alone | +|---|---|---| +| `peak_margin_w` | `50` | the peak guard aims 50 W below your peak limit; set `0` for the old aim ([[SAFETY-79]]) | +| `battery_modes_enabled` | `false` | no battery modes, control as before ([[OPT-11]]) | +| `pv_forecast_entity`, `pv_forecast_tomorrow_entity` | empty | no solar forecast is used ([[OPT-11]]) | +| `solar_trust_pct` | `70` | only used with a solar forecast ([[OPT-11]]) | +| `pv_invert_entities` | `[]` | PV readings as before ([[TEL-14]]) | + +⚠️ **Turn on Watchdog** on the add-on's Info tab. If control stops, the +add-on now sets the batteries to 0 W and exits; Home Assistant only starts it +again when Watchdog is on ([[SAFETY-61]], [[DOC-5]]). + +Contents of this release, in merge order since 0.12.0 (`a45ed06`): + +| | | +|---|---| +| `fa3d237` | Docs name the right P1 age entity and a battery list that starts ([[DOC-1]]) | +| `6e65272` | If control stops, the batteries go to 0 W and the add-on exits ([[SAFETY-61]]) | +| `3e38baf` | The check tools refuse a file they cannot read, instead of saying all clear ([[SAFETY-60]], [[SAFETY-62]]) | +| `43b2740` | A missing value in a check is a named failure (tests only) ([[TEST-26]]) | +| `20260e8` | Docs: turn on Watchdog ([[DOC-5]]) | +| `16c796f` | New option `pv_invert_entities`: flip the sign of a PV sensor that reads backwards ([[TEL-14]]) | +| `6a8a5ff` | CI tests against the real inverter simulator (CI only) ([[CI-12]]) | +| `82f032e` | CI pin checks report failures properly (CI only) ([[TOOL-9]]) | +| `fe13251` | CI pin update (CI only) | +| `397dd15` | Alarm cards come back after a Home Assistant restart ([[SAFETY-34]]) | +| `59415ea` | CI pin update (CI only) | +| `2503de1` | The integrator limit is a warning, not a "bug" alarm; alarm figures are correct ([[SAFETY-40]]) | +| `48ef06a` | Shorter, plainer notifications ([[UX-08]]) | +| `5c151a3` | CI pin update (CI only) | +| `d57767f` | Shorter, plainer status rows and banners ([[UX-08]]) | +| `e1d0970` | Details link works on current Home Assistant; plainer words ([[UX-09]]) | +| `a02cd4b` | Shorter refusals, errors and option texts ([[UX-08]]) | +| `32b9e56` | Plainer log lines and docs ([[UX-08]]) | +| `125b070` | CI pin update (CI only) | +| `2b14b88` | Last plain-language fixes in logs and the status page ([[UX-10]]) | +| `c4032eb` | CI pin update (CI only) | +| `d1f7e33` | Safety log lines: one plain sentence and a code ([[UX-11]]) | +| `652097a` | A battery that stops responding is asked for 0 W, with a 200 W test every 15 min ([[SAFETY-52]]) | +| `afd6af0` | Groundwork for the new settings pages ([[UX-13]]) | +| `a36dca6` | New page with a Home screen ([[UX-13]]) | +| `28a49cc` | With two or more inverters, a battery that stops responding is held on its own ([[SAFETY-73]]) | +| `515c11b` | New Installer settings view ([[UX-13]]) | +| `4de9675` | New setup wizard for installers ([[UX-13]]) | +| `8c34647` | A new install with no inverter opens the setup wizard instead of stopping ([[UX-15]]) | +| `a5dddad` | Dutch text and a time-period editor ([[UX-13]]) | +| `ed739d4` | Battery modes (off by default): per-battery limits, on/off, solar order ([[OPT-11]]) | +| `7995e4d` | Simple settings view and a Batteries screen ([[UX-13]]) | +| `7337b79` | Battery modes in Home Assistant, when modes are on ([[OPT-11]]) | +| `7a00f12` | New option `peak_margin_w`: the peak guard keeps a margin below the limit ([[SAFETY-79]]) | +| `5a4cdc2` | Battery modes: charge in cheap hours, hold for expensive hours; selling is off for now ([[OPT-11]]) | +| `4f25b24` | No false "Load too high" alarms at quarter edges or with a noisy load (10 s hold) ([[SAFETY-81]]) | +| `35cdffe` | Maintenance drain with two batteries no longer stalls ([[SAFETY-78]]) | +| `1145a93` | Battery modes: a solar forecast decides how much to buy from the grid ([[OPT-11]]) | +| `9d5b7d1` | With one battery, the peak guard wins over the maintenance drain ([[SAFETY-83]]) | +| `4ad8298` | Maintenance charge with two batteries no longer stalls; it gives way to the peak guard ([[SAFETY-84]]) | +| `b8ddfd7` | The peak guard wins over the maintenance hold; the hold ends on time, with no top-up ([[SAFETY-86]]) | +| `9358781` | With two or more batteries, the peak guard uses every battery that can still give; peak alarms no longer say control stopped ([[SAFETY-87]]) | +| `61072ca` | No false "Battery is not keeping up" during maintenance; real shortfalls still warn; the counter counts episodes ([[SAFETY-85]]) | + +### Known issues + +- A false "Battery is not keeping up" can still show when the peak guard pauses a maintenance charge ([[SAFETY-92]]). +- Two inverters: at the end of a maintenance charge one battery can charge from the grid while the house uses a lot. Do not add a second inverter before the next release ([[SAFETY-93]]). +- A healthy battery that turns from charging to giving can be held at 0 W for up to 15 min ([[SAFETY-94]]). +- After a gap in the P1 meter, the peak guard is blind for the rest of that quarter hour ([[SAFETY-90]]). +- Two batteries: one at its peak reserve can be used before a draining battery has used its room ([[SAFETY-91]]). + +### If you are crossing from a version older than 0.10.0 + +`## 0.10.0` below can refuse an old config: `slew_w` above its limit, and the +withdrawn `price_provider` ids `engie_dynamic`, `totalenergies_dynamic` and +`eneco_eddy`. Read it before you update. Run `tools/predeploy_check.py` with the +bare options (`jq '.data.options'`) first. + ## 0.12.0 **A MINOR BUMP FOR ONE NEW OPTION: `pv_entities` ([[TEL-12]]), for sites with diff --git a/goodwe_controller/config.yaml b/goodwe_controller/config.yaml index 4fcff8e..973f5a3 100644 --- a/goodwe_controller/config.yaml +++ b/goodwe_controller/config.yaml @@ -1,5 +1,5 @@ name: GoodWe RS485 Controller -version: "0.12.0" +version: "0.13.0" slug: goodwe_controller description: >- Drives a GoodWe ES/BP battery inverter over RS485 by emulating its smart -- 2.54.0 From b37b7f95dc0696e599857d6aec64a4b5e99cb6fb Mon Sep 17 00:00:00 2001 From: "REL-0.13.0 review" Date: Fri, 2 Oct 2026 09:37:34 +0200 Subject: [PATCH 2/2] REL-0.13.0 review: plainer, truer 0.13.0 changelog Crash, not stop, for SAFETY-61; Watchdog off by default; its own warning for the 50 W peak margin (also under a higher month peak); "refuses power" for SAFETY-52/73; no one-house options claim. Co-Authored-By: Claude Opus 5.5 --- goodwe_controller/CHANGELOG.md | 36 ++++++++++++++++++++-------------- 1 file changed, 21 insertions(+), 15 deletions(-) diff --git a/goodwe_controller/CHANGELOG.md b/goodwe_controller/CHANGELOG.md index 01e0a37..f496b85 100644 --- a/goodwe_controller/CHANGELOG.md +++ b/goodwe_controller/CHANGELOG.md @@ -2,41 +2,47 @@ ## 0.13.0 -**A minor bump: new behaviour, a new settings page, and six new options.** -No option was removed or renamed, and no default of an existing option -changed (77 options -> 83). The live options blob on record passes this -version's validator (`tools/predeploy_check.py`, offline). +**A minor bump: new behaviour, a new add-on page (Home, Settings, Batteries, +Setup), and six new options.** No option was removed or renamed, and no +default of an existing option changed (77 options -> 83). The only new +start-up checks are on the new options, so options that start 0.12.0 also +start 0.13.0. New options, and what they do if you leave them alone: | option | default | left alone | |---|---|---| -| `peak_margin_w` | `50` | the peak guard aims 50 W below your peak limit; set `0` for the old aim ([[SAFETY-79]]) | +| `peak_margin_w` | `50` | the peak guard aims 50 W below your peak limit, or below a higher peak already reached this month; `0` is the old aim ([[SAFETY-79]]) | | `battery_modes_enabled` | `false` | no battery modes, control as before ([[OPT-11]]) | | `pv_forecast_entity`, `pv_forecast_tomorrow_entity` | empty | no solar forecast is used ([[OPT-11]]) | | `solar_trust_pct` | `70` | only used with a solar forecast ([[OPT-11]]) | | `pv_invert_entities` | `[]` | PV readings as before ([[TEL-14]]) | -⚠️ **Turn on Watchdog** on the add-on's Info tab. If control stops, the -add-on now sets the batteries to 0 W and exits; Home Assistant only starts it -again when Watchdog is on ([[SAFETY-61]], [[DOC-5]]). +⚠️ **Turn on Watchdog** on the add-on's Info tab. It is off by default. If +the control loop crashes, the add-on now sets the batteries to 0 W and stops. +Home Assistant only starts it again when Watchdog is on ([[SAFETY-61]], +[[DOC-5]]). + +⚠️ **The peak guard now starts a little earlier.** It aims 50 W below your +peak limit, so the batteries give a bit more at peak times. Set +`peak_margin_w: 0` for the old aim ([[SAFETY-79]]). Contents of this release, in merge order since 0.12.0 (`a45ed06`): | | | |---|---| | `fa3d237` | Docs name the right P1 age entity and a battery list that starts ([[DOC-1]]) | -| `6e65272` | If control stops, the batteries go to 0 W and the add-on exits ([[SAFETY-61]]) | -| `3e38baf` | The check tools refuse a file they cannot read, instead of saying all clear ([[SAFETY-60]], [[SAFETY-62]]) | +| `6e65272` | If the control loop crashes, the batteries go to 0 W and the add-on stops ([[SAFETY-61]]) | +| `3e38baf` | The check tools refuse a file they cannot read, instead of saying all clear (tools only) ([[SAFETY-60]], [[SAFETY-62]]) | | `43b2740` | A missing value in a check is a named failure (tests only) ([[TEST-26]]) | | `20260e8` | Docs: turn on Watchdog ([[DOC-5]]) | | `16c796f` | New option `pv_invert_entities`: flip the sign of a PV sensor that reads backwards ([[TEL-14]]) | | `6a8a5ff` | CI tests against the real inverter simulator (CI only) ([[CI-12]]) | | `82f032e` | CI pin checks report failures properly (CI only) ([[TOOL-9]]) | | `fe13251` | CI pin update (CI only) | -| `397dd15` | Alarm cards come back after a Home Assistant restart ([[SAFETY-34]]) | +| `397dd15` | Alarm notifications that are still active come back after a Home Assistant restart ([[SAFETY-34]]) | | `59415ea` | CI pin update (CI only) | -| `2503de1` | The integrator limit is a warning, not a "bug" alarm; alarm figures are correct ([[SAFETY-40]]) | +| `2503de1` | "Battery is not keeping up" is a warning with its own notification, not a "bug" alarm; its figures are correct ([[SAFETY-40]]) | | `48ef06a` | Shorter, plainer notifications ([[UX-08]]) | | `5c151a3` | CI pin update (CI only) | | `d57767f` | Shorter, plainer status rows and banners ([[UX-08]]) | @@ -47,10 +53,10 @@ Contents of this release, in merge order since 0.12.0 (`a45ed06`): | `2b14b88` | Last plain-language fixes in logs and the status page ([[UX-10]]) | | `c4032eb` | CI pin update (CI only) | | `d1f7e33` | Safety log lines: one plain sentence and a code ([[UX-11]]) | -| `652097a` | A battery that stops responding is asked for 0 W, with a 200 W test every 15 min ([[SAFETY-52]]) | +| `652097a` | A battery that refuses power (e.g. empty) is asked for 0 W, and tried at 200 W for 34 s every 15 min ([[SAFETY-52]]) | | `afd6af0` | Groundwork for the new settings pages ([[UX-13]]) | | `a36dca6` | New page with a Home screen ([[UX-13]]) | -| `28a49cc` | With two or more inverters, a battery that stops responding is held on its own ([[SAFETY-73]]) | +| `28a49cc` | With two or more inverters, a battery that refuses power is held on its own; the others take over ([[SAFETY-73]]) | | `515c11b` | New Installer settings view ([[UX-13]]) | | `4de9675` | New setup wizard for installers ([[UX-13]]) | | `8c34647` | A new install with no inverter opens the setup wizard instead of stopping ([[UX-15]]) | @@ -67,7 +73,7 @@ Contents of this release, in merge order since 0.12.0 (`a45ed06`): | `4ad8298` | Maintenance charge with two batteries no longer stalls; it gives way to the peak guard ([[SAFETY-84]]) | | `b8ddfd7` | The peak guard wins over the maintenance hold; the hold ends on time, with no top-up ([[SAFETY-86]]) | | `9358781` | With two or more batteries, the peak guard uses every battery that can still give; peak alarms no longer say control stopped ([[SAFETY-87]]) | -| `61072ca` | No false "Battery is not keeping up" during maintenance; real shortfalls still warn; the counter counts episodes ([[SAFETY-85]]) | +| `61072ca` | No false "Battery is not keeping up" during maintenance; real shortfalls still warn; the status row counts each episode once ([[SAFETY-85]]) | ### Known issues -- 2.54.0