Skip to content

build: bump version to 1.0.2#57

Merged
dewet22 merged 2 commits into
mainfrom
release/v1.0.2
May 27, 2026
Merged

build: bump version to 1.0.2#57
dewet22 merged 2 commits into
mainfrom
release/v1.0.2

Conversation

@dewet22

@dewet22 dewet22 commented May 27, 2026

Copy link
Copy Markdown
Owner

Patch release shipping the BMS diagnostics work from #56 and a sync to givenergy-modbus v2.0.3.

Changes since v1.0.1

Features

  • feat(sensor): expose additional BMS diagnostics on battery devices (feat(sensor): expose additional BMS diagnostics on battery devices #56) — per-index BMS status (status_1status_7) and warning (warning_1, warning_2) sensors rendered as fixed-width hex strings, exposes the alt-source cap_design2 field as "Design Capacity Alt", adds a "BMS Diagnostics" card to the auto-generated dashboard. Dashboard schema bumped to v2 so existing installs are prompted via Repairs to regenerate.

Library sync (givenergy-modbus 2.0.0 → 2.0.3)

  • Bounds enforcement (modbus#82, in 2.0.1) — out-of-bounds register values now suppress to None instead of passing through. The IR(100)/IR(59) SOC corruption events that previously surfaced as raw out-of-range values (~5710, ~44820, etc.) will now show as unknown for one tick before recovering on the next poll. Cleaner UX, no more spurious "SOC > 100" automation triggers from this class of corruption.
  • Pattern A frame-level discard (modbus#78, in 2.0.1) — corrupted IR(0,60) frames are now discarded at the framer level, before they reach the cache.
  • work_time_total documented and bounded upstream (modbus#84, in 2.0.1) — confirms our existing hass-side value_fn passthrough is right. Drops the inline tracking comment in sensor.py.
  • PlantCapabilities.from_dict() compat (in 2.0.2) — backward-compat fixes for serialised v2.0.0 payloads.
  • Framer DoS hardening (modbus#88, in 2.0.3) — defence-in-depth against malformed-frame inputs.

No code changes needed for the library sync beyond the comment cleanup — the API surface is unchanged across 2.0.0 → 2.0.3.

Test plan

🤖 Generated with Claude Code

Summary by CodeRabbit

  • Chores

    • Bumped integration version to 1.0.2 and raised the minimum required underlying library version.
  • Documentation

    • Removed an outdated inline comment about a sensor register’s units to keep internal notes accurate.

Review Change Stack

Ships the BMS diagnostics work from #56 — adds per-index battery status
and warning sensors (rendered as hex for easier bit-pattern reading),
exposes the alt-source design capacity field, and adds a BMS Diagnostics
card to the auto-generated dashboard.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
@coderabbitai

coderabbitai Bot commented May 27, 2026

Copy link
Copy Markdown

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro Plus

Run ID: 9bc539e3-ddbc-4b04-b824-972e90557a76

📥 Commits

Reviewing files that changed from the base of the PR and between d39689a and 5dc451f.

⛔ Files ignored due to path filters (1)
  • uv.lock is excluded by !**/*.lock
📒 Files selected for processing (2)
  • custom_components/givenergy_local/manifest.json
  • custom_components/givenergy_local/sensor.py
💤 Files with no reviewable changes (1)
  • custom_components/givenergy_local/sensor.py
🚧 Files skipped from review as they are similar to previous changes (1)
  • custom_components/givenergy_local/manifest.json

📝 Walkthrough

Walkthrough

Manifest requirement for givenergy-modbus is raised to >=2.0.3,<3.0.0 and the integration version is bumped to 1.0.2; an outdated inline comment in sensor.py related to work_time_total was removed.

Changes

Manifest and sensor cleanup

Layer / File(s) Summary
Manifest requirement & version update
custom_components/givenergy_local/manifest.json
givenergy-modbus requirement changed to >=2.0.3,<3.0.0; version updated from 1.0.1 to 1.0.2.
Sensor inline comment removal
custom_components/givenergy_local/sensor.py
Deleted an outdated inline comment about the work_time_total sensor's unit interpretation; no code behavior changed.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~10 minutes

Possibly related PRs

  • dewet22/givenergy-hass#53: Also updates custom_components/givenergy_local/manifest.json to bump the integration version (previous bump from 1.0.01.0.1).

Poem

🐰 I hopped through JSON, small and spry,
Pushed versions up toward the sky,
A comment pruned, tidy and neat,
The manifest now skips a beat,
Hooray — the release is light on its feet! ✨

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title accurately reflects the main change: bumping the integration version from 1.0.1 to 1.0.2, which is the primary action described in the file-level changes.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch release/v1.0.2

Comment @coderabbitai help to get the list of available commands and usage tips.

@gemini-code-assist gemini-code-assist Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

This pull request updates the version of the givenergy_local custom component from 1.0.1 to 1.0.2 in the manifest.json file. I have no feedback to provide as there are no review comments.

Picks up three pieces of library work that landed since 2.0.0:

- 2.0.1: out-of-bounds register values now suppress to None instead of
  passing through (modbus#82). The IR(100)/IR(59) SOC corruption events
  will surface as a one-tick `unknown` rather than as out-of-range
  values reaching HA's state machine.
- 2.0.1: dongle-side Pattern A IR(0,60) substitution responses are
  discarded at the framer level (modbus#78), before they ever reach the
  cache.
- 2.0.1: work_time_total is now documented and bounded upstream
  (modbus#84) — drops the inline comment in sensor.py that was pointing
  at the tracking issue. The integration's value-side passthrough stays
  the same.
- 2.0.2: backward-compat fixes around PlantCapabilities.from_dict() for
  serialised v2.0.0 payloads.
- 2.0.3: framer hardening against malformed-frame DoS cases (modbus#88).

No code changes needed beyond the comment cleanup — the library's API
surface is unchanged across 2.0.0 → 2.0.3.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
@socket-security

Copy link
Copy Markdown

Review the following changes in direct dependencies. Learn more about Socket for GitHub.

Diff Package Supply Chain
Security
Vulnerability Quality Maintenance License
Updatedgivenergy-modbus@​2.0.0 ⏵ 2.0.3100 +1100100100100

View full report

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant