Releases: dewet22/givenergy-hass
v1.0.0a9
Final v1.0 pre-release
Pulls in givenergy-modbus 2.0.0a6 (the library's final pre-release ahead
of 2.0.0). Plus a handful of polish items from PR #41 review: dashboard
generator and template now correctly target the writable select.*
entity for battery pause mode (the previous sensor.* references would
have been orphaned after the platform move), mkdir on dashboard
generation moved into the executor so it doesn't block the event loop,
ASCII hyphen-minus in cell-temperature labels, plus small test
refinements.
Changes
- fix: address PR #41 review feedback on battery-pause platform migration (229407a)
- chore: capture www_dir in lambda default arg to avoid B023 late-binding (35f9c87)
- fix(deps): bump givenergy-modbus to 2.0.0a6 (3cc8159)
Full Changelog: v1.0.0a8...v1.0.0a9
v1.0.0a8
Battery pause control + race-free slot edits
Promotes battery pause mode to a writable select (Disabled / Pause
Charge / Pause Discharge / Pause Both) and adds time entities for the
pause-slot start and end, matching the existing charge/discharge slot
pattern. Updates the modbus dependency to 2.0.0a5 and migrates all
time-slot entities to single-endpoint register writes — editing one
end of a slot no longer round-trips a stale "other end" value from
the last poll, so rapid edits to start and end can't clobber each
other.
Changes
- feat: make battery pause writable; add pause-slot time entities (4145109)
- fix(deps): bump givenergy-modbus to 2.0.0a5 (69528e5)
- refactor(time): switch slot entities to single-endpoint writes (c183164)
Full Changelog: v1.0.0a7...v1.0.0a8
v1.0.0a7
Faster transient-blip recovery, simpler config
Pulls in givenergy-modbus 2.0.0a4, which introduces a retry_delay default
(0.5s) that lets in-tick retries land past the multi-second silent windows
some inverters exhibit, recovering with fresh data instead of waiting for
the next coordinator tick. Also picks up a library-side wire-skip
optimisation that drops duplicate sends on late-arrival responses.
Removes the timeout_tolerance and retries settings from the config flow.
The library's new defaults handle these failure modes well enough that the
knobs were doing more harm than good — both invited "more is better"
intuitions that traded longer recovery for nothing. An automatic migration
resets existing entries to the calibrated defaults; storage stays clean.
Changes
- docs: capture coordinator concurrency invariant in class docstring (081314e)
- ci(bump): route bump PR to the branch matching the modbus major version (d4ecb31)
- chore: add idempotent script to apply branch-protection ruleset (f68346f)
- ci(bump): use BUMP_PAT so PRs trigger downstream workflow checks (8a54b06)
- fix(deps): bump givenergy-modbus to 2.0.0a3 (477072a)
- feat!: drop user-tunable retries and timeout_tolerance from config form (1d64321)
- fix(deps): bump givenergy-modbus to 2.0.0a4 (3b6cd41)
Full Changelog: v1.0.0a6...v1.0.0a7
v1.0.0a6
Timeout, retry, and reconnect overhaul
Faster recovery from inverter timeouts and clearer visibility of the
close-and-reconnect cycle. timeout_tolerance now means "reset on the Nth
consecutive failure" (default lowered from 5 to 3), and a new retries
option (default 1) absorbs single dropped Modbus requests within a tick
before they count toward the tolerance window. Pulls in
givenergy-modbus 2.0.0a2 for the frequency-bounds log-noise fix.
Changes
- fix: log connection close and reconnect events in coordinator (d4a3029)
- fix: reset on Nth consecutive timeout, not after N tolerated failures (0e9ca43)
- build: pin uv_build as the build backend (8a7383f)
- feat: configurable per-request retries (default 1) (48cfebb)
- chore(deps): bump givenergy-modbus to 2.0.0a2 in pyproject (4306f5e)
Full Changelog: v1.0.0a5...v1.0.0a6
v1.0.0a5
Dashboard naming cleanup
Renames the lovelace/ directory to dashboard/, switches generated files
to www/ so they are downloadable via /local/ without filesystem access,
and drops "Lovelace" from all user-facing strings in line with HA's
current Dashboard branding.
Changes
- refactor: rename lovelace → dashboard throughout (5202a47)
Full Changelog: v1.0.0a4...v1.0.0a5
v1.0.0a4
Lovelace dashboard support
Ships a multi-tab Lovelace dashboard (Overview, Energy, Battery, Controls,
Diagnostics) with a generate_dashboard service call that writes a
pre-configured YAML file to the HA config directory — serial numbers filled
in automatically from the connected inverter and batteries.
Also includes a standalone lovelace/generate.py script for generating the
same dashboard outside of HA, and switches the power flow card to
power-flow-card-plus.
Changes
- ci: trigger release workflow on tag push (3bfa0a4)
- fix(dashboard): sections battery view, fix apexcharts bar charts (6a415a8)
- feat(lovelace): add dashboard generator script (d5d8db6)
- fix(lovelace): switch to power-flow-card-plus (flixlix) (c6833d8)
- feat: add generate_dashboard service (6a81707)
Full Changelog: v1.0.0a3...v1.0.0a4
v1.0.0a3
Expand sensor and diagnostic coverage
Adds 20 new inverter sensors and 10 new per-battery sensors, including
decoded enum sensors for battery pause mode, calibration stage, maintenance
mode, and USB device state. Introduces translated human-readable labels for
all enum sensors. Includes a sample Lovelace dashboard covering five views:
Overview, Energy, Battery, Controls, and Diagnostics.
Changes
- feat(sensor): expand diagnostic and enum sensor coverage (18dd83b)
Full Changelog: v1.0.0a2...v1.0.0a3
v1.0.0a2
First installable alpha — same code as v1.0.0a1, just with the dependency pin corrected so HACS / pip can actually resolve it.
v1.0.0a1 declared givenergy-modbus>=2.0.0,<3.0.0 in manifest.json before any v2 of the library was on PyPI, so installs failed with a resolution error. This release pins to >=2.0.0a1,<3.0.0 to match the newly-published givenergy-modbus alpha, and drops the [tool.uv.sources] git override so the dev environment installs the same artifact end users get from PyPI.
Functional behaviour is unchanged from v1.0.0a1 — see those release notes for the full picture (detect()-based topology discovery, removal of the max_batteries setting, new reboot/calibrate services).
Changes
- fix(deps): bump givenergy-modbus to 2.0.0a1 (d4ce23f)
- chore: drop [tool.uv.sources] override; pull givenergy-modbus from PyPI (3786fb1)
Full Changelog: v1.0.0a1...v1.0.0a2
v0.4.1
Polishes several diagnostic sensors: Status, Meter Type, and Battery Type now use Home Assistant's enum device class with translated state labels rather than raw strings. The inverter model in the device info panel shows a friendly name (e.g. "Hybrid") instead of the bare enum member. Also adds HACS and hassfest validation workflows, pins givenergy-modbus to <2.0.0, and fixes a handful of documentation and manifest issues.
Changes
- ci: require annotated tag; prepend blurb to release notes (ef758fd)
- ci: add HACS and hassfest validation workflows (c073dc0)
- fix: remove deprecated content_type from hacs.json; fix hassfest action ref (75dc572)
- fix: sort manifest.json keys per hassfest requirements (8c4eb2d)
- docs: add logo; consistent badges and intro blurb (edbcef2)
- docs: add timeout tolerance to configuration table (1eaf7fd)
- feat: expose Status, MeterType, BatteryType as proper enum sensors; friendly model name in device info (6605d5a)
Full Changelog: v0.4.0...v0.4.1
v0.4.0
Some updates in the underlying givenergy-modbus to be more resilient to comms failure. This should also address the issue where the coordinator froze up every night at 2am when the inverter has a regular disconnect.
Changes
- ci: add bump-givenergy-modbus listener workflow (#33) (9463187)
- fix(deps): bump givenergy-modbus to 1.2.0 (#34) (27844b9)
- fix(deps): bump givenergy-modbus to 1.3.0 (#35) (94c85de)
- docs: add AGENTS.md with accurate integration overview (989305b)
- chore: add Claude Code project automations (6815a58)
- feat: add timeout tolerance; fix timeout exception propagation (5f569a3)
- docs: expand compatibility section; update hacs.json (493c93c)
- minor cleanups (5cf9cb6)
Full Changelog: v0.3.0...v0.4.0