v0.4.0rc1 #389
TrentHouliston
announced in
Announcements
v0.4.0rc1
#389
Replies: 2 comments 1 reply
-
Beta Was this translation helpful? Give feedback.
1 reply
-
|
I´m also using this new rc version as it fixed some of the problems I was having. However, I see regularly simulaneous charge and discharge of my battery which messes up my automations. It looks like it can no longer directly export solar power to the grid and needs to pass via the battery. Is that something you have seen before? Thanks for the good work! |
Beta Was this translation helpful? Give feedback.
0 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment




Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
-
HAEO v0.4.0rc1
Caution
Back up your Home Assistant configuration before upgrading. This release includes a one-way schema migration (v1.3) that restructures your element configuration data. Once migrated, you cannot downgrade back to v0.3.x without restoring a backup.
What could go wrong:
Recommended steps: Take a full Home Assistant backup, upgrade, then check Settings → Devices & Services → HAEO to verify your elements and the new Policies subentry look correct. Check the Home Assistant log for any migration warnings.
Highlights
Pricing moves to power policies
Battery discharge wear costs, charge incentives, and solar production costs have moved from individual element configuration into the new Power Policy element. Existing configurations are migrated automatically (v1.3 migration), but you should verify your policies after upgrading:
If you had entity-based (non-constant) charge incentive prices, check the Home Assistant log for a migration warning — you may need to create a negating template sensor.
Entity unique IDs stabilized
Entity unique IDs have been normalized to remove section prefixes introduced in earlier versions. Duplicates are cleaned up automatically during migration. If you reference HAEO entity IDs in automations or dashboards, check that they still resolve after upgrading.
User-Facing Changes
New Features
raw_today/raw_tomorrowsensor attributes (Add Nordpool energy pricing data extractor #367)last_runattribute showing when the optimizer last completed (Add last_run timestamp to optimization status sensor #381)Configuration Improvements
Bug Fixes
[object Object]in the UI (Fix policy endpoint choose restore ordering #383, Fix policy endpoint restore value shape in UI #384)enabledandpriceon policy rules; backfill missing fields during migration (Require enabled and price on policy rules, backfill in v1.4 #385)Advanced User Changes
Connection model is now unidirectional
Connections are now explicitly directional (source → target). Bidirectional connections use two separate connection entries. Existing bidirectional connections are migrated automatically, but verify that import/export paths are configured correctly after upgrading.
Configuration data format change
Element configuration now stores values as typed objects (
{"type": "entity", "value": [...]}/{"type": "constant", "value": 0.5}) instead of raw values. This is migrated automatically — no action required — but any external tools reading config entry data directly will need updating.Bug Fixes
Developer-Facing Changes
Developer Highlights
The entire optimization engine has been extracted into a standalone
core/package with zero Home Assistant dependencies. This is the largest architectural change since HAEO's initial release — 20+ PRs restructured the codebase into clean layers that can be tested, debugged, and eventually distributed independently of Home Assistant.Architecture
custom_components/haeo/core/with enforced import boundaries (Add core package with state and units #312–Move context to core #340)core/has no Home Assistant imports (Add import linter #320)can_source/can_sinkon element adapters for filtering policy participants (Filter policy source/target by element capability #380)Schema/API Changes
EntityValue,ConstantValue,NoneValue) with type predicates (Swap to using objects to describe the stored data rather than simple values #296)inputs()methods (Enrich schema to remove adapter inputs() #322)Testing & Documentation
tests/subdirectories within each package (Colocate tests within packages #336)guideblocks, automated screenshot generation via Playwright (Automatically run guides and gather screenshots of the steps #139, Literate guide system with automated screenshot generation #345, feat: guide tooling infrastructure improvements #365)Contributors
Full Changelog
Full diff:
v0.3.3...v0.4.0-beta1This discussion was created from the release v0.4.0rc1.
Beta Was this translation helpful? Give feedback.
All reactions