mirror of
https://github.com/Akkudoktor-EOS/EOS.git
synced 2026-08-31 12:46:38 +00:00
feat(optimization): support a 15-minute optimization interval
The genetic optimizer was hard-wired to an hourly grid and forced
optimization.interval to 3600 s. Generalize it to a configurable slot grid
of length prediction.hours * (3600 / interval), accepting 900 (15 min) in
addition to the default 3600 (1 hour) so the optimizer can schedule on a
quarter-hour grid for 15-minute dynamic electricity tariffs.
- genetic.py: slot_duration_h / slots_per_hour / total_slots helpers; all GA
vectors sized by total_slots; simulate()/evaluate() indexed by start slot.
- geneticparams.py: allow {900, 3600}; scale the load power series to per-slot
energy, mirroring the PV series.
- battery.py / inverter.py: scale power caps to per-slot energy caps via
slot_duration_h; homeappliance.py carries the hook.
- geneticsolution.py: serialize solution and plan on the slot grid (interval
freq, start-slot offset, second-based instruction instants).
The default 3600 s interval keeps the previous hourly behaviour; the genetic
regression suite is unchanged. Adds tests for the 15-minute slot grid.
This commit is contained in:
@@ -13,6 +13,13 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/).
|
||||
- `PVForecastPVNode` — native 15-minute forecasts from the pvnode.com API.
|
||||
- `PVForecastForecastSolar` — forecasts from the free Forecast.Solar API.
|
||||
- `PVForecastSolcast` — forecasts from the Solcast rooftop-site API.
|
||||
- 15-minute optimization interval for the genetic optimizer. `optimization.interval`
|
||||
now accepts 900 (15 min) in addition to the default 3600 (1 hour), letting the
|
||||
optimizer schedule on a quarter-hour grid for 15-minute dynamic electricity
|
||||
tariffs. Device power caps and the solution/plan serializers are slot-aware; the
|
||||
default 3600 s interval keeps the previous hourly behaviour. The new sub-hourly PV
|
||||
providers (pvnode, Forecast.Solar, Solcast) feed their native resolution straight
|
||||
into the quarter-hour grid.
|
||||
|
||||
## 0.3.0 (2026-03-17)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user