Files
ems/docs/04-modules/energy-flows.md
Dusan Vojacek a65d134682
All checks were successful
deploy / deploy (push) Successful in 1m19s
test / smoke-test (push) Successful in 3s
flwo - denni sankey graf
2026-04-10 22:49:43 +02:00

1.9 KiB
Raw Blame History

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:

  1. Načte minutové řádky ems.telemetry_inverter (pv_power_w, load_power_w, grid_power_w, battery_power_w).
  2. 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í.
  3. Součet výkonů × 1/60 h = Wh za slot; výsledek v sloupcích flow_*_wh v ems.audit_interval.

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
  • GET /api/v1/sites/{site_id}/energy-flows/daily/{day}/intervals

SQL

  • View ems.vw_energy_flows_daily denní agregace z audit_interval.
  • PostgREST role ems_anon: GRANT SELECT na vw_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“).
  • Tři perspektivní karty (FVE / síť / baterie).
  • 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());