Branch 3: charge-slot-budget v R__063 + odstranit v58 pro BA81/KV1 + fixed evening push
This commit is contained in:
@@ -42,24 +42,34 @@ Formát: **datum (ISO)** · stručný důvod · soubory · chování / ověřen
|
||||
|
||||
---
|
||||
|
||||
## Plánováno — rozpočet nabíjecích slotů (charge-slot-budget, neimplementováno)
|
||||
## 2026-06-06 — charge-slot budget v1 (Branch 3: BA81/KV1)
|
||||
|
||||
**Stav:** pouze dokumentace (2026-06); implementace později.
|
||||
**Problém:** v58 `sell > min_sell + 0,20 → bc_pv = 0` držel denní SoC ~60 % při slunci (konflikt s `R__063` vrstvou A). Fixní lokality neměly večerní push podle `sell > buy + spread`.
|
||||
|
||||
**Motivace:**
|
||||
**Změna:**
|
||||
|
||||
- **BA81/KV1:** v58 `sell > min_sell + 0,20 → bc_pv = 0` drží denní SoC ~60 % při slunci — konflikt s `R__063` vrstvou A.
|
||||
- **home-01:** v33 binární pre-neg cushion exportuje FVE před `sell < 0` i při středním sell; při kratším zimním okně `sell < 0` / slabší FVE chybí nabíjení **před** oknem.
|
||||
1. **`R__063_fn_load_planning_slots_full.sql`:** nové sloupce `charge_target_wh`, `pre_window_wh`, `in_window_wh`, `charge_slot_wh`, `charge_cum_wh`, `charge_layer`, `charge_slot_reason`; PV vrstva A u **fixed** řazena **`sell ASC`** + Wh kumulace (spot dál `store_score DESC`).
|
||||
2. **`planning_engine.py`:** odstraněn v58 (`fixed_high_sell_no_pv_charge`, `fixed_grid_charge_unprofitable`); LP respektuje jen `allow_charge` / `allow_grid_charge` ze SQL. Večerní push u fixního tarifu: **`sell > buy + spread`** (`fixed_evening_push_sell_above_buy`); KV1 zachovává v52 morning-peak pravidlo.
|
||||
3. **`solver_params.charge_slot_budget`** — audit rozpočtu na aktivním runu.
|
||||
|
||||
**Záměr:**
|
||||
Tag **`2026-06-06-charge-slot-budget-v1`**.
|
||||
|
||||
1. **`fn_load_planning_slots_full`:** `charge_target_wh`, `pre_window_wh` (deficit − forecast v neg okně), fronta slotů řazená **`sell ASC`** (fixed) / **`buy ASC`** (spot), kumulace `pv_surplus` Wh → `allow_charge`.
|
||||
2. **Python:** zrušit v58 (a související fixed `bc_pv`/`bc_gi` prahy); pre-neg export jen v pre-neg slotech **bez** `allow_charge`.
|
||||
3. **Neg den:** změkčit v44 grid před `sell < 0`, pokud `pre_window_wh` > dostupná FVE v okně.
|
||||
**Ověření:**
|
||||
|
||||
**Specifikace:** [`docs/04-modules/planning-charge-slot-budget.md`](04-modules/planning-charge-slot-budget.md).
|
||||
```bash
|
||||
pytest backend/tests/test_planning_charge_slot_selection.py backend/tests/test_planning_dispatch_milp.py \
|
||||
-k "fixed_high_sell or fixed_tariff_evening or fixed_evening or kv1_evening" -q
|
||||
```
|
||||
|
||||
**Plánovaný tag:** `…-charge-slot-budget-v1` (po implementaci).
|
||||
MCP: `planning_run.solver_params->'charge_slot_budget'`; u BA81 večer `evening_push_ts` neprázdné při `sell > buy`.
|
||||
|
||||
**Zbývá (Branch 4–5 spec):** změkčení v44 grid před neg; plná náhrada v33 cushion přes `pre_window_wh` frontu u home-01.
|
||||
|
||||
---
|
||||
|
||||
## Plánováno — charge-slot-budget home-01 (pre-neg fronta, v44)
|
||||
|
||||
**Stav:** Branch 3 hotový pro fixed; spot pre-neg fronta a v44 změkčení — viz [`planning-charge-slot-budget.md`](04-modules/planning-charge-slot-budget.md) §6.
|
||||
|
||||
---
|
||||
|
||||
|
||||
Reference in New Issue
Block a user