dalsi oprava
This commit is contained in:
@@ -83,6 +83,31 @@ where pr.site_id=4 and pr.status='active'
|
||||
|
||||
---
|
||||
|
||||
## 2026-05-24 (c) — BA81: fixní tarif bez grid nabíjení
|
||||
|
||||
**Problém:** Po deployi run **15810** — `max_chg ≈ 3275 W`, **`allow_grid_charge = 0`** na všech slotech. Noc 00–04 jen import pro dům (~100 W), žádné NT nabíjení ze sítě. HW limit BA81 je **6250 W** (`bms_max_charge_w`), ne 18 kW.
|
||||
|
||||
**Příčina:** V `R__063` vrstva **B (grid)** běžela jen pro `purchase_pricing_mode <> 'fixed'`. BA81 má **`fixed`** → masky povolily jen **PV vrstvu A** (Wh rozpočet rozdělený přes denní FVE sloty → postupné ~3 kW).
|
||||
|
||||
**Oprava:** Pro `fixed` + existuje arbitráž (`sell > buy + degrad`) → stejná AM/PM logika grid slotů jako u spotu, řazení podle času slotu (`slot_ord`), před `export_window_start`.
|
||||
|
||||
**Ověření po `flyway migrate` + replan:**
|
||||
|
||||
```sql
|
||||
select count(*) filter (where (m->>'allow_grid_charge')::boolean) as grid_slots
|
||||
from ems.planning_run pr, jsonb_array_elements(pr.solver_params->'masks') m
|
||||
where pr.site_id = (select id from ems.site where code='BA81') and pr.status='active';
|
||||
-- očekáváno > 0
|
||||
|
||||
select max(pi.battery_setpoint_w), max(pi.grid_setpoint_w) filter (where pi.grid_setpoint_w > 1000)
|
||||
from ems.planning_interval pi
|
||||
join ems.planning_run pr on pr.id = pi.run_id
|
||||
where pr.site_id = (select id from ems.site where code='BA81') and pr.status='active';
|
||||
-- battery/grid nabíjení řádově k 6250 W v NT slotech
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Šablona pro další záznamy
|
||||
|
||||
```markdown
|
||||
|
||||
Reference in New Issue
Block a user