From 35432ce0659647b5700ce577920e94913eb6ec3a Mon Sep 17 00:00:00 2001 From: glenn schrooyen Date: Sat, 10 Oct 2026 23:29:13 +0200 Subject: [PATCH 1/2] Release 0.17.0 Bump version to 0.17.0 and add the closed 0.17.0 CHANGELOG section. No code change, no option change. Co-Authored-By: Claude Opus 5.5 --- goodwe_controller/CHANGELOG.md | 45 ++++++++++++++++++++++++++++++++++ goodwe_controller/config.yaml | 2 +- 2 files changed, 46 insertions(+), 1 deletion(-) diff --git a/goodwe_controller/CHANGELOG.md b/goodwe_controller/CHANGELOG.md index 849271a..a3b4720 100644 --- a/goodwe_controller/CHANGELOG.md +++ b/goodwe_controller/CHANGELOG.md @@ -1,5 +1,50 @@ # Changelog +## 0.17.0 + +**A minor bump: changed behaviour, and no option changes.** No option was +added, removed or renamed, and no default changed (83 options). Options you +saved work as before. The changes below apply with one inverter or two, unless +a line says "Two inverters". + +**Maintenance with no battery level.** This release changes how battery +maintenance ends when the battery level is missing (MAINT-13, MAINT-14, +MAINT-15). It now ends on its own time limits instead of waiting for the level +to come back; you do not need to change any option. + +Contents of this release, in merge order since 0.16.0 (`451729c`): + +| | | +|---|---| +| `b527e99` | Two inverters: after a drain ends, the other battery no longer swings on old readings. In the test, it held steady for 23 s where 0.16.0 moved it by 720 W ([[SAFETY-103]]) | +| `8a17711` | A full battery that stops at 98 or 99 % no longer counts as a failed charge. After 60 min with no new high, the charge counts as done; a charge that truly fails now waits 7 days and shows one notice ([[MAINT-13]]) | +| `bf3ac79` | With no battery level, a maintenance charge still ends at its time limit and a drain waits at 0 W. The log no longer repeats a line every second ([[MAINT-14]]) | +| `db9e231` | One inverter: when maintenance charges a battery that is already full, the log no longer repeats "The battery refuses to give power" every second. In the test, 1 line in 16 min where 0.16.0 wrote about 1,700; the power does not change ([[SAFETY-107]]) | +| `580c200` | The balancing hold after a charge now ends on time when the battery level is missing. Before, it waited until the level came back ([[MAINT-15]]) | + +### Known issues + +- A false "Battery is not keeping up" can still show when the peak guard pauses a maintenance charge ([[SAFETY-92]]). +- A battery capped at a low limit with a perfectly flat reading can still trip the stale check ([[SAFETY-74]]). +- A battery whose reading at rest is beyond about ±170 W is still not caught when it refuses, as in 0.14.0 ([[SAFETY-97]]). +- The peak guard can still back off near the end of a 15-minute period when a meter reading is late, by less than 30 s ([[SAFETY-99]]). +- Two inverters: the maintenance charge can switch on and off while the house is above the peak aim ([[SAFETY-88]]). +- Two inverters: the "circulating" figure counts a battery's reading at rest ([[SAFETY-98]]). +- Two inverters: a drain that starts during a big step in house use can send the other battery to full power, and about 1 kW goes to the grid for about 10 s ([[SAFETY-104]]). +- Two inverters: when a battery comes back during a maintenance charge, the grid can step by several kW at once ([[SAFETY-101]]). +- Two inverters: when a battery drops out during a solar surplus, the others can swing by up to 1.5 kW ([[SAFETY-105]]). +- Two inverters: after a drain ends, a change in house use can go unanswered for about 9 s, because some readings are old ([[SAFETY-106]]). +- Two inverters: when one battery's level is missing, both batteries are held at 0 W, and for the first 15 s the last command stays on ([[SAFETY-108]]). +- Two inverters: if one battery's level stays missing for 12 h, the other battery's cycle can be marked failed, with a 7-day wait and a notice, though it is healthy ([[MAINT-17]]). +- One inverter: after a link drop, the battery's own safety stop to 0 W can be taken as a refusal, and the site stays at 0 W for up to 15 min ([[SAFETY-102]]). + +### 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.16.0 **A minor bump: changed behaviour, no option added or removed, and one default diff --git a/goodwe_controller/config.yaml b/goodwe_controller/config.yaml index 88ca8e8..3ccdcc1 100644 --- a/goodwe_controller/config.yaml +++ b/goodwe_controller/config.yaml @@ -1,5 +1,5 @@ name: GoodWe RS485 Controller -version: "0.16.0" +version: "0.17.0" slug: goodwe_controller description: >- Drives a GoodWe ES/BP battery inverter over RS485 by emulating its smart -- 2.54.0 From 808ec04dc47cb7da4e02c7e6322ceeca4ce88f1a Mon Sep 17 00:00:00 2001 From: goodwe-review Date: Sun, 11 Oct 2026 00:21:39 +0200 Subject: [PATCH 2/2] REL-0.17.0 review: CHANGELOG wording fixes SAFETY-107 row names the tested base; MAINT-17 says code reading only; SAFETY-105 figure is from a simulation; SAFETY-97 edge is 175 W; the maintenance note cites MAINT-14 and MAINT-15; SAFETY-108 "about 15 s". Co-Authored-By: Claude Opus 5.5 --- goodwe_controller/CHANGELOG.md | 17 ++++++++--------- 1 file changed, 8 insertions(+), 9 deletions(-) diff --git a/goodwe_controller/CHANGELOG.md b/goodwe_controller/CHANGELOG.md index a3b4720..f407c42 100644 --- a/goodwe_controller/CHANGELOG.md +++ b/goodwe_controller/CHANGELOG.md @@ -7,10 +7,9 @@ added, removed or renamed, and no default changed (83 options). Options you saved work as before. The changes below apply with one inverter or two, unless a line says "Two inverters". -**Maintenance with no battery level.** This release changes how battery -maintenance ends when the battery level is missing (MAINT-13, MAINT-14, -MAINT-15). It now ends on its own time limits instead of waiting for the level -to come back; you do not need to change any option. +**Maintenance with no battery level.** When the battery level is missing, +battery maintenance now ends on its own time limits instead of waiting for the +level to come back (MAINT-14, MAINT-15). You do not need to change any option. Contents of this release, in merge order since 0.16.0 (`451729c`): @@ -19,23 +18,23 @@ Contents of this release, in merge order since 0.16.0 (`451729c`): | `b527e99` | Two inverters: after a drain ends, the other battery no longer swings on old readings. In the test, it held steady for 23 s where 0.16.0 moved it by 720 W ([[SAFETY-103]]) | | `8a17711` | A full battery that stops at 98 or 99 % no longer counts as a failed charge. After 60 min with no new high, the charge counts as done; a charge that truly fails now waits 7 days and shows one notice ([[MAINT-13]]) | | `bf3ac79` | With no battery level, a maintenance charge still ends at its time limit and a drain waits at 0 W. The log no longer repeats a line every second ([[MAINT-14]]) | -| `db9e231` | One inverter: when maintenance charges a battery that is already full, the log no longer repeats "The battery refuses to give power" every second. In the test, 1 line in 16 min where 0.16.0 wrote about 1,700; the power does not change ([[SAFETY-107]]) | +| `db9e231` | One inverter: when maintenance charges a battery that is already full, the log no longer repeats "The battery refuses to give power" every second. In the test, 1 line in 16 min where the code before this fix wrote about 1,700 in 15 min; the power does not change ([[SAFETY-107]]) | | `580c200` | The balancing hold after a charge now ends on time when the battery level is missing. Before, it waited until the level came back ([[MAINT-15]]) | ### Known issues - A false "Battery is not keeping up" can still show when the peak guard pauses a maintenance charge ([[SAFETY-92]]). - A battery capped at a low limit with a perfectly flat reading can still trip the stale check ([[SAFETY-74]]). -- A battery whose reading at rest is beyond about ±170 W is still not caught when it refuses, as in 0.14.0 ([[SAFETY-97]]). +- A battery whose reading at rest is beyond about ±175 W is still not caught when it refuses ([[SAFETY-97]]). - The peak guard can still back off near the end of a 15-minute period when a meter reading is late, by less than 30 s ([[SAFETY-99]]). - Two inverters: the maintenance charge can switch on and off while the house is above the peak aim ([[SAFETY-88]]). - Two inverters: the "circulating" figure counts a battery's reading at rest ([[SAFETY-98]]). - Two inverters: a drain that starts during a big step in house use can send the other battery to full power, and about 1 kW goes to the grid for about 10 s ([[SAFETY-104]]). - Two inverters: when a battery comes back during a maintenance charge, the grid can step by several kW at once ([[SAFETY-101]]). -- Two inverters: when a battery drops out during a solar surplus, the others can swing by up to 1.5 kW ([[SAFETY-105]]). +- Two inverters: when a battery drops out during a solar surplus, the others can swing by up to 1.5 kW in a simulation ([[SAFETY-105]]). - Two inverters: after a drain ends, a change in house use can go unanswered for about 9 s, because some readings are old ([[SAFETY-106]]). -- Two inverters: when one battery's level is missing, both batteries are held at 0 W, and for the first 15 s the last command stays on ([[SAFETY-108]]). -- Two inverters: if one battery's level stays missing for 12 h, the other battery's cycle can be marked failed, with a 7-day wait and a notice, though it is healthy ([[MAINT-17]]). +- Two inverters: when one battery's level is missing, both batteries are held at 0 W, and for about 15 s the last command stays on ([[SAFETY-108]]). +- Two inverters: if one battery's level stays missing for 12 h, the other battery's cycle can be marked failed, with a 7-day wait and a notice, though it is healthy. This comes from reading the code; it has not been seen on a site ([[MAINT-17]]). - One inverter: after a link drop, the battery's own safety stop to 0 W can be taken as a refusal, and the site stays at 0 W for up to 15 min ([[SAFETY-102]]). ### If you are crossing from a version older than 0.10.0 -- 2.54.0