-- ============================================================= -- V072 – asset_pv_array.telemetry_group + rozšíření telemetry_source -- -- Cíl: -- - umožnit mapování PV pole → měřicí kanál (pv1/pv2/pv_strings/pv_total/gen_port), -- - umožnit sdílené měření pro více polí (telemetry_group) a následnou alokaci (v routines). -- ============================================================= alter table ems.asset_pv_array add column if not exists telemetry_group text; comment on column ems.asset_pv_array.telemetry_source is 'Který sloupec v telemetry_inverter odpovídá tomuto poli. gen_port = gen_port_power_w (AC-coupled pole na GEN portu), pv1 = pv1_power_w (DC string 1 / MPPT1), pv2 = pv2_power_w (DC string 2 / MPPT2), pv_strings = pv1_power_w + pv2_power_w (souhrn DC stringů, pokud nejde rozlišit), pv_total = pv_power_w (souhrnné PV, pokud nejde rozlišit). NULL = pole nemá přímou telemetrii (fallback na forecast).'; comment on column ems.asset_pv_array.telemetry_group is 'Volitelná skupina pro sdílené měření: pokud více pv_array sdílí jeden telemetrický kanál (např. GEN port rozdělený do více orientací), pak mají shodné (site_id, telemetry_source, telemetry_group) a routines alokují actual proporčně podle forecastu.'; -- --- Seed / upgrade stávajících referenčních lokalit --- -- home-01: dvě GEN pole sdílí jeden GEN port → stejné telemetry_group update ems.asset_pv_array set telemetry_source = 'gen_port', telemetry_group = 'gen_port_1' where site_id = (select id from ems.site where code = 'home-01') and code in ('pv-b', 'pv-b-flat'); -- BA81: stringy mapujeme na PV1/PV2, mikroinvertory sdílí GEN port (alokace podle forecastu). update ems.asset_pv_array set telemetry_source = 'pv1', telemetry_group = null where site_id = (select id from ems.site where code = 'BA81') and code = 'pv-str-1'; update ems.asset_pv_array set telemetry_source = 'pv2', telemetry_group = null where site_id = (select id from ems.site where code = 'BA81') and code = 'pv-str-2'; update ems.asset_pv_array set telemetry_source = 'gen_port', telemetry_group = 'gen_port_1' where site_id = (select id from ems.site where code = 'BA81') and code in ('pv-mi-1', 'pv-mi-2');