Files
ems/db/views/R__056_vw_energy_flows.sql
Dusan Vojacek ed88ef8910
Some checks failed
CI and deploy / migration-check (push) Failing after 11s
CI and deploy / deploy (push) Has been skipped
oprava import/export kwh
2026-05-01 14:58:29 +02:00

36 lines
2.2 KiB
SQL
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
-- =============================================================
-- R__056_vw_energy_flows.sql
-- Denní agregace 6 základních Wh + 7 směrových toků z audit_interval
-- Repeatable migration (závisí na audit_interval + V042 sloupcech)
-- =============================================================
DROP VIEW IF EXISTS ems.vw_energy_flows_daily CASCADE;
CREATE VIEW ems.vw_energy_flows_daily AS
SELECT
site_id,
(date_trunc('day', interval_start AT TIME ZONE 'Europe/Prague'))::date AS day_local,
ROUND(SUM(COALESCE(actual_pv_production_wh, 0)) / 1000, 3) AS pv_production_kwh,
ROUND(SUM(ems.fn_audit_grid_import_wh_for_economics(
actual_grid_import_wh, actual_grid_export_wh, actual_grid_power_w)) / 1000, 3) AS grid_import_kwh,
ROUND(SUM(ems.fn_audit_grid_export_wh_for_economics(
actual_grid_import_wh, actual_grid_export_wh, actual_grid_power_w)) / 1000, 3) AS grid_export_kwh,
ROUND(SUM(COALESCE(actual_batt_charge_wh, 0)) / 1000, 3) AS batt_charge_kwh,
ROUND(SUM(COALESCE(actual_batt_discharge_wh, 0)) / 1000, 3) AS batt_discharge_kwh,
ROUND(SUM(COALESCE(actual_load_consumption_wh, 0)) / 1000, 3) AS load_kwh,
ROUND(SUM(COALESCE(flow_pv_to_load_wh, 0)) / 1000, 3) AS pv_to_load_kwh,
ROUND(SUM(COALESCE(flow_pv_to_batt_wh, 0)) / 1000, 3) AS pv_to_batt_kwh,
ROUND(SUM(COALESCE(flow_pv_to_grid_wh, 0)) / 1000, 3) AS pv_to_grid_kwh,
ROUND(SUM(COALESCE(flow_batt_to_load_wh, 0)) / 1000, 3) AS batt_to_load_kwh,
ROUND(SUM(COALESCE(flow_batt_to_grid_wh, 0)) / 1000, 3) AS batt_to_grid_kwh,
ROUND(SUM(COALESCE(flow_grid_to_load_wh, 0)) / 1000, 3) AS grid_to_load_kwh,
ROUND(SUM(COALESCE(flow_grid_to_batt_wh, 0)) / 1000, 3) AS grid_to_batt_kwh
FROM ems.audit_interval
GROUP BY
site_id,
(date_trunc('day', interval_start AT TIME ZONE 'Europe/Prague'))::date;
COMMENT ON VIEW ems.vw_energy_flows_daily IS
'Denní součty energie a toků (prioritní alokace z fn_fill_audit_interval). PV/baterie/load/flow z Wh sloupců;
grid import/export kWh používají fn_audit_grid_*_wh_for_economics shodně jako audit po doplnění intervalu.';