Release 0.20.1 #230

Merged
admin merged 3 commits from release-0.20.1 into hotfix-0.20.1 2026-11-05 14:20:11 +01:00
Owner

Release 0.20.1 (patch) on hotfix-0.20.1: config.yaml version 0.20.1 and the CHANGELOG section. Contents: OPT-36 (#229, 22d09f8). No option changes; existing installs need no option change. Not merged here; no tag, no deploy.

Co-Authored-By: Claude noreply@anthropic.com

🤖 Generated with Claude Code

https://claude.ai/code/session_01Bdqr7PiaHcBnzPituu2yTC

Release 0.20.1 (patch) on `hotfix-0.20.1`: `config.yaml` version 0.20.1 and the CHANGELOG section. Contents: OPT-36 (#229, 22d09f8). No option changes; existing installs need no option change. Not merged here; no tag, no deploy. Co-Authored-By: Claude <noreply@anthropic.com> 🤖 Generated with [Claude Code](https://claude.com/claude-code) https://claude.ai/code/session_01Bdqr7PiaHcBnzPituu2yTC
admin added 1 commit 2026-11-02 17:53:34 +01:00
Release 0.20.1
checks / unit (pull_request) Successful in 28m19s
infra-pin / fresh (pull_request) Successful in 1s
ec4ba49f45
Patch bump: OPT-36 (Leftover solar counts Cheap hours only and Solar first batteries). No option changes.

Co-Authored-By: Claude <noreply@anthropic.com>
admin added 1 commit 2026-11-05 10:05:36 +01:00
REL-0.20.1 review: CHANGELOG known issues SAFETY-132/133 wording
checks / unit (pull_request) Failing after 22m19s
infra-pin / fresh (pull_request) Successful in 1s
01eba51dd7
SAFETY-132: the 9.6 kW is the charge the add-on asked for in a test,
not a measured grid figure. SAFETY-133: the quarter also ends over the
3 500 W limit; the guard sees the load late (0.20.1 has no lateness check).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Author
Owner

Review of #230 (REL-0.20.1), head reviewed ec4ba49; wording fix pushed as 01eba51.

  1. Only config.yaml (0.20.0 -> 0.20.1) and CHANGELOG.md change in 22d09f8..ec4ba49. Against 01e88a2, config.yaml differs only in the version line; translations/ identical. PASS.
  2. The 0.20.0 section equals master 01e88a2 byte for byte (diff empty); the OPT-36 "Not in a release yet" block is gone. PASS.
  3. 0.20.1 first line, text and contents row (22d09f8, #229, OPT-36) match the OPT-36 dev/test reports and the diff (en.json others_cover, the "rest ... comes from the grid" sentence, DOCS). 0.00 against 5.40 kWh is check 1 of the TEST-23 rig test, one run, worded "in a rig test" as in earlier releases. PASS.
  4. Known issues: SAFETY-128 kept, "fix ... not in 0.20.1" true (fix is on release/1.0 only). SAFETY-133, SAFETY-132, OPT-37, UX-77 are To Do and match their cards (UX-77 "control keeps charging" is the card's investigation verdict). Left out SAFETY-129/130/131/134, UX-78, TEST-36 (the SAFETY-128 detector, not in 0.20.1), UX-76 (feature): right. No other card filed since 2026-11-01 is missing.
    • F1 (low, fixed): SAFETY-132 said "a peak test on 0.20.0 reached 9.6 kW", which reads as a grid figure. The 9.6 kW is the charge the add-on asked for in a test (SAFETY-128 dev report). Now: "In a test on 0.20.0 the add-on asked for a 9.6 kW charge."
    • F2 (nit, fixed): SAFETY-133: 3 530 W is also over the 3 500 W limit (card), now said; "sees the late readings too slowly" referred to the SAFETY-128 detector, which 0.20.1 lacks; now "sees the load too late".
    • SAFETY-132 kept: charge_room_w() sizes the cheap-window charge on 0.20.1 too (main.py:3387, 5062), so it is user-visible.
  5. CI run 1524 on ec4ba49: success (attempt 1). test_version_gate and test_docs rc 0 locally (goodwe-addon-checks:1, --network none) on ec4ba49 and on the fix.

Merge after a green checks / unit (pull_request) on 01eba51.

**Review of #230 (REL-0.20.1), head reviewed ec4ba49; wording fix pushed as 01eba51.** 1. Only `config.yaml` (0.20.0 -> 0.20.1) and `CHANGELOG.md` change in 22d09f8..ec4ba49. Against 01e88a2, config.yaml differs only in the version line; translations/ identical. PASS. 2. The 0.20.0 section equals master 01e88a2 byte for byte (diff empty); the OPT-36 "Not in a release yet" block is gone. PASS. 3. 0.20.1 first line, text and contents row (22d09f8, #229, OPT-36) match the OPT-36 dev/test reports and the diff (en.json `others_cover`, the "rest ... comes from the grid" sentence, DOCS). 0.00 against 5.40 kWh is check 1 of the TEST-23 rig test, one run, worded "in a rig test" as in earlier releases. PASS. 4. Known issues: SAFETY-128 kept, "fix ... not in 0.20.1" true (fix is on release/1.0 only). SAFETY-133, SAFETY-132, OPT-37, UX-77 are To Do and match their cards (UX-77 "control keeps charging" is the card's investigation verdict). Left out SAFETY-129/130/131/134, UX-78, TEST-36 (the SAFETY-128 detector, not in 0.20.1), UX-76 (feature): right. No other card filed since 2026-11-01 is missing. - **F1 (low, fixed):** SAFETY-132 said "a peak test on 0.20.0 reached 9.6 kW", which reads as a grid figure. The 9.6 kW is the charge the add-on asked for in a test (SAFETY-128 dev report). Now: "In a test on 0.20.0 the add-on asked for a 9.6 kW charge." - **F2 (nit, fixed):** SAFETY-133: 3 530 W is also over the 3 500 W limit (card), now said; "sees the late readings too slowly" referred to the SAFETY-128 detector, which 0.20.1 lacks; now "sees the load too late". - SAFETY-132 kept: charge_room_w() sizes the cheap-window charge on 0.20.1 too (main.py:3387, 5062), so it is user-visible. 5. CI run 1524 on ec4ba49: success (attempt 1). test_version_gate and test_docs rc 0 locally (goodwe-addon-checks:1, --network none) on ec4ba49 and on the fix. Merge after a green `checks / unit (pull_request)` on 01eba51.
Author
Owner

CI on 01eba51: checks / unit (pull_request) FAILED, run 1526 (job 2677, attempt 1, 10:05-10:27). Not merged.

The failure is not from this PR. It is a date time bomb in test_opt34.py:

  • 1 of 94 files failed: test_opt34.py, check "(control: the same latch, still valid until tomorrow 07:15, does charge both: A 10.0, B 10.0 %)".
  • The stale_live scenario stores a latch with until = 2026-11-04 07:15 CET (at(4, 7, 15), fixed dates in Nov 2026). Controller.__init__ loads it with _load_latch(..., datetime.now(timezone.utc)) (app/main.py:1041-1043), the real clock. Since 2026-11-04 07:15 the real clock is past until, so the latch is dropped and nothing charges.
  • Proof: python test_opt34.py in goodwe-addon-checks:1 (--network none) fails the same check today on 01eba51 and on ec4ba49, which passed in run 1524 on 2026-11-02. The only change in 01eba51 is two CHANGELOG lines.
  • The same test is on master 01e88a2 and release/1.0, so every checks / unit run on any branch fails from 2026-11-04 07:15 on. It came in with OPT-34 round 3 (bb57a85).
  • Fix (needs its own ticket): pass the scenario's own time to the latch load in the test (or make the dates relative to now). I did not change test code, rerun CI or merge.
**CI on 01eba51: `checks / unit (pull_request)` FAILED, run 1526 (job 2677, attempt 1, 10:05-10:27).** Not merged. The failure is not from this PR. It is a date time bomb in `test_opt34.py`: - 1 of 94 files failed: `test_opt34.py`, check "(control: the same latch, still valid until tomorrow 07:15, does charge both: A 10.0, B 10.0 %)". - The `stale_live` scenario stores a latch with `until` = 2026-11-04 07:15 CET (`at(4, 7, 15)`, fixed dates in Nov 2026). `Controller.__init__` loads it with `_load_latch(..., datetime.now(timezone.utc))` (app/main.py:1041-1043), the real clock. Since 2026-11-04 07:15 the real clock is past `until`, so the latch is dropped and nothing charges. - Proof: `python test_opt34.py` in `goodwe-addon-checks:1` (`--network none`) fails the same check today on 01eba51 **and on ec4ba49**, which passed in run 1524 on 2026-11-02. The only change in 01eba51 is two CHANGELOG lines. - The same test is on master 01e88a2 and release/1.0, so every `checks / unit` run on any branch fails from 2026-11-04 07:15 on. It came in with OPT-34 round 3 (bb57a85). - Fix (needs its own ticket): pass the scenario's own time to the latch load in the test (or make the dates relative to now). I did not change test code, rerun CI or merge.
admin added 1 commit 2026-11-05 13:58:04 +01:00
Merge hotfix-0.20.1 (TEST-37 #231) into release-0.20.1
checks / unit (pull_request) Successful in 21m40s
infra-pin / fresh (pull_request) Successful in 2s
2fa14e23dc
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
admin merged commit 3219aea9a0 into hotfix-0.20.1 2026-11-05 14:20:11 +01:00
Sign in to join this conversation.
No Reviewers
No labels
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: admin/goodwe-addon#230