PKG-07: bump 0.7.0 -> 0.8.0, and stop the changelog calling shipped work unreleased
Six merges landed behind an unbumped 0.7.0 - CI-06, SAFETY-38, SAFETY-39, SAFETY-37, SAFETY-13, SAFETY-42. PKG-06 recorded exactly this two days ago: the Supervisor keys the built image by `version:`, so `ha apps update` against an unchanged version is a silent no-op and the box keeps running the old tree. Catching it a second time by hand is the argument for the automated check PKG-06's follow-up still owes. MINOR rather than patch because SAFETY-39 changed what an existing key MEANS. `slew_w: 0` was "no limit" and is now "follow the rail", and validator rule 10 REFUSES an explicit `slew_w` above SLEW_RAIL_FRAC x the roster sum - about 555 W on a 5000 W install. A config that started fine can now be refused, which is a compatibility break whatever the intent behind it. ⚠️ THE PRE-DEPLOY CHECK THIS IMPLIES IS NOT DONE, AND CANNOT BE DONE FROM HERE. Whether the LIVE options survive rule 10 depends on the live `slew_w`, and the add-on options blob is only reachable through the Supervisor API, which needs a supervisor token this session does not have; the HA REST API does not expose it and no entity carries it. What is on record is that `slew_w` was set to 400 against a 5000 W rail during the SAFETY-39 interim fix (DEPLOY-QUEUE.md), and 400 is below the ~555 ceiling - but that is a written record, not a reading, and the value has been edited by hand since. Read the options and run the validator against them BEFORE `ha apps update`. A refused config is exit 78, and exit 78 takes the ingress panel with it. What was read from the live system, 2026-09-06: controller_status `running`, setpoint 860 W against inverter AC power 842 W, watchdog_tripped `off`, failsafe_cause `none`, p1_sample_age 2.6 s. The install is healthy going in. Separately, `## Unreleased` was a lie, twice. Two headings - one spanning ~3000 lines across three releases, one from the 0.4.x era - and every word under both is shipped and running. Retitled, not re-sorted; the split is PKG-08. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01BwRLw7eKYj2byVdwB6kbjU
This commit is contained in:
co-authored by
Claude Opus 5
parent
464d398051
commit
653874d6ee
@@ -1,5 +1,45 @@
|
||||
# Changelog
|
||||
|
||||
## 0.8.0
|
||||
|
||||
⚠️ **`slew_w` CHANGED MEANING, AND THAT IS WHY THIS IS A MINOR BUMP.**
|
||||
[[SAFETY-39]] makes the ramp limit a **ratio to the site rail** rather than an
|
||||
absolute number of watts, and makes `slew_w: 0` mean *follow the rail* instead
|
||||
of *no limit*. Two consequences for an existing config:
|
||||
|
||||
- A config that leaves `slew_w` at `0` now gets the derived rail-proportional
|
||||
limit. This is the intended fix - the live install was overshooting because
|
||||
its `slew_w` had been derived against a 1500 W clamp and was running against a
|
||||
5000 W one.
|
||||
- ⚠️ **A config that sets `slew_w` explicitly above `SLEW_RAIL_FRAC` x the roster
|
||||
sum is now REFUSED at startup** by validator rule 10. `SLEW_RAIL_FRAC` is
|
||||
`LOOP_TICK_S / PLANT_SETTLE_S` = 2/18. On a 5000 W single-inverter install the
|
||||
ceiling is therefore about 555 W; the reference install runs `slew_w: 400` and
|
||||
is unaffected.
|
||||
|
||||
CFG-04's rule again, and PKG-06's: the Supervisor keys the built image by
|
||||
`version:`, so shipping a schema or semantic change without a bump means
|
||||
`ha apps update` is a silent no-op and nobody reads the new rule. **Six merges
|
||||
accumulated behind an unbumped 0.7.0 before this was caught a second time** -
|
||||
the check that would have caught it automatically is still not written, and that
|
||||
gap is the standing content of PKG-06's follow-up.
|
||||
|
||||
Contents, in merge order since 0.7.0 (`bbc903b`):
|
||||
|
||||
| | |
|
||||
|---|---|
|
||||
| `9e42cec` | CI-06 - `test_peakguard.py` answered two of its checks with the wall clock |
|
||||
| `24c3d87` | SAFETY-38 - pin `site_standing` with shares that cannot answer for the site |
|
||||
| `a4290d3` | SAFETY-39 - `slew_w` becomes a ratio to the rail; validator rule 10 |
|
||||
| `c8dcb38` | SAFETY-37 - a stale reading is `None`, and arrival cannot be what says so |
|
||||
| `0581648` | SAFETY-13 - the output freeze gets a bounded exit, and only where it needs one |
|
||||
| `464d398` | SAFETY-42 - a unit that stops delivering its share is no longer invisible |
|
||||
|
||||
⚠️ **SAFETY-13 ships a disclosed residual.** Its bounded freeze-exit shows 0
|
||||
spurious releases on the sweep's measured-plant slice but **2 of 272 on a finer
|
||||
grid**. The shipped documentation carries the 2-of-272 figure rather than the
|
||||
flattering one, deliberately.
|
||||
|
||||
## 0.7.0
|
||||
|
||||
⚠️ **SCHEMA CHANGE, AND IT IS WHY THIS IS A MINOR BUMP RATHER THAN A PATCH.**
|
||||
@@ -29,7 +69,19 @@ is a defect in this file, not in the release: the deployed 0.6.0 is `2d025ee` an
|
||||
the table above is what is new since it. Splitting it retroactively would mean
|
||||
guessing a boundary; saying so is more useful than a guess.
|
||||
|
||||
## Unreleased
|
||||
## Detail notes — accumulated, NOT a separate release
|
||||
|
||||
⚠️ **THIS HEADING USED TO SAY "Unreleased" AND IT WAS WRONG.** Everything below
|
||||
has SHIPPED. The section accumulated across 0.6.0, 0.7.0 and 0.8.0 because each
|
||||
release was cut without clearing it, so it names tickets from all three
|
||||
([[SAFETY-18]] and [[SAFETY-30]] from the 0.6.0 era through [[SAFETY-42]] in
|
||||
0.8.0). A reader who trusted the old heading would have concluded that shipped,
|
||||
running behaviour was still pending — and there was a SECOND heading saying the
|
||||
same thing further down, from the 0.4.x era.
|
||||
|
||||
Retitled rather than re-sorted, on purpose: splitting ~3000 lines by release is
|
||||
real work that does not belong inside a version bump, where it would bury the
|
||||
one line that changes what the Supervisor installs. Card PKG-08 carries it.
|
||||
|
||||
⚠️ **THE OUTPUT FREEZE NOW HAS AN EXIT, AND ONLY WHERE IT CANNOT END ON ITS OWN
|
||||
([[SAFETY-13]]).** While the loop is frozen the command's magnitude may fall but
|
||||
@@ -3381,7 +3433,12 @@ human to read rather than alarmed on - at a converged -10 W a 1 Wh register need
|
||||
about six minutes to move, so any threshold would false-trip at the target
|
||||
operating point.
|
||||
|
||||
## Unreleased
|
||||
## Detail notes from the 0.4.x era — NOT unreleased
|
||||
|
||||
⚠️ Retitled with the same correction as the section above: TEL-05 and the
|
||||
entries under this heading shipped long ago. Two headings in one file both
|
||||
claiming "Unreleased" is how a reader ends up believing running behaviour is
|
||||
still pending.
|
||||
|
||||
**TEL-05.** A fourth `meter_source`, `homewizard_local`, which polls a
|
||||
HomeWizard P1's **own local API** (`GET /api/v1/data`) instead of watching a
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
name: GoodWe RS485 Controller
|
||||
version: "0.7.0"
|
||||
version: "0.8.0"
|
||||
slug: goodwe_controller
|
||||
description: >-
|
||||
Drives a GoodWe ES/BP battery inverter over RS485 by emulating its smart
|
||||
|
||||
Reference in New Issue
Block a user