Bump to 0.27.0: a dead brand spoken to, and the grid pointed the right way - #190
Merged
Conversation
…t way Twenty-one commits since v0.26.4. A minor rather than a patch, because three things are genuinely new: a protocol family, a canonical channel and a brand. MaxTalk, ASCII over RS485, for inverters whose vendor went bankrupt in 2014 and took the monitoring with it -- which is the case this firmware exists for. Framing in src/protocols/maxtalk/, brand-free like the PMU family beside it; the driver is read-only because neither source documents a write. grid.power, signed, positive meaning importing. Almost every meter reports one signed number and a profile cannot do arithmetic, so a device whose only grid register is signed had nowhere to publish it. Not a new pattern -- battery.power has sat beside its raw rails for the same reason since those channels existed. Sofar HYD, single- and three-phase: a new brand, and the first maps here whose second source ran on real hardware. That settled which of three temperature registers an operator should read, a question the vendor document leaves open. VERIFIED: 1022 native cases, all eleven gates, ruff, four board builds. The 1CH build emits four warnings, all inside eModbus (deprecated AsyncClient::close and a uint32 format string) and NONE in src/ -- checked rather than assumed, because the last release note made that claim too. Four defects were caught by review before merge and none reached this tag: a codec line no test could fail on, a driver that hung the suite instead of failing it while holding the bus lock, a registration that vanished inside another driver's #if, and a grid register left unmapped because I read half of a wrapped table cell and reasoned carefully on top of it.
Contributor
There was a problem hiding this comment.
Pull request overview
Updates the firmware version constants for the 0.27.0 release and refreshes the in-source release notes in src/main.cpp to describe the new features being shipped.
Changes:
- Bump
HELIOGRAPH_VERSION_MINORfrom 26 → 27 and resetHELIOGRAPH_VERSION_PATCHto 0. - Replace the prior patch-level release-note block with a new
0.27.0release-note block.
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
Comment on lines
+485
to
+487
| // A NEW BRAND, two profiles. Sofar HYD, single- and three-phase, and they are the first maps | ||
| // here with a second source that ran on real hardware -- which settled a question the vendor | ||
| // document leaves open, namely which of three temperature registers an operator should read. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Twenty-one commits since
v0.26.4. Minor, not patch — three things are genuinely new.grid.power, signed, positive = importing — reaching Modbus register 406, a Prometheus gauge and a dashboard rowVerification
1022 native cases, all eleven gates, ruff, four board builds.
The 1CH build emits four warnings, all inside eModbus (deprecated
AsyncClient::close, auint32format string) and none insrc/— checked rather than assumed, because the lastrelease note made that claim too.
What review caught before this tag
Four defects, none of which reached it: a codec line no test could fail on; a driver that hung
the suite instead of failing it, bounded only by a clock the host mock holds still, while
holding the bus lock; a driver registration that vanished inside another driver's
#if; and agrid register left unmapped because I read half of a wrapped table cell and reasoned carefully on
top of it.