x
Some checks failed
CI and deploy / migration-check (push) Failing after 11s
CI and deploy / deploy (push) Has been skipped

This commit is contained in:
Dusan Vojacek
2026-05-25 02:41:36 +02:00
parent a1270dcda3
commit 0a0668000b
4 changed files with 36 additions and 30 deletions

View File

@@ -5,19 +5,17 @@ Formát: **datum (ISO)** · stručný důvod · soubory · chování / ověřen
---
## 2026-05-28 — ranní sell<0: držet SoC před buy<0 (v21)
## 2026-05-28 — ranní sell<0: držet SoC před buy<0 (v21 / v21b)
**Problém (MCP run 16692, tag v20):** Od ~05:30 nabíjení z PV; v 09:15 už **98,3 %** SoC; od 09:15 masivní **export při sell<0** (7 kW). V **11:0012:45** `buy<0`, ale baterie plná → **žádný import**. Opak požadovaného chování (ráno prodat FVE při kladném sell, nabíjet až v `buy<0`).
**Problém (MCP run 16692, tag v20):** Od ~05:30 nabíjení z PV; v 09:15 už **98,3 %** SoC; od 09:15 masivní **export při sell<0** (7 kW). V **11:0012:45** `buy<0`, ale baterie plná → **žádný import**.
**Příčina v20:** Po revertu v19 zůstaly **`neg_sell_soc_underfill`** a **`pv_charge_shortfall`** pro všechny ranní `sell<0` charge sloty (06:4510:45) **před** prvním `buy<0` (11:00). LP tlačil PV→bat na soc_max ještě před levným importem.
**v21:** `neg_sell_soc_underfill` / `pv_charge_shortfall` jen od `first_neg_buy_idx`; **`bc_pv=0`** před buy<0 v sell<0.
**Oprava (tag `2026-05-28-morning-hold-soc-v21`):**
- `neg_sell_soc_underfill` a `pv_charge_shortfall` (sell<0) jen pro sloty **`t ≥ first_neg_buy_idx`**
- Tvrdé **`bc_pv[t]=0`** pro `sell<0` + PV surplus **před** `first_neg_buy_idx` (bez rozšíření `discharge_export_slots` — neopakuje v19b Infeasible)
**v21b — Infeasible:** `bc_pv=0` + ventil **`w_pv_b_vent`** (export jen při plné baterii) → přebytek **pole B** (`pv_b` > load) nemá kam (bilance). **Oprava:** před `first_neg_buy_idx` povolit **`ge_pv ≤ pv_b`** bez ventilu; safety `soc_max` u sell<0 charge jen od `first_neg_buy_idx`.
**Bez:** pre-neg discharge setů, per-slot `neg_buy_soc` shortfall, retry vrstev v19.
**Tag:** `2026-05-28-morning-hold-soc-v21b`
**Ověření:** `scripts/diagnose_home01_infeasible.py` (realistic masks OK); po deploy replan home-01 → tag v `solver_params`; MCP: ráno nižší SoC, import v 11:0012:45.
**Ověření:** `scripts/diagnose_home01_infeasible.py`; replan home-01 → tag v `solver_params`.
---