Hloubková diagnóza EV potvrdila: oportunitní ekonomika via-baterie je v LP
správně, ale okraje lhaly nebo byly nevykonatelné:
- V099 + R__039: ems.ev_session.opportunistic_value_czk_kwh (NULL = zdědit
z asset_vehicle, 0 = vypnout pro session); headroom_wh z max(target_soc,
soc_at_connect) — „nenabíjet" (nízký target) už paradoxně NEzvětšuje
oportunistickou vrstvu; vehicles JSON nese min_power_w wallboxu.
- R__015: patch klíč opportunistic_value_czk_kwh (validace >= 0).
- solver_v2: (a) deadline suma range(t_dl) — slot začínající v deadline už
nepatří „do deadline"; (b) Σ ev_direct <= gi + PV (fyzikální split);
(c) binárka ev_on → setpoint ∈ {0} ∪ [min_power_w, max] (konec 400–900 W
nevykonatelných setpointů); (d) bez session EV == 0 (stop-session i golden
fixtures — žádné pumpování při buy<0); dekompozice total == needed − unmet
+ opp i pro needed = 0; (e) battery_arbitrage_czk = via_bat kWh × oportunitní
cena (min sell exportního slotu téhož pražského dne, jinak terminal value)
místo konstantní 0. Oportunismus PO deadline zůstává POVOLENÝ (rozhodnutí:
auto často doma, odjezd řeší rolling replan).
- R__033: fn_plan_current_bundle.intervals + ev1/ev2_via_bat_w (UI nemá cenit
EV kWh z baterie slotovým buy).
Golden gate beze změny snapshotů (v1 nedotčen, fixtures bez EV sessions);
solver_v2_eval před/po identický (CELKEM −1283.5 Kč, Δ −221.9 vs v1);
tests/test_solver_v2.py +7 testů; plná sada 310 passed / 4 xfailed.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
17 lines
1.3 KiB
SQL
17 lines
1.3 KiB
SQL
-- Per-session override oportunistického EV nabíjení (V094 zavedl hodnotu
|
||
-- na asset_vehicle). NULL = zdědit z vozidla; 0 = oportunismus pro tuto
|
||
-- session vypnut („nenabíjet nad target"); > 0 = vlastní ocenění kWh.
|
||
-- Efektivní hodnota se skládá v ems.fn_planning_site_context
|
||
-- (coalesce(session, vehicle)); patch přes ems.fn_ev_session_apply_patch.
|
||
|
||
alter table ems.ev_session
|
||
add column if not exists opportunistic_value_czk_kwh numeric(6, 3) null;
|
||
|
||
comment on column ems.ev_session.opportunistic_value_czk_kwh is
|
||
'Per-session override hodnoty kWh nabité NAD target (Kč/kWh). NULL = zdědit z asset_vehicle.opportunistic_value_czk_kwh; 0 = oportunistické nabíjení pro tuto session vypnuto (headroom_wh = 0 v plánovacím kontextu).';
|
||
|
||
-- v2 reporting: battery_arbitrage_czk nese oportunitní hodnotu kWh z baterie
|
||
-- do EV (via_bat × oportunitní cena), ne konstantní 0 / v1 marži exportu.
|
||
comment on column ems.planning_interval.battery_arbitrage_czk is
|
||
'Ekonomika baterie mimo slotový cashflow (Kč). v1: marže exportu baterie ge_bat × (sell − acquisition) × h. v2: oportunitní cena EV energie z baterie — ev_via_bat × (nejnižší sell exportního slotu téhož pražského dne, jinak terminal value); slotový buy pro tyto kWh neplatí.';
|