second version
This commit is contained in:
78
db/migration/V014__asset_model_refinement.sql
Normal file
78
db/migration/V014__asset_model_refinement.sql
Normal file
@@ -0,0 +1,78 @@
|
||||
-- =============================================================
|
||||
-- V014__asset_model_refinement.sql
|
||||
-- Rozlišení limitů: AC střídač / DC FVE / baterie přes měnič / BMS+C-rate
|
||||
-- =============================================================
|
||||
|
||||
-- Střídač: nové sloupce (staré max_charge_power_w / max_discharge_power_w ponechány kvůli kompatibilitě)
|
||||
ALTER TABLE ems.asset_inverter
|
||||
ADD COLUMN IF NOT EXISTS max_ac_output_w INT,
|
||||
ADD COLUMN IF NOT EXISTS max_dc_input_w INT,
|
||||
ADD COLUMN IF NOT EXISTS max_battery_charge_w INT,
|
||||
ADD COLUMN IF NOT EXISTS max_battery_discharge_w INT,
|
||||
ADD COLUMN IF NOT EXISTS gen_port_max_power_w INT;
|
||||
|
||||
COMMENT ON COLUMN ems.asset_inverter.max_ac_output_w IS
|
||||
'Maximální AC výkon střídače v W. Deye SUN-20K = 22000 W.';
|
||||
COMMENT ON COLUMN ems.asset_inverter.max_dc_input_w IS
|
||||
'Maximální DC vstupní výkon z FVE v W. Deye SUN-20K = 40000 W.';
|
||||
COMMENT ON COLUMN ems.asset_inverter.max_battery_charge_w IS
|
||||
'Maximální výkon nabíjení baterie v W – limit střídače (ne BMS).
|
||||
Deye SUN-20K s LV baterií = 18000 W (350A × 51.2V).';
|
||||
COMMENT ON COLUMN ems.asset_inverter.max_battery_discharge_w IS
|
||||
'Maximální výkon vybíjení baterie v W – limit střídače.
|
||||
Deye SUN-20K s LV baterií = 18000 W.';
|
||||
COMMENT ON COLUMN ems.asset_inverter.gen_port_max_power_w IS
|
||||
'Maximální výkon GEN portu v W. Zahrnuje součet všech zařízení
|
||||
zapojených do GEN portu (mikroinvertory, ongrid střídač).
|
||||
Pro home-01 = 10080 W (pv-b pole).
|
||||
Pro druhou instalaci = 4400 W (2× 2.2 kW mikroinvertory).';
|
||||
|
||||
-- Baterie: C-rate a BMS
|
||||
ALTER TABLE ems.asset_battery
|
||||
ADD COLUMN IF NOT EXISTS max_charge_c_rate NUMERIC(4,2),
|
||||
ADD COLUMN IF NOT EXISTS max_discharge_c_rate NUMERIC(4,2),
|
||||
ADD COLUMN IF NOT EXISTS bms_max_charge_w INT,
|
||||
ADD COLUMN IF NOT EXISTS bms_max_discharge_w INT;
|
||||
|
||||
COMMENT ON COLUMN ems.asset_battery.max_charge_c_rate IS
|
||||
'Maximální nabíjecí C-rate. 0.5C pro 64 kWh = 32 kW teoretické maximum.
|
||||
Skutečný limit je min(bms_max_charge_w, inverter.max_battery_charge_w).';
|
||||
COMMENT ON COLUMN ems.asset_battery.max_discharge_c_rate IS
|
||||
'Maximální vybíjecí C-rate (symetricky k nabíjení).';
|
||||
COMMENT ON COLUMN ems.asset_battery.bms_max_charge_w IS
|
||||
'Maximální nabíjecí výkon dle BMS v W. Pokud NULL, použij C-rate výpočet.';
|
||||
COMMENT ON COLUMN ems.asset_battery.bms_max_discharge_w IS
|
||||
'Maximální vybíjecí výkon dle BMS v W. Pokud NULL, použij C-rate výpočet.';
|
||||
|
||||
-- Z existujících sloupců přejmenujeme sémantiku do nových (kde ještě nejsou vyplněné)
|
||||
UPDATE ems.asset_inverter
|
||||
SET
|
||||
max_battery_charge_w = COALESCE(max_battery_charge_w, max_charge_power_w),
|
||||
max_battery_discharge_w = COALESCE(max_battery_discharge_w, max_discharge_power_w)
|
||||
WHERE max_charge_power_w IS NOT NULL
|
||||
OR max_discharge_power_w IS NOT NULL;
|
||||
|
||||
-- Seed home-01: hlavní Deye (ne ongrid řádek)
|
||||
UPDATE ems.asset_inverter inv
|
||||
SET
|
||||
max_ac_output_w = 22000,
|
||||
max_dc_input_w = 40000,
|
||||
max_battery_charge_w = 18000,
|
||||
max_battery_discharge_w = 18000,
|
||||
gen_port_max_power_w = 10080
|
||||
FROM ems.site s
|
||||
WHERE s.id = inv.site_id
|
||||
AND s.code = 'home-01'
|
||||
AND inv.code = 'deye-main';
|
||||
|
||||
UPDATE ems.asset_battery ab
|
||||
SET
|
||||
max_charge_c_rate = 0.28,
|
||||
max_discharge_c_rate = 0.28,
|
||||
bms_max_charge_w = 18000,
|
||||
bms_max_discharge_w = 18000
|
||||
FROM ems.asset_inverter inv
|
||||
JOIN ems.site s ON s.id = inv.site_id
|
||||
WHERE ab.inverter_id = inv.id
|
||||
AND s.code = 'home-01'
|
||||
AND inv.code = 'deye-main';
|
||||
Reference in New Issue
Block a user