evcc-io/core/optimizer.md

1.4 KiB

Optimizer

Optimizer uses mixed integer linear programming (MILP) to minize a cost function. The optimizer model implementation honors:

  • energy consumption/ feed-in costs
  • solar forecast
  • base load (aka home) energy demand
  • end of forecast commercial value
  • strategy- either "charge before export" (charge loads as soon as possible) or "attenuate grid peaks"
  • home battery or loadpoint/vehicle...
    • capacity, soc and charge goals
    • charge/discharge power limits and efficiency

Optimization spans N slots with N being minimum of available forecast data.

Parameters

Energy consumption/ feed-in costs/ Solar forecast

Grid/ feed-in/ solar tariff data.

TODO

  • make feed-in optional
  • make solar optional

Base load energy demand

Collected 15min energy profile averaged over the last 30 days.

Measured value blending

The solar forecast and the base load profile are anchored to the current situation using the last completed 15min metrics slot, decaying linearly over 4 slots:

  • base load: the measured home consumption replaces the first slot and decays into the profile
  • solar: the scale factor measured production/forecasted production is applied to the first slot and decays towards 1

End of forecast commercial value

Use minimum of energy consumption cost.

Home Battery

Loadpoint and Vehicles

  • home battery or loadpoint/vehicle...
    • capacity, soc and charge goals
    • charge/discharge power limits and efficiency