Use observed SoC for neg-prep cushion and evening drain (v40).
Pre-neg forecast cushion and evening push before negative-sell days now use telemetry SoC instead of chaining LP targets across days, so the planner does not stop discharging early when BMS is higher than the model. Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
@@ -162,6 +162,20 @@ večer 26.5 → vybít bat před neg 27.5 (headroom)
|
||||
|
||||
**Ověření:** `NegSellPrepWindowV36Tests`, `solver_params.inputs.pre_neg_cushion_by_day`, `neg_evening_before_neg_slots`.
|
||||
|
||||
### 4.6 v40 — pozorované SoC pro neg-prep (Plan 5) ✅
|
||||
|
||||
**Tag:** `2026-05-29-neg-prep-observed-soc-v40`
|
||||
|
||||
| Problém v36 | Oprava v40 |
|
||||
|-------------|------------|
|
||||
| Cushion / večerní výboj z **modelového** SoC (řetězení cílů mezi dny) | **`observed_soc_wh`** z telemetrie; žádné `soc_est := soc_target[first_neg]` |
|
||||
| BMS výš → plán „už mám headroom“ nevidí | Cushion OK pokud `observed_soc ≥ soc_target[first_neg]` |
|
||||
| Večerní výboj pod exportuje | Rozpočet `max(0, observed − reserve − night_baseload_buffer)` → `neg_evening_push_slots` |
|
||||
|
||||
**Kód:** `_pre_neg_pv_export_bundle`, `_neg_evening_discharge_budget_wh`, `_neg_evening_before_neg_push_indices` v `planning_engine.py`.
|
||||
|
||||
**Ověření:** `ObservedSocNegPrepTests`; MCP `solver_params.inputs.observed_soc_wh`, `neg_evening_export_budget_wh`, `neg_evening_push_slots`.
|
||||
|
||||
---
|
||||
|
||||
## 5. Specifikace rampy (v35 — reference)
|
||||
|
||||
Reference in New Issue
Block a user