From f24b6a4cb1556d852857a3935fa07389bc870fe6 Mon Sep 17 00:00:00 2001 From: karwosts <32912880+karwosts@users.noreply.github.com> Date: Wed, 30 Apr 2025 21:27:11 -0700 Subject: [PATCH] Fix typo in energy calculation (#25259) * New energy calculation * more tests and stricter tests. change priority order * more test and fix error --- src/data/energy.ts | 2 +- test/data/energy.test.ts | 23 +++++++++++++++++++++++ 2 files changed, 24 insertions(+), 1 deletion(-) diff --git a/src/data/energy.ts b/src/data/energy.ts index 88d318e9ed..06498ace9b 100644 --- a/src/data/energy.ts +++ b/src/data/energy.ts @@ -1062,7 +1062,7 @@ export const computeConsumptionSingle = (data: { // Grid_In -> Battery_In grid_to_battery = Math.min(from_grid, to_battery); from_grid -= grid_to_battery; - to_battery -= to_battery; + to_battery -= grid_to_battery; // Solar -> Consumption used_solar = Math.min(used_total_remaining, solar); diff --git a/test/data/energy.test.ts b/test/data/energy.test.ts index 5609803ced..ba8d159e08 100644 --- a/test/data/energy.test.ts +++ b/test/data/energy.test.ts @@ -462,6 +462,8 @@ describe("Energy Usage Calculation Tests", () => { used_total: 9, } ); + }); + it("Solar -> Battery -> Grid", () => { assert.deepEqual( checkConsumptionResult({ from_grid: 0, @@ -482,4 +484,25 @@ describe("Energy Usage Calculation Tests", () => { } ); }); + it("Solar -> Grid && Grid -> Battery", () => { + assert.deepEqual( + checkConsumptionResult({ + from_grid: 1, + to_grid: 1, + solar: 1, + to_battery: 1, + from_battery: 0, + }), + { + grid_to_battery: 1, + battery_to_grid: 0, + used_solar: 0, + used_grid: 0, + used_battery: 0, + solar_to_battery: 0, + solar_to_grid: 1, + used_total: 0, + } + ); + }); });