fix ranniho neprodeje do site
Some checks failed
CI and deploy / migration-check (push) Failing after 42s
CI and deploy / deploy (push) Has been skipped

This commit is contained in:
Dusan Vojacek
2026-05-21 10:02:19 +02:00
parent 27323fd77a
commit 44a06b6288
9 changed files with 123 additions and 5 deletions

View File

@@ -37,6 +37,7 @@ from services.control.modbus_journal import (
from services.control.models import ControlSetpoints
from services.control.repository import _get_current_soc, _load_inverter_config
from services.control.setpoints import (
_deye_reg142_limit_control,
_deye_reg143_export_w,
_deye_system_time_register_rows,
_deye_time_point_rows,
@@ -66,7 +67,10 @@ async def write_inverter_setpoints(
raw_bat = setpoints_now.battery_w
grid_w = int(setpoints_now.grid_setpoint_w or 0)
no_export = inv.no_export
export_lim = _deye_reg143_export_w(no_export, inv.max_export_power_w)
export_lim_hw = _deye_reg143_export_w(no_export, inv.max_export_power_w)
export_lim = export_lim_hw
if int(setpoints_now.grid_export_limit or 0) > 0:
export_lim = min(export_lim_hw, int(setpoints_now.grid_export_limit))
max_batt_w_discharge = int(inv.max_discharge_a * BATT_VOLTAGE_V)
tp_discharge_w = 0 if setpoints_now.lock_battery else max_batt_w_discharge
tou_min_pct = _deye_tou_min_soc_pct(inv)
@@ -88,7 +92,13 @@ async def write_inverter_setpoints(
)
zero_exp_mode = int(inv.deye_zero_export_mode or 1)
selling_mode = 0 if deye_mode == "SELL" else zero_exp_mode
selling_mode = _deye_reg142_limit_control(
deye_mode=deye_mode,
grid_w=grid_w,
export_ban=bool(setpoints_now.export_ban),
export_mode=setpoints_now.export_mode,
zero_export_mode=zero_exp_mode,
)
solar_sell = 0 if (setpoints_now.export_ban and deye_mode != "SELL") else 1
export_limit = export_lim
reg178_val = REG178_SELL if deye_mode == "SELL" else REG178_PASSIVE