oprava import/export kwh
This commit is contained in:
@@ -11,8 +11,10 @@ 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(COALESCE(actual_grid_import_wh, 0)) / 1000, 3) AS grid_import_kwh,
|
||||
ROUND(SUM(COALESCE(actual_grid_export_wh, 0)) / 1000, 3) AS grid_export_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,
|
||||
@@ -29,4 +31,5 @@ GROUP BY
|
||||
(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 modelovaných toků (prioritní alokace z fn_fill_audit_interval). kWh z Wh sloupců.';
|
||||
'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.';
|
||||
|
||||
@@ -15,25 +15,43 @@ CREATE VIEW ems.vw_economics_interval AS
|
||||
SELECT
|
||||
ai.site_id,
|
||||
ai.interval_start,
|
||||
-- Wh-based kWh (per-direction, zachytí bidirectional flow)
|
||||
ROUND(COALESCE(ai.actual_grid_import_wh, GREATEST(ai.actual_grid_power_w, 0)::NUMERIC / 4) / 1000, 4)
|
||||
-- Wh-based kWh (per-direction; u čistého importu/exportu max čítač vs. odhad z P_grid)
|
||||
ROUND(
|
||||
ems.fn_audit_grid_import_wh_for_economics(
|
||||
ai.actual_grid_import_wh, ai.actual_grid_export_wh, ai.actual_grid_power_w
|
||||
) / 1000,
|
||||
4
|
||||
)
|
||||
AS import_kwh,
|
||||
ROUND(COALESCE(ai.actual_grid_export_wh, ABS(LEAST(ai.actual_grid_power_w, 0))::NUMERIC / 4) / 1000, 4)
|
||||
ROUND(
|
||||
ems.fn_audit_grid_export_wh_for_economics(
|
||||
ai.actual_grid_import_wh, ai.actual_grid_export_wh, ai.actual_grid_power_w
|
||||
) / 1000,
|
||||
4
|
||||
)
|
||||
AS export_kwh,
|
||||
-- Směrové cashflow: kolik Kč za import ze sítě / kolik Kč za export do sítě
|
||||
ROUND(
|
||||
COALESCE(ai.actual_grid_import_wh, GREATEST(ai.actual_grid_power_w, 0)::NUMERIC / 4)
|
||||
ems.fn_audit_grid_import_wh_for_economics(
|
||||
ai.actual_grid_import_wh, ai.actual_grid_export_wh, ai.actual_grid_power_w
|
||||
)
|
||||
/ 1000.0 * COALESCE(ep.effective_buy_price_czk_kwh, 0), 4
|
||||
) AS grid_import_cashflow_czk,
|
||||
ROUND(
|
||||
COALESCE(ai.actual_grid_export_wh, ABS(LEAST(ai.actual_grid_power_w, 0))::NUMERIC / 4)
|
||||
ems.fn_audit_grid_export_wh_for_economics(
|
||||
ai.actual_grid_import_wh, ai.actual_grid_export_wh, ai.actual_grid_power_w
|
||||
)
|
||||
/ 1000.0 * COALESCE(ep.effective_sell_price_czk_kwh, 0), 4
|
||||
) AS grid_export_revenue_czk,
|
||||
-- Net cost (zpětná kompatibilita): import_cashflow - export_revenue
|
||||
ROUND(
|
||||
COALESCE(ai.actual_grid_import_wh, GREATEST(ai.actual_grid_power_w, 0)::NUMERIC / 4)
|
||||
ems.fn_audit_grid_import_wh_for_economics(
|
||||
ai.actual_grid_import_wh, ai.actual_grid_export_wh, ai.actual_grid_power_w
|
||||
)
|
||||
/ 1000.0 * COALESCE(ep.effective_buy_price_czk_kwh, 0)
|
||||
- COALESCE(ai.actual_grid_export_wh, ABS(LEAST(ai.actual_grid_power_w, 0))::NUMERIC / 4)
|
||||
- ems.fn_audit_grid_export_wh_for_economics(
|
||||
ai.actual_grid_import_wh, ai.actual_grid_export_wh, ai.actual_grid_power_w
|
||||
)
|
||||
/ 1000.0 * COALESCE(ep.effective_sell_price_czk_kwh, 0), 4
|
||||
) AS dynamic_cost_czk,
|
||||
ai.actual_cost_czk AS stored_cost_czk,
|
||||
@@ -65,9 +83,8 @@ LEFT JOIN ems.planning_interval pi
|
||||
|
||||
COMMENT ON VIEW ems.vw_economics_interval IS
|
||||
'Dynamické ekonomické vyhodnocení per 15min slot.
|
||||
import/export kWh primárně z per-direction Wh sloupců audit_interval (Deye counter / per-minute split),
|
||||
fallback na průměrný výkon pro zpětnou kompatibilitu se starými daty.
|
||||
grid_import_cashflow_czk / grid_export_revenue_czk = směrové cashflow podle skutečného toku energie.';
|
||||
import/export kWh díky fn_audit_grid_*_wh_for_economics: primárně Wh z auditu (čítač Deye), u jednosměrného toku max s odhadem z průměrného grid_power_w (¼ h).
|
||||
grid_import_cashflow_czk / grid_export_revenue_czk = směrové cashflow podle stejného Wh odhadu × efektivní cena.';
|
||||
|
||||
CREATE VIEW ems.vw_economics_daily AS
|
||||
SELECT
|
||||
|
||||
Reference in New Issue
Block a user