Releases: atbore-phx/sbam
Release list
v2.0.2
What's Changed
- fix(schedule): add cooldown to prevent race with set_defaults reset by @atbore-phx-coding in #166
- docs(changelog): credit travellingkiwi for reporting issue 165 by @atbore-phx-coding in #168
- release v2.0.2 by @atbore-phx in #167
Full Changelog: v2.0.1...v2.0.2
v2.0.1
What's Changed
- fix(arch): ARM64 native runner — fix aarch64 Docker manifest, drop 32-bit by @atbore-phx in #141
ARM64/aarch64 Build Fix
The v2.0.0 release introduced an ARM64 regression where the Docker image was mislabeled as linux/amd64, preventing installation on ARM64 hardware (Raspberry Pi, ODROID, etc.). This was caused by the upgrade of the home-assistant/builder action to v2026.03.2, which no longer handles cross-platform manifest labeling.
The fix uses a native ARM64 GitHub Actions runner (ubuntu-24.04-arm) for aarch64 builds, ensuring the correct linux/arm64 platform manifest.
32-bit architecture support (i386, armv7) has been dropped — GitHub provides no native 32-bit runners, and the home assistant builder action cannot cross-compile because it doesn't rely on QEMU anymore.
Full Changelog: v2.0.0...v2.0.1
v2.0.0
What's Changed
- Added support for cross-midnight charge (
start_hr,end_hr) and reserve (batt_reserve_start_hr,batt_reserve_end_hr) windows, for example 23:00-05:00. Equal start and end values remain invalid. - Added opt-in MQTT support to the add-on with configuration keys for broker, credentials, topic prefix, and Home Assistant discovery controls.
- Added MQTT runtime topics for availability, state snapshots, error reports, command intake, and per-command acknowledgement payloads.
- Added Home Assistant MQTT Discovery publication so sbam entities are created automatically when MQTT discovery is enabled.
- Added MQTT command handling for
trigger_now,pause,resume,force_charge, andset_defaults. - Added Home Assistant MQTT slider selectors for force-charge target and pause duration with explicit send-button actions, including an explicit uncapped full-charge override payload (
{"target_pct":100,"ignore_max_charge":true}). - Added serialized schedule execution through a single runner queue so cron ticks and MQTT command intents do not race each other.
- Added extensive tests across MQTT client behavior, command parsing, discovery payloads, schedule runner lifecycle, cron wiring, and config precedence.
- Changed add-on startup behavior to auto-fill MQTT broker host/port and optional credentials from Home Assistant service data only when MQTT is enabled and broker is not manually set.
- Changed precedence behavior so manually configured broker, username, and password are preserved over auto-filled Home Assistant service values.
- Changed documentation coverage with expanded add-on setup guidance, MQTT usage notes, topic and payload references, command examples, and migration notes.
- Enhanced non-blocking
scheduleexecution in case of errors or long-running operations, with serialized command and cron execution through a single runner queue. - Extracted and Improved Fronius decision/classification helper. Author: @mvanhorn
- Clarified release scope: set_reserve remains intentionally unsupported in v2.0.0.
Full Changelog: v1.6.0...v2.0.0
v1.6.0
What's Changed
Full Changelog: v1.5.0...v1.6.0
Features
- Go toolchain upgrade to Go 1.26 (
763807b— Feat/upgrade golang #75) - Copilot agent workflow: new
/generate-plan-local,/generate-plan-from-issue,/implement-planprompts andcopilot-instructions.mdto drive feature TASK/PLAN authoring underdocs/implementations/(1a82332#77, plan #76) - Robust Viper config loading: surface and handle errors when reading the configuration file instead of silently ignoring them (
70a2fc4#78) - Startup parameter dump in debug mode: new
src/utils/startup.gowithDumpStartupParams+SecretKeysmasking, wired into root command; covered bysrc/utils/startup_test.go(89d7a4d#79, plan #70) - Vibe-coding documentation set: new
docs/vibe/(README, USAGE, PROMPTS, EXAMPLES, CONTRIBUTING-COPILOT) (c1a508f#80) - CI/CD bump: updated Docker base images and GitHub Actions versions; release workflow refresh (
da35dd4#83) - Version bump to v1.6.0 in init metadata (
67f0193)
Fixes
- CLI flag precedence hardening: enforced
flag > env > yamlvia Viper, with newpkg/cmd/precedence_test.go(plan #68)
Refactors / Internal
- Moved error helpers from
pkg/fronius/error.gointo sharedsrc/utils/error.go; tests updated accordingly - Logger gains debug helpers in
src/utils/log.go - Minor cleanups across
pkg/cmd/root.go,pkg/cmd/schedule.go,pkg/cmd/estimate.go,pkg/cmd/configure.go,pkg/fronius/modbus.go,pkg/fronius/configure.go - HA add-on: removed
build.json, updatedDockerfile,config.json,run.sh, andtest_local.sh - Build: updates to
Makefile,.tool-versions,README.md - Dependencies refreshed in
go.mod/go.sum
Tests
- New
pkg/cmd/precedence_test.go(config precedence) - New
src/utils/startup_test.go(startup dump + secret masking) - New cases in
main_test.go - Updated
pkg/fronius/error_test.go
Documentation
v1.5.0
v1.4.0
What's Changed
Features
- Battery reserve charging is triggered based on time. @atbore-phx, @Johnnexto
- Battery charging uses hysteresis logic. @atbore-phx
Fixes
- If the forecast URL is unavailable, forecast charging is disabled, and the battery reserve is checked. @atbore-phx, @Johnnexto
- Net power available is derived from the reserve rather than the actual battery capacity. @atbore-phx
Full Changelog: v1.3.9...v1.4.0
v1.3.9
What's Changed
- ha addon conf: added
resetswitch to set Fronius defaults at boot by @atbore-phx - debug log: reading/writing modbus msg are now logged as debug and log debug level is configured via
DEBUGenv var by @atbore-phx - force charging: adding a log msg when skipping force charging (<1%) by @atbore-phx
- update doc: API calls by @Johnnexto
Full Changelog: v1.3.8...v1.3.9
v1.3.8
What's Changed
- Release/v1.3.8 by @atbore-phx in #36
- Adding support for multiple forecast site URLs (max 2) #22
- Adding an error message for the 429 response code when sbam exceeds the Forecast Request API limit.
- Improving testing.
Full Changelog: v1.3.7...v1.3.8
v1.3.7
What's Changed
- feat/ci: updating workflow by @atbore-phx in #29
- Release/v1.3.7 (#32)
- fix docs for power vs energy by @cybadger (#28)
- fix(m-unit): W vs Wh by @atbore-phx, @andreapalisca (#30)
- feat(docs): adding Allow Battery Charging from the Public Grid section by @atbore-phx, @andreapalisca (#31)
Co-authored-by: @cybadger, @andreapalisca
Full Changelog: v1.3.6...v1.3.7