protazeni exportniho okna az do rana pred vyrobu FVE (prichazeli sme o prilezitosti mezi pulnoci a ranem)
This commit is contained in:
@@ -64,9 +64,9 @@ Solver optimalizuje celý horizont (typicky do konce známých OTE dat, strop z
|
||||
- pohled dopředu (ráno ví že přes poledne bude záporná cena → prodává z baterie)
|
||||
- kompromisy mezi prodejem, nabíjením, TČ a EV v globálním optimu
|
||||
|
||||
### Večerní export z baterie (v24–v27) — co plánovač dělá a co ne
|
||||
### Večerní / noční export z baterie (v24–v30) — co plánovač dělá a co ne
|
||||
|
||||
Cíl zůstává **maximální ekonomický užitek v celém horizontu**: prodat (a nabít) v časech, kdy to dává smysl podle cen a kapacity baterie. Večerní logika **neřeší ráno před FVE** a **nevnucuje jediný slot**.
|
||||
Cíl zůstává **maximální ekonomický užitek v celém horizontu**: prodat (a nabít) v časech, kdy to dává smysl podle cen a kapacity baterie. **v30:** noční okno **přes půlnoc** (17:00 → 0–5:00 Prague), konec při **východu FVE** (`pv_a+pv_b > load + 500 W`); **tvrdý push baterie** jen v tmavých slotech, ne po východu slunce.
|
||||
|
||||
#### Co se řeší jinde (není „večerní v26“)
|
||||
|
||||
@@ -74,14 +74,15 @@ Cíl zůstává **maximální ekonomický užitek v celém horizontu**: prodat (
|
||||
|---------------|------------------|---------|
|
||||
| Ráno **5–11** před prvním `sell < 0` | R__063 ranní pásmo + LP `morning_pre_neg_export_ts` | Export před záporným výkupním oknem, ne „před FVE“ jako takové |
|
||||
| Odpoledne / noc, obecně profitable | `allow_discharge_export` z rozpočtu Wh + LP `peak_export_shortfall` | Kdekoliv v horizontu, pokud marže sedí |
|
||||
| **≥ 17:00** večer | v24 Wh push + **v26** doplnění níže | Špička OTE večer |
|
||||
| **≥ 17:00** večer + **0–5:00** (v30) | v24 Wh push + v26/v28 + **noční peak přes půlnoc** | OTE špička i kolem půlnoci |
|
||||
| Po východu FVE | konec nočního okna | push / peak jen `pv` pod prahem |
|
||||
|
||||
#### Tři vrstvy večerního chování (od 17:00 Prague)
|
||||
#### Tři vrstvy nočního chování (v30: 17:00 → půlnoc → do východu FVE)
|
||||
|
||||
```mermaid
|
||||
flowchart TD
|
||||
A[LP: globální optimum v horizontu] --> B{slot >= 17h a profitable export?}
|
||||
B -->|sell pod dennim vecer. max - 0.05| C[ge_bat = 0: baterie ne pred spickou]
|
||||
B -->|sell pod nocnim max - 0.05| C[ge_bat = 0: baterie ne pred spickou]
|
||||
B -->|sell v top pasme max - 0.05| D[evening_push kandidat]
|
||||
D --> E[Seradit sell desc, pridat sloty az do Wh rozpoctu]
|
||||
E --> F[ge_bat >= plny vykon na cap v kazdem push slotu]
|
||||
@@ -92,8 +93,8 @@ flowchart TD
|
||||
1. **SQL masky (R__063, vrstva 2)** — které večerní sloty *smí* export z baterie vůbec (`allow_discharge_export`): mimo jiné sloty v pásmu „denní večerní max − degrad“ (SQL), plus globální Wh rozpočet (vrstva 1).
|
||||
|
||||
2. **v27 — zákaz předčasného večerního vývozu** (`evening_early_export_penalty_ts` → tvrdé `ge_bat[t] = 0`):
|
||||
- jen **hodiny ≥ 17** a **časově před** prvním slotem v `evening_push_ts` (ne po něm — v26 blokovalo i 19–21 h);
|
||||
- jen pokud `sell < max_večer − 0,05` Kč/kWh;
|
||||
- jen v **nočním okně** (`_in_night_battery_export_window`) a **časově před** prvním slotem v `evening_push_ts`;
|
||||
- jen pokud `sell < max_sell_v_nočním_úseku − 0,05` (v30: max přes půlnoc, ne per kalendářní den);
|
||||
- **nezakazuje** přebytek FVE do sítě (`ge_pv`).
|
||||
|
||||
3. **v24 + v27 — plný výkon v top večerních slotech** (`evening_push_ts`):
|
||||
|
||||
@@ -5,6 +5,14 @@ Formát: **datum (ISO)** · stručný důvod · soubory · chování / ověřen
|
||||
|
||||
---
|
||||
|
||||
## 2026-05-28 — Noční export přes půlnoc, konec při východu FVE (v30)
|
||||
|
||||
**Problém (home-01 run 17388):** Večerní peak **per kalendářní den** → export v **23:30** (3,29 Kč), slot **00:00** (3,59 Kč) bez `BATTERY_SELL` (nový den, hour < 17).
|
||||
|
||||
**Změna (tag `2026-05-28-night-export-window-midnight-v30`):** `_night_export_window_segments` — okno **≥17h** + **0–5h** Prague, konec při `pv_a+pv_b > load + 500 W`. `_evening_peak_export_indices` / push / `evening_early` používají **jeden max sell v nočním úseku** (přes půlnoc). Po východu FVE žádný tvrdý push baterie.
|
||||
|
||||
**Ověření:** `pytest … -k night_window_includes_midnight or midnight_higher_sell` · `planner_build_tag` **v30**.
|
||||
|
||||
## 2026-05-28 — FVE při kladném sell: solver místo pv_store curtail (v29)
|
||||
|
||||
**Problém (home-01 odpoledne):** `ge_pv = 0` když `sell < max(future_sell)` (např. 3 Kč vs. večerních 6 Kč) při plné baterii → **curtail** celého pole A. Záměr „držet na večerní peak“ měl platit pro **baterii** (`ge_bat`), ne blokovat export FVE.
|
||||
|
||||
Reference in New Issue
Block a user