Skip to content

Releases: atbore-phx/sbam

v2.0.2

Choose a tag to compare

@atbore-phx atbore-phx released this 11 Jun 08:14
274a538

What's Changed

Full Changelog: v2.0.1...v2.0.2

v2.0.1

Choose a tag to compare

@atbore-phx atbore-phx released this 26 May 19:04
4f9f781

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

Choose a tag to compare

@atbore-phx atbore-phx released this 20 May 13:28
d017159

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, and set_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 schedule execution 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

Choose a tag to compare

@atbore-phx atbore-phx released this 30 Apr 15:37
c57b012

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-plan prompts and copilot-instructions.md to drive feature TASK/PLAN authoring under docs/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.go with DumpStartupParams + SecretKeys masking, wired into root command; covered by src/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 > yaml via Viper, with new pkg/cmd/precedence_test.go (plan #68)

Refactors / Internal

  • Moved error helpers from pkg/fronius/error.go into shared src/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, updated Dockerfile, config.json, run.sh, and test_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

  • New .github/copilot-instructions.md and prompt files under .github/prompts/
  • New feature plans/tasks under docs/implementations/ (#68, #70, #76)
  • New docs/vibe/ guides

v1.5.0

Choose a tag to compare

@atbore-phx atbore-phx released this 30 Aug 09:18

What's Changed

Full Changelog: v1.4.0...v1.5.0

v1.4.0

Choose a tag to compare

@atbore-phx atbore-phx released this 22 Jan 06:53
0eb1b0b

What's Changed

Features

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

Choose a tag to compare

@atbore-phx atbore-phx released this 17 Nov 14:14
60a76d7

What's Changed

  • ha addon conf: added reset switch 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 DEBUG env 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

Choose a tag to compare

@atbore-phx atbore-phx released this 09 Nov 11:05
e9d2779

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

Choose a tag to compare

@atbore-phx atbore-phx released this 26 Oct 11:42
587f7fe

What's Changed


Co-authored-by: @cybadger, @andreapalisca

Full Changelog: v1.3.6...v1.3.7

v1.3.6

Choose a tag to compare

@atbore-phx atbore-phx released this 26 May 16:24

What's Changed

Full Changelog: v1.3.5...v1.3.6