oprava zbytecneho curtailu A
This commit is contained in:
@@ -5,6 +5,36 @@ Formát: **datum (ISO)** · stručný důvod · soubory · chování / ověřen
|
||||
|
||||
---
|
||||
|
||||
## 2026-05-31 — BA81 úsvit: žádný plný curtail A / zápis reg 340 (v51)
|
||||
|
||||
**Problém:** Při malém ranním PV (např. **405 W** A, **49 W** B) LP kvůli `fixed_pv_b_export_cap` (`ge_pv ≤ pv_b`) **usekl celé pole A** (`curt_a = pv_a`) a exporter posílal **reg 340** z nepřesného forecastu — zbytečný HW zápis, baterie prázdná.
|
||||
|
||||
**Změna (v51):**
|
||||
- `fixed_pv_b_export_cap` jen když **`pv_a_forecast ≥ 1500 W`** (`DAWN_LOW_PV_NO_CURTAIL_W`).
|
||||
- **`fixed_mi_low_pv_surplus_export`:** úsvit + MI + přebytek → neblokovat `ge_pv` přes pv_store.
|
||||
- **`setpoints.py`:** při `forecast < 1500 W` a `curt_a = 0` → **`pv_a_allowed_w = None`** (bez reg 340).
|
||||
|
||||
Tag **`2026-05-31-ba81-dawn-no-micro-curtail-v51`**.
|
||||
|
||||
**Ověření:** `pytest … -k ba81_dawn_low_pv`; MCP BA81 05:15: `curt_a ≪ pv_a`.
|
||||
|
||||
---
|
||||
|
||||
## 2026-05-31 — KV1/BA81: při PV přebytku FVE→síť, ne bat→síť (v50)
|
||||
|
||||
**Problém:** **KV1** (`block_export`, fixní buy) odpoledne s FVE (~4 kW, sell>0) plán **BATTERY_SELL** místo **PV_SURPLUS** (home-01 OK). Příčiny: `skip_pv_store_block` jen před 1. `sell<0`; večerní **push** bez `defer_to_pv`; **z_export/ge_bat** u profitable peak.
|
||||
|
||||
**Změna (v50):**
|
||||
- **`fixed_block_pv_surplus_export`:** KV1 + `sell≥0` + PV přebytek → neblokovat `ge_pv` (pv_store).
|
||||
- **`battery_export_defer_pv_ts`:** `ge_bat=0`, `z_export=0` (výjimky: morning pre-neg / pre-neg buy větve).
|
||||
- **`evening_push_ts`:** přeskočit push, když platí defer.
|
||||
|
||||
Tag **`2026-05-31-kv1-pv-surplus-over-bat-export-v50`**.
|
||||
|
||||
**Ověření:** `pytest … -k kv1_evening_battery_push`; MCP KV1 17:00–18:00: `export_mode=PV_SURPLUS`, `curt_a` malé.
|
||||
|
||||
---
|
||||
|
||||
## 2026-05-31 — Večerní push: celý Wh rozpočet jen pro dnešní noc (v49)
|
||||
|
||||
**Problém (v43):** `push_budget / počet_kalendářních_večerů` dělil **aktuální SoC** mezi dnešní a **zítřejší** večer v horizontu — přes den FVE / neg nabíjení. Dnes večer dostal ~polovinu rozpočtu → chyběly sloty (např. 23:15); zítra večer push z dnešní SoC nedává smysl.
|
||||
|
||||
Reference in New Issue
Block a user