From 293727f627da1d7bb32be48d8157871ce5de7c36 Mon Sep 17 00:00:00 2001 From: WillCodeForCats <48533968+WillCodeForCats@users.noreply.github.com> Date: Sun, 16 Jul 2023 14:38:55 -0700 Subject: [PATCH] Update timing * 1200ms per inverter read * Extra init read on devices during init --- custom_components/solaredge_modbus_multi/const.py | 2 +- custom_components/solaredge_modbus_multi/hub.py | 5 +++-- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/custom_components/solaredge_modbus_multi/const.py b/custom_components/solaredge_modbus_multi/const.py index 8ac27b92..9ba719be 100644 --- a/custom_components/solaredge_modbus_multi/const.py +++ b/custom_components/solaredge_modbus_multi/const.py @@ -43,7 +43,7 @@ class StrEnum(str, Enum): class SolarEdgeTimeouts(IntEnum): """Timeouts in milliseconds.""" - Inverter = 5000 + Inverter = 8400 Device = 1200 diff --git a/custom_components/solaredge_modbus_multi/hub.py b/custom_components/solaredge_modbus_multi/hub.py index 6850d3dc..2228d208 100644 --- a/custom_components/solaredge_modbus_multi/hub.py +++ b/custom_components/solaredge_modbus_multi/hub.py @@ -521,8 +521,9 @@ def keep_modbus_open(self, value: bool) -> None: def coordinator_timeout(self) -> int: if not self.initalized: this_timeout = SolarEdgeTimeouts.Inverter * self.number_of_inverters - this_timeout += SolarEdgeTimeouts.Device * 3 # max 3 per inverter - this_timeout += SolarEdgeTimeouts.Device * 2 # max 2 per inverter + this_timeout += SolarEdgeTimeouts.Device * self.number_of_inverters + this_timeout += (SolarEdgeTimeouts.Device * 2) * 3 # max 3 per inverter + this_timeout += (SolarEdgeTimeouts.Device * 2) * 2 # max 2 per inverter else: this_timeout = SolarEdgeTimeouts.Inverter * self.number_of_inverters