63 lines
1.4 KiB
SQL
63 lines
1.4 KiB
SQL
create or replace function ems.fn_telemetry_inverter_sample(
|
|
p_site_id int,
|
|
p_inverter_id int,
|
|
p_measured_at timestamptz,
|
|
p_pv_power_w int,
|
|
p_pv1_power_w int,
|
|
p_pv2_power_w int,
|
|
p_gen_port_power_w int,
|
|
p_battery_soc_percent double precision,
|
|
p_battery_power_w int,
|
|
p_batt_charge_today_wh int,
|
|
p_batt_discharge_today_wh int,
|
|
p_grid_power_w int,
|
|
p_load_power_w int,
|
|
p_grid_import_total_wh bigint,
|
|
p_grid_export_total_wh bigint,
|
|
p_run_state int
|
|
)
|
|
returns void
|
|
language sql
|
|
as $fn$
|
|
insert into ems.telemetry_inverter (
|
|
site_id,
|
|
inverter_id,
|
|
measured_at,
|
|
pv_power_w,
|
|
pv1_power_w,
|
|
pv2_power_w,
|
|
gen_port_power_w,
|
|
battery_soc_percent,
|
|
battery_power_w,
|
|
batt_charge_today_wh,
|
|
batt_discharge_today_wh,
|
|
grid_power_w,
|
|
load_power_w,
|
|
grid_import_total_wh,
|
|
grid_export_total_wh,
|
|
run_state
|
|
)
|
|
values (
|
|
p_site_id,
|
|
p_inverter_id,
|
|
p_measured_at,
|
|
p_pv_power_w,
|
|
p_pv1_power_w,
|
|
p_pv2_power_w,
|
|
p_gen_port_power_w,
|
|
p_battery_soc_percent,
|
|
p_battery_power_w,
|
|
p_batt_charge_today_wh,
|
|
p_batt_discharge_today_wh,
|
|
p_grid_power_w,
|
|
p_load_power_w,
|
|
p_grid_import_total_wh,
|
|
p_grid_export_total_wh,
|
|
p_run_state
|
|
)
|
|
on conflict (inverter_id, measured_at) do nothing;
|
|
$fn$;
|
|
|
|
comment on function ems.fn_telemetry_inverter_sample is
|
|
'Insert jednoho vzorku telemetrie střídače (telemetry_collector).';
|