uprava PV omeznovani
Some checks failed
CI and deploy / migration-check (push) Failing after 13s
CI and deploy / deploy (push) Has been skipped

This commit is contained in:
Dusan Vojacek
2026-05-25 11:08:01 +02:00
parent f1a4dbd7e7
commit e06f76b9ff
8 changed files with 439 additions and 91 deletions

View File

@@ -5,6 +5,24 @@ Formát: **datum (ISO)** · stručný důvod · soubory · chování / ověřen
---
## 2026-05-28 — reg 340 jen když plán curtailuje / exportuje / nabíjí
**Změna:** `plan_skips_deye_reg340_write` v `setpoints.py` — bez FC 0x10 na reg **340**, pokud slot nemá export, nabíjení baterie ani `pv_a_curtailed_w` (Deye řídí PV A přes 108/109/142).
**Ověření:** `pytest backend/tests/test_control_exporter_reg340.py`.
---
## 2026-05-28 — dvoufázová SoC před buy<0, PV A curtail jen v buy<0 (v25)
**Požadavek:** (1) **PV A omezení** jen při `buy<0` — raději import se ziskem než „zdarma“ ze střechy. (2) **Před `buy<0`** dostatečně **nízké SoC** (vejde import v okně + PV B + rezerva na odpolední `sell<0`). (3) **Nejpozději při posledním `sell≥0` před `buy<0`** baterie **~100 %** (bez exportu — PV do bat). (4) Ranní `sell<0` před `buy<0`: PV smí do baterie (ne tvrdé `bc_pv=0`).
**Oprava (tag `2026-05-28-pre-neg-buy-soc-phases-v25`):** `_pre_neg_buy_soc_ceiling_wh`, kotvy `soc` na `last_pos_sell` (max) a `first_neg_buy-1` (strop), `pre_neg_buy_empty_ts` výboj, `pos_sell_pre_neg_buy_ts` `ge=0`, `bc_pv=0` jen při `buy<0`, `NEG_SELL_CURTAIL` jen `buy<0`, ranní PV charge shortfall.
**Ověření:** `pytest backend/tests/test_planning_dispatch_milp.py -k PreNegBuySocPhase`.
---
## 2026-05-28 — dynamický večerní push (v24)
**Problém:** Tvrdý večerní push používal pevné **`max_slots_per_day = 3`** a aktivaci jen při **`len(evening_push_ts) ≥ 2`** — nesouvisí s `discharge_slot_buffer`, SoC ani počtem večerních peak slotů (changelog v17 mluvil o top-6/≥7, v kódu bylo 3/2).