Highlights
- π Battery limit edits apply immediately β Changing minimum charge and other battery SOC settings through HAEO number entities now updates the live optimizer without reloading the integration (#468, fixes #467).
- β‘ New batteries appear right away β Creating a battery through the config flow now registers its device and entities immediately, matching grid and inverter behavior (#472).
User-Facing Changes
Bug Fixes
- Battery settings no longer require a reload β Edits to
min_charge_percentageand related battery limit entities propagate into the running optimization model on the next cycle instead of staying pinned at the values from integration load (#468, #467). - Battery creation no longer leaves a ghost subentry β The battery config flow writes policy rules before committing its own subentry; an eager reload during that step could tear down the update listener and skip device/entity registration. Reload is now deferred until the flow finishes (#472).
Developer-Facing Changes
Architecture
- Promote
SocPricingSegmentthreshold and price fields toTrackedParamdescriptors so the coordinator's element updater can refresh live LP values (#468). - Defer and coalesce config-entry reloads while an element subentry flow is in progress via a
reload_pendingflag onHaeoRuntimeData(#472).
Testing & Documentation
- Add
test_soc_pricing_live_update.pyregression test for live threshold updates (#468). - Add live Playwright guide test
test_battery_device_repro.pyfor battery device registration (#472). - Add unit tests for deferred reload behavior in
test_init.py(#472).
Contributors
- @purcell-lab β #468
- @TrentHouliston β #472
Full Changelog
- fix(#467): propagate live subentry value edits into LP via TrackedParam updater chain (#468) @purcell-lab
- Defer config-entry reload during element flows so batteries get devices (#472) @TrentHouliston
Compare: v0.4.0...v0.4.1