bug: DP picks GRID_CHARGING with explicitly negative net_strategy_value, self-corrects 15 min later
Summary
The optimizer selected a GRID_CHARGING action for a period whose own debug output
already showed the move as a net loss (net_strategy_value: -0.28 EUR,
future_value: 0.0), i.e. the DP's own accounting knew the action was uneconomic and
chose it anyway. The very next re-optimization (15 minutes later, same price regime)
reverted that slot to SOLAR_STORAGE. This looks like the same class of DP
search-precision defect as the (now-fixed) #336, but with a different trigger —
worth its own investigation since #336's fix apparently didn't cover it.
Reported by @Frank-Leysen on #126, 18 Jul 2026, v9.9.0b20, live Growatt MOD.
Evidence
15:30 optimization — bad plan
Debug: bess-debug-2026-07-18-154328.md
(gist)
| Slot |
Intent |
Mode |
Grid Charge |
BattAct |
Buy |
Notes |
| 15:30–15:59 |
IDLE |
Load First |
No |
0 |
~0.21 |
Target 49% (below current SOC) |
| 16:00–16:14 |
GRID_CHARGING |
Battery First |
Yes |
+1.25 kWh |
~0.21 |
Target 57%; period savings −0.275 EUR |
| 16:15–19:59 |
SOLAR_STORAGE |
Load First |
No |
small solar charge |
~0.21–0.33 |
Target toward ~66% |
Sell price at 16:00 was still negative (~−0.013 EUR/kWh). Debug for the 16:00 period (period 64) shows:
economic_chain: "Store 1.1kWh grid energy (−0.28 EUR) → Future discharge opportunity
(+0.00 EUR) → Net strategy: −0.28 EUR"
future_value: 0.0
net_strategy_value: -0.28
future_target_hours: [18,19,20,21] — valued at zero despite being the stated
justification for storing the energy
Under Belgian Dynamic pricing (buy ~0.21 vs sell ≤0), imported kWh needs roughly 3×
export later just to break even — the chosen action does not look like rational
arbitrage.
15:45 optimization — self-corrects
Debug: bess-debug-2026-07-18-155251.md (same gist)
| Per |
Time |
Intent (15:45 plan) |
| 63 |
15:45 |
IDLE |
| 64 |
16:00 |
SOLAR_STORAGE (was GRID_CHARGING in the 15:30 plan) |
| 65+ |
afternoon |
SOLAR_STORAGE |
No input changed between 15:30 and 15:45 that would explain flipping from a −0.28 EUR
grid-charge to solar-only storage — same price regime, same approximate SOC/PV forecast
window.
Ask
Investigate why the DP would ever select an action whose own net_strategy_value is
negative and future_value is zero, and why a re-optimization 15 minutes later (same
price regime) reaches a different, better answer for the same slot. If this is a search
resolution/pruning issue, it's likely the same family as #336 (also self-corrected on
a later re-optimization) but not covered by that fix.
bug: DP picks GRID_CHARGING with explicitly negative net_strategy_value, self-corrects 15 min later
Summary
The optimizer selected a
GRID_CHARGINGaction for a period whose own debug outputalready showed the move as a net loss (
net_strategy_value: -0.28 EUR,future_value: 0.0), i.e. the DP's own accounting knew the action was uneconomic andchose it anyway. The very next re-optimization (15 minutes later, same price regime)
reverted that slot to
SOLAR_STORAGE. This looks like the same class of DPsearch-precision defect as the (now-fixed)
#336, but with a different trigger —worth its own investigation since #336's fix apparently didn't cover it.
Reported by @Frank-Leysen on
#126, 18 Jul 2026, v9.9.0b20, live Growatt MOD.Evidence
15:30 optimization — bad plan
Debug:
bess-debug-2026-07-18-154328.md(gist)
Sell price at 16:00 was still negative (~−0.013 EUR/kWh). Debug for the 16:00 period (period 64) shows:
economic_chain: "Store 1.1kWh grid energy (−0.28 EUR) → Future discharge opportunity(+0.00 EUR) → Net strategy: −0.28 EUR"
future_value: 0.0net_strategy_value: -0.28future_target_hours: [18,19,20,21]— valued at zero despite being the statedjustification for storing the energy
Under Belgian Dynamic pricing (buy ~0.21 vs sell ≤0), imported kWh needs roughly 3×
export later just to break even — the chosen action does not look like rational
arbitrage.
15:45 optimization — self-corrects
Debug:
bess-debug-2026-07-18-155251.md(same gist)No input changed between 15:30 and 15:45 that would explain flipping from a −0.28 EUR
grid-charge to solar-only storage — same price regime, same approximate SOC/PV forecast
window.
Ask
Investigate why the DP would ever select an action whose own
net_strategy_valueisnegative and
future_valueis zero, and why a re-optimization 15 minutes later (sameprice regime) reaches a different, better answer for the same slot. If this is a search
resolution/pruning issue, it's likely the same family as
#336(also self-corrected ona later re-optimization) but not covered by that fix.