solver nastavuje stavy deye
This commit is contained in:
10
db/migration/V053__planning_interval_deye_physical_mode.sql
Normal file
10
db/migration/V053__planning_interval_deye_physical_mode.sql
Normal file
@@ -0,0 +1,10 @@
|
||||
-- Explicitní fyzický režim Deye přímo v plánu (Variant A):
|
||||
-- PASSIVE / SELL / CHARGE. Exporter pak nemusí heuristicky mapovat z wattů.
|
||||
|
||||
ALTER TABLE ems.planning_interval
|
||||
ADD COLUMN IF NOT EXISTS deye_physical_mode TEXT;
|
||||
|
||||
COMMENT ON COLUMN ems.planning_interval.deye_physical_mode IS
|
||||
'Explicitní fyzický režim Deye pro tento slot (PASSIVE / SELL / CHARGE).
|
||||
Zdroj: planning_engine.solve_dispatch() (záměr slotu), použití: control exporter (get_deye_mode).';
|
||||
|
||||
@@ -50,6 +50,7 @@ begin
|
||||
run_id, interval_start,
|
||||
battery_setpoint_w, battery_soc_target_pct,
|
||||
grid_setpoint_w,
|
||||
deye_physical_mode,
|
||||
ev1_setpoint_w, ev2_setpoint_w, ev1_via_bat_w, ev2_via_bat_w,
|
||||
heat_pump_enabled, heat_pump_setpoint_w,
|
||||
pv_a_curtailed_w, expected_cost_czk,
|
||||
@@ -64,6 +65,7 @@ begin
|
||||
(r.value->>'battery_setpoint_w')::int,
|
||||
(r.value->>'battery_soc_target_pct')::numeric,
|
||||
(r.value->>'grid_setpoint_w')::int,
|
||||
nullif(trim(r.value->>'deye_physical_mode'), ''),
|
||||
nullif(r.value->>'ev1_setpoint_w', '')::int,
|
||||
nullif(r.value->>'ev2_setpoint_w', '')::int,
|
||||
coalesce((r.value->>'ev1_via_bat_w')::int, 0),
|
||||
@@ -86,6 +88,7 @@ begin
|
||||
run_id, interval_start,
|
||||
battery_setpoint_w, battery_soc_target_pct,
|
||||
grid_setpoint_w,
|
||||
deye_physical_mode,
|
||||
ev1_setpoint_w, ev2_setpoint_w, ev1_via_bat_w, ev2_via_bat_w,
|
||||
heat_pump_enabled, heat_pump_setpoint_w,
|
||||
pv_a_curtailed_w, expected_cost_czk,
|
||||
@@ -97,6 +100,7 @@ begin
|
||||
(r.value->>'battery_setpoint_w')::int,
|
||||
(r.value->>'battery_soc_target_pct')::numeric,
|
||||
(r.value->>'grid_setpoint_w')::int,
|
||||
nullif(trim(r.value->>'deye_physical_mode'), ''),
|
||||
nullif(r.value->>'ev1_setpoint_w', '')::int,
|
||||
nullif(r.value->>'ev2_setpoint_w', '')::int,
|
||||
coalesce((r.value->>'ev1_via_bat_w')::int, 0),
|
||||
|
||||
Reference in New Issue
Block a user