Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 5 additions & 0 deletions .changeset/energyplan-0-5-1.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
"ftw": patch
---

Update the bundled Energyplan planner to 0.5.1. Plans with a car get cheaper within the box's time budget: once the planner has met the car's charging goals, it plans the battery around that charging again instead of keeping the battery schedule its goal search left. On the home box that schedule cost up to about 10 kr in one plan. A car that needs less than two minimum charging runs gets one run at the cheapest time, and a need of at most half a run counts as met instead of starting the charger. Core still validates every plan.
2 changes: 1 addition & 1 deletion go/internal/mpc/energyplan_fault_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -57,7 +57,7 @@ func TestNativeEnergyplanEVRecoveryFallbackFaults(t *testing.T) {
t.Cleanup(func() { _ = external.Close() })
wrapper := &EnergyplanOptimizer{ExternalOptimizer: external}
health, err := wrapper.Health(context.Background())
if err != nil || health.Version != "0.5.0" {
if err != nil || health.Version != "0.5.1" {
t.Fatalf("bundle health=%+v err=%v", health, err)
}
svc := shadowTestService(t)
Expand Down
2 changes: 1 addition & 1 deletion go/internal/mpc/energyplan_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -95,7 +95,7 @@ func TestNativeEnergyplanDownsideAndAsyncShadow(t *testing.T) {
svc := shadowTestService(t)
svc.Optimizer = o
info, err := svc.Optimizer.(*EnergyplanOptimizer).Health(context.Background())
if err != nil || info.Name != "ftw-solver" || info.Version != "0.5.0" {
if err != nil || info.Name != "ftw-solver" || info.Version != "0.5.1" {
t.Fatalf("bundled worker health: %+v %v", info, err)
}
start := time.Now().UTC().Truncate(time.Hour)
Expand Down
2 changes: 1 addition & 1 deletion optimizer/native/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ The [Energyplan contract](../../docs/energyplan-contract.md) defines the shared
planning and forecast boundary, result meanings, units and failure rules.
Core owns it; Energyplan keeps an identical copy.

Energyplan 0.5.0 uses the Home Use Binary License in `bundle/LICENSE.txt`. It
Energyplan 0.5.1 uses the Home Use Binary License in `bundle/LICENSE.txt`. It
permits private household use with FTW and free noncommercial redistribution
for that use. Commercial use, OEM bundles, paid installation and services need
a separate written license from Sourceful Labs AB. FTW's AGPL code has a
Expand Down
Binary file modified optimizer/native/bundle/ftw-solver-darwin-arm64
Binary file not shown.
Binary file modified optimizer/native/bundle/ftw-solver-linux-amd64
Binary file not shown.
Binary file modified optimizer/native/bundle/ftw-solver-linux-arm64
Binary file not shown.
16 changes: 8 additions & 8 deletions optimizer/native/bundle/manifest.json
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
{
"schema_version": 1,
"product": "energyplan",
"version": "0.5.0",
"version": "0.5.1",
"source_repository": "srcfl/energyplan",
"source_commit": "4ad5804a9bbaabe3ddff0a64fff1009ed359f580",
"source_commit": "36bd7199426d39bffb47b70e1312c2eb8fbf2d39",
"rustc": "rustc 1.95.0 (59807616e 2026-04-14)",
"protocol_version": 1,
"forecast_protocol_version": 1,
Expand Down Expand Up @@ -39,16 +39,16 @@
"bytes": 15377
},
"ftw-solver-darwin-arm64": {
"sha256": "be7bdb3fb4dd0dd5d941c483bc5d29e4395fd0a09d10d9dbd86093da23d2188d",
"bytes": 1422560
"sha256": "05e9c960eb91ccea3dfeede8e35f31719249da5b69e8919c50606260a425a370",
"bytes": 1438976
},
"ftw-solver-linux-amd64": {
"sha256": "63db6fdb40db1d8e2c992ff04393488ba8d19c9d1e124367b53dad73e045cb6c",
"bytes": 1819336
"sha256": "d000baaea2e563d934178cc9ee67bd46a7ef9a7a571ca779b774aab5437679da",
"bytes": 1833800
},
"ftw-solver-linux-arm64": {
"sha256": "1294944402313bb42b504fad8b1687015415a3cf6f27c45761b6cffd40e98e0b",
"bytes": 1457536
"sha256": "27542b9c8074f2c087450b2afa34586023e29791f37498a5ecded1fc699423fe",
"bytes": 1470192
},
"rust-runtime/COPYRIGHT-library.html": {
"sha256": "90567e2718bf7fd65a71a3a43c5596488e80e5f51ed02bfea6fec54458b5f3d1",
Expand Down
Loading