tune microcycling
All checks were successful
deploy / deploy (push) Successful in 25s
test / smoke-test (push) Successful in 6s

This commit is contained in:
Dusan Vojacek
2026-04-13 00:49:36 +02:00
parent 3b33594354
commit fd06811753
10 changed files with 587 additions and 62 deletions

View File

@@ -0,0 +1,40 @@
-- V046: Battery slot selection buffers + Deye zero-export mode + solar sell register
--
-- Solver: slot pre-selection eliminates battery micro-cycling.
-- Registers: reg 142 (zero export mode) per-inverter, reg 145 (solar sell) newly managed.
-- ============================================================
-- 1. Slot selection buffers on asset_battery
-- ============================================================
ALTER TABLE ems.asset_battery
ADD COLUMN IF NOT EXISTS charge_slot_buffer NUMERIC(3,1) DEFAULT 1.3,
ADD COLUMN IF NOT EXISTS discharge_slot_buffer NUMERIC(3,1) DEFAULT 1.5;
COMMENT ON COLUMN ems.asset_battery.charge_slot_buffer IS
'Buffer multiplier for charge slot count over minimum to fill battery (1.0 = exact, 1.3 = 30 % extra). NULL = no slot selection.';
COMMENT ON COLUMN ems.asset_battery.discharge_slot_buffer IS
'Buffer multiplier for discharge-export slot count over minimum to empty battery (1.0 = exact, 1.5 = 50 % extra). NULL = no slot selection.';
-- ============================================================
-- 2. Deye zero-export mode on asset_inverter
-- ============================================================
ALTER TABLE ems.asset_inverter
ADD COLUMN IF NOT EXISTS deye_zero_export_mode SMALLINT DEFAULT 1;
COMMENT ON COLUMN ems.asset_inverter.deye_zero_export_mode IS
'Deye reg 142 value for non-SELL modes: 1 = zero export to load (no CT), 2 = zero export to CT. Depends on physical installation.';
-- ============================================================
-- 3. Per-site seed values
-- ============================================================
-- BA81 (site_id=3, inverter_id=5): CT installed, bump degradation cost
UPDATE ems.asset_inverter SET deye_zero_export_mode = 2 WHERE id = 5;
UPDATE ems.asset_battery SET degradation_cost_czk_kwh = 1.00 WHERE site_id = 3;
-- KV1 (site_id=4, inverter_id=7): CT installed
UPDATE ems.asset_inverter SET deye_zero_export_mode = 2 WHERE id = 7;
-- home-01 (site_id=2, inverter_id=3): no CT — default 1 is correct