feat(planner): EV anti-fragmentace + 3f power floor (Fix B)

3f floor (phases>=3 → 6A×fáze×230 ≈4140W, ruší 1f trickle) + block-start penalta
(asset_ev_charger.planner_ev_start_penalty_czk V108, default 0=no-op). Golden gate
zelená (363 passed). Postaveno paralelním worktree agentem, zvalidováno sériově.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
Dusan Vojacek
2026-06-14 22:55:17 +02:00
parent fd7012e23d
commit a32839bf67
6 changed files with 134 additions and 10 deletions

View File

@@ -116,3 +116,13 @@ _PRAGUE_TZ = ZoneInfo("Europe/Prague")
# --- Konstanty původně roztroušené mezi funkcemi planning_engine.py (Fáze 1) ---
MORNING_PRENEG_START_HOUR = 5
MORNING_PRENEG_END_HOUR = 11
# --- EV anti-fragmentace (Fix B, solver_v2) ---
# IEC 61851 min. nabíjecí proud (A) na fázi. 3f wallbox NEumí jet 1f trickle pod
# 6 A na všech fázích → fyzikální dolní mez dávky je 6 A × phases × napětí.
EV_MIN_CHARGE_CURRENT_A = 6.0
# Síťové napětí fáze (V) pro odhad 3f power floor (3f wallbox: 6 A × 3 × 230 ≈ 4140 W).
EV_PHASE_VOLTAGE_V = 230.0
# Práh, od kolika fází považujeme wallbox za vícefázový (≥ tato hodnota → power floor
# z fází; jinak držíme min_power_w z DB). 3 = jen čistě 3f wallbox dostane 3f floor.
EV_MULTIPHASE_FLOOR_MIN_PHASES = 3