3.4 KiB
Analýza energetických toků (Fáze 2)
Účel
Stránka Toky (/energy-flows) zobrazuje modelované směrové toky energie mezi FVE, sítí, baterií a spotřebou za den / měsíc. Nejedná se o přímé měření větví u střídače, ale o prioritní alokaci z minutové telemetrie.
Výpočet
Funkce ems.fn_fill_audit_interval pro každý 15min slot:
- Načte minutové řádky
ems.telemetry_inverter(pv_power_w,load_power_w,grid_power_w,battery_power_w). - Pro každou minutu aplikuje alokaci (pořadí): PV → spotřeba → nabíjení baterie → export; pak vybití baterie → spotřeba / export; síť → zbytek spotřeby a nabíjení.
- Součet výkonů × 1/60 h = Wh za slot; výsledek v sloupcích
flow_*_whvems.audit_interval.
Import / export ze sítě (actual_grid_import_wh / actual_grid_export_wh): nejprve se bere delta z Deye registrů grid_import_total_wh / grid_export_total_wh (pokud je k dispozici), jinak součet kladných resp. záporných dílů z grid_power_w po minutách. Okamžitě poté fn_fill_audit_interval sjednotí hodnoty funkcemi ems.fn_audit_grid_import_wh_for_economics / fn_audit_grid_export_wh_for_economics: při jednosměrném toku v slotu (typicky jen import nebo jen export podle uložených Wh) vezme maximum z čítače a z odhadu max(0, P_grid) × ¼ h resp. |min(0, P_grid)| × ¼ h z průměrného grid_power_w — u některých instalací lifetime čítač Deye rostl pomaleji než integrál z výkonu, takže bez této úpravy ekonomika a záložka Ekonomika podhodnocovaly kWh. Při obousměrném toku ve stejném 15min slotu (obě strany > 0 Wh) se uložený split z čítače/per-minute nemění.
Sloupce: flow_pv_to_load_wh, flow_pv_to_batt_wh, flow_pv_to_grid_wh, flow_batt_to_load_wh, flow_batt_to_grid_wh, flow_grid_to_load_wh, flow_grid_to_batt_wh.
Základní 6 Wh veličin (import/export, PV, baterie, load) zůstává ve Fázi 1; toky jsou nadstavba.
API
GET /api/v1/sites/{site_id}/energy-flows/daily?month=YYYY-MM— kromě toků vrací denní součty financí sítě:grid_import_cashflow_czk,grid_export_revenue_czk(jakovw_economics_interval, join navw_site_effective_price) a nákladový rozpad importugrid_to_load_cost_czk/grid_to_batt_cost_czk(efektivní nákupní cena × modelovaný tok).GET /api/v1/sites/{site_id}/energy-flows/daily/{day}/intervals
SQL
- View
ems.vw_energy_flows_daily– denní agregace zaudit_interval. - PostgREST role
ems_anon:GRANT SELECTnavw_energy_flows_daily(viz repeatable grants).
UI
- Sankey (
@nivo/sankey) – součet toků za celý měsíc nebo za jeden vybraný den (rozbalovací pole „Graf a karty“; klik na název dne v tabulce také přepne den). Síť je ve vizualizaci rozdělena na Import ze sítě a Export do sítě (jinak by vznikl cyklus síť↔baterie a knihovna hlásí „circular link“). - Pět perspektivních karet: FVE, síť, baterie, spotřeba a financí (nákup/prodej v Kč, průměrná cena Kč/kWh, rozpad nákladů importu do spotřeby vs. baterie; stejný měsíční/denní rozsah jako Sankey).
- Tabulka dnů s rozbalením na 15min intervaly.
Backfill
Po nasazení migrace V042 a opakovatelné rutiny:
SELECT ems.fn_fill_audit_range(<site_id>, '<od>'::timestamptz, now());