diff --git a/docs/samples/sample_modbus/sample_modbus/bat.py b/docs/samples/sample_modbus/sample_modbus/bat.py index 180fb74ef7..e13e03bfab 100644 --- a/docs/samples/sample_modbus/sample_modbus/bat.py +++ b/docs/samples/sample_modbus/sample_modbus/bat.py @@ -9,6 +9,8 @@ from modules.common.simcount import SimCounter from modules.common.store import get_bat_value_store from modules.devices.sample_modbus.sample_modbus.config import SampleBatSetup +from modules.common.utils.peak_filter import PeakFilter +from modules.common.component_type import ComponentType class KwargsDict(TypedDict): @@ -43,6 +45,7 @@ def initialize(self) -> None: self.sim_counter = SimCounter(self.__device_id, self.component_config.id, prefix="speicher") self.store = get_bat_value_store(self.component_config.id) self.fault_state = FaultState(ComponentInfo.from_component_config(self.component_config)) + self.peak_filter = PeakFilter(ComponentType.BAT, self.component_config.id, self.fault_state) def update(self) -> None: unit = self.component_config.configuration.modbus_id @@ -51,17 +54,21 @@ def update(self) -> None: # Register-Mapping und die Modbus-ID resp = self.client.read_input_registers_bulk( Register.CURRENT_L1, 70, mapping=self.REG_MAPPING, unit=self.id) + imported, exported = self.peak_filter.check_values(resp[Register.POWER], + resp[Register.IMPORTED], + resp[Register.EXPORTED]) bat_state = BatState( power=resp[Register.POWER], soc=resp[Register.SOC], - imported=resp[Register.IMPORTED], - exported=resp[Register.EXPORTED], + imported=imported, + exported=exported, ) self.store.set(bat_state) # Einzelregister lesen (dauert länger, bei sehr weit >100 auseinanderliegenden Registern sinnvoll) power = self.client.read_holding_registers(reg, ModbusDataType.INT_32, unit=unit) soc = self.client.read_holding_registers(reg, ModbusDataType.INT_32, unit=unit) + self.peak_filter.check_values(power) imported, exported = self.sim_counter.sim_count(power) bat_state = BatState( diff --git a/docs/samples/sample_modbus/sample_modbus/counter.py b/docs/samples/sample_modbus/sample_modbus/counter.py index 8ff6d6c516..8bf7d3b8b1 100644 --- a/docs/samples/sample_modbus/sample_modbus/counter.py +++ b/docs/samples/sample_modbus/sample_modbus/counter.py @@ -9,6 +9,8 @@ from modules.common.simcount import SimCounter from modules.common.store import get_counter_value_store from modules.devices.sample_modbus.sample_modbus.config import SampleCounterSetup +from modules.common.utils.peak_filter import PeakFilter +from modules.common.component_type import ComponentType class KwargsDict(TypedDict): @@ -47,6 +49,7 @@ def initialize(self) -> None: self.sim_counter = SimCounter(self.__device_id, self.component_config.id, prefix="bezug") self.store = get_counter_value_store(self.component_config.id) self.fault_state = FaultState(ComponentInfo.from_component_config(self.component_config)) + self.peak_filter = PeakFilter(ComponentType.COUNTER, self.component_config.id, self.fault_state) def update(self): unit = self.component_config.configuration.modbus_id @@ -55,9 +58,12 @@ def update(self): # Register-Mapping und die Modbus-ID resp = self.client.read_input_registers_bulk( Register.VOLTAGE_L1, 76, mapping=self.REG_MAPPING, unit=self.id) + imported, exported = self.peak_filter.check_values(sum(resp[Register.POWER_L1]), + resp[Register.IMPORTED], + resp[Register.EXPORTED]) counter_state = CounterState( - imported=resp[Register.IMPORTED], - exported=resp[Register.EXPORTED], + imported=imported, + exported=exported, power=sum(resp[Register.POWER_L1]), voltages=resp[Register.VOLTAGE_L1], currents=resp[Register.CURRENT_L1], @@ -69,6 +75,7 @@ def update(self): # Einzelregister lesen (dauert länger, bei sehr weit >100 auseinanderliegenden Registern sinnvoll) power = self.client.read_holding_registers(reg, ModbusDataType.INT_32, unit=unit) + self.peak_filter.check_values(power) imported, exported = self.sim_counter.sim_count(power) counter_state = CounterState( diff --git a/docs/samples/sample_modbus/sample_modbus/inverter.py b/docs/samples/sample_modbus/sample_modbus/inverter.py index cd4cdae552..a46530a18c 100644 --- a/docs/samples/sample_modbus/sample_modbus/inverter.py +++ b/docs/samples/sample_modbus/sample_modbus/inverter.py @@ -9,6 +9,8 @@ from modules.common.simcount import SimCounter from modules.common.store import get_inverter_value_store from modules.devices.sample_modbus.sample_modbus.config import SampleInverterSetup +from modules.common.utils.peak_filter import PeakFilter +from modules.common.component_type import ComponentType class KwargsDict(TypedDict): @@ -41,6 +43,7 @@ def initialize(self) -> None: self.sim_counter = SimCounter(self.__device_id, self.component_config.id, prefix="pv") self.store = get_inverter_value_store(self.component_config.id) self.fault_state = FaultState(ComponentInfo.from_component_config(self.component_config)) + self.peak_filter = PeakFilter(ComponentType.INVERTER, self.component_config.id, self.fault_state) def update(self) -> None: unit = self.component_config.configuration.modbus_id @@ -49,16 +52,18 @@ def update(self) -> None: # Register-Mapping und die Modbus-ID resp = self.client.read_input_registers_bulk( Register.CURRENT_L1, 70, mapping=self.REG_MAPPING, unit=self.id) + _, exported = self.peak_filter.check_values(resp[Register.POWER], None, resp[Register.EXPORTED]) inverter_state = InverterState( power=resp[Register.POWER], currents=resp[Register.CURRENT_L1], dc_power=resp[Register.DC_POWER], - exported=resp[Register.EXPORTED], + exported=exported, ) self.store.set(inverter_state) # Einzelregister lesen (dauert länger, bei sehr weit >100 auseinanderliegenden Registern sinnvoll) power = self.client.read_holding_registers(reg, ModbusDataType.INT_32, unit=unit) + self.peak_filter.check_values(power) exported = self.sim_counter.sim_count(power)[1] inverter_state = InverterState( diff --git a/docs/samples/sample_request_by_component/sample_request_by_component/bat.py b/docs/samples/sample_request_by_component/sample_request_by_component/bat.py index 5c5c8d7dd9..4f56f852f0 100644 --- a/docs/samples/sample_request_by_component/sample_request_by_component/bat.py +++ b/docs/samples/sample_request_by_component/sample_request_by_component/bat.py @@ -8,6 +8,8 @@ from modules.common.simcount import SimCounter from modules.common.store import get_bat_value_store from modules.devices.sample_request_by_component.sample_request_by_component.config import SampleBatSetup, SampleConfiguration +from modules.common.utils.peak_filter import PeakFilter +from modules.common.component_type import ComponentType class KwargsDict(TypedDict): @@ -26,11 +28,13 @@ def initialize(self) -> None: self.sim_counter = SimCounter(self.__device_id, self.component_config.id, prefix="speicher") self.store = get_bat_value_store(self.component_config.id) self.fault_state = FaultState(ComponentInfo.from_component_config(self.component_config)) + self.peak_filter = PeakFilter(ComponentType.BAT, self.component_config.id, self.fault_state) def update(self) -> None: resp = req.get_http_session().get(self.ip_address) power = resp.json().get("power") soc = resp.json().get("soc") + self.peak_filter.check_values(power) imported, exported = self.sim_counter.sim_count(power) bat_state = BatState( diff --git a/docs/samples/sample_request_by_component/sample_request_by_component/counter.py b/docs/samples/sample_request_by_component/sample_request_by_component/counter.py index d069831e56..b143ddc8ba 100644 --- a/docs/samples/sample_request_by_component/sample_request_by_component/counter.py +++ b/docs/samples/sample_request_by_component/sample_request_by_component/counter.py @@ -8,6 +8,8 @@ from modules.common.simcount import SimCounter from modules.common.store import get_counter_value_store from modules.devices.sample_request_by_component.sample_request_by_component.config import SampleCounterSetup +from modules.common.utils.peak_filter import PeakFilter +from modules.common.component_type import ComponentType class KwargsDict(TypedDict): @@ -26,10 +28,12 @@ def initialize(self) -> None: self.sim_counter = SimCounter(self.__device_id, self.component_config.id, prefix="bezug") self.store = get_counter_value_store(self.component_config.id) self.fault_state = FaultState(ComponentInfo.from_component_config(self.component_config)) + self.peak_filter = PeakFilter(ComponentType.COUNTER, self.component_config.id, self.fault_state) def update(self): resp = req.get_http_session().get(self.ip_address) power = resp.json().get("power") + self.peak_filter.check_values(power) imported, exported = self.sim_counter.sim_count(power) counter_state = CounterState( diff --git a/docs/samples/sample_request_by_component/sample_request_by_component/inverter.py b/docs/samples/sample_request_by_component/sample_request_by_component/inverter.py index 9ea314435a..7b38b56061 100644 --- a/docs/samples/sample_request_by_component/sample_request_by_component/inverter.py +++ b/docs/samples/sample_request_by_component/sample_request_by_component/inverter.py @@ -8,6 +8,8 @@ from modules.common.simcount import SimCounter from modules.common.store import get_inverter_value_store from modules.devices.sample_request_by_component.sample_request_by_component.config import SampleInverterSetup +from modules.common.utils.peak_filter import PeakFilter +from modules.common.component_type import ComponentType class KwargsDict(TypedDict): @@ -26,12 +28,14 @@ def initialize(self) -> None: self.sim_counter = SimCounter(self.__device_id, self.component_config.id, prefix="pv") self.store = get_inverter_value_store(self.component_config.id) self.fault_state = FaultState(ComponentInfo.from_component_config(self.component_config)) + self.peak_filter = PeakFilter(ComponentType.INVERTER, self.component_config.id, self.fault_state) def update(self) -> None: resp = req.get_http_session().get(self.ip_address) power = resp.json().get("power") currents = resp.json().get("currents") dc_power = resp.json().get("dc_power") + self.peak_filter.check_values(power) exported = self.sim_counter.sim_count(power)[1] inverter_state = InverterState( diff --git a/docs/samples/sample_request_by_device/sample_request_by_device/bat.py b/docs/samples/sample_request_by_device/sample_request_by_device/bat.py index 83cf40e605..5beb3b1084 100644 --- a/docs/samples/sample_request_by_device/sample_request_by_device/bat.py +++ b/docs/samples/sample_request_by_device/sample_request_by_device/bat.py @@ -7,6 +7,8 @@ from modules.common.simcount import SimCounter from modules.common.store import get_bat_value_store from modules.devices.sample_request_by_device.sample_request_by_device.config import SampleBatSetup +from modules.common.utils.peak_filter import PeakFilter +from modules.common.component_type import ComponentType class KwargsDict(TypedDict): @@ -23,11 +25,13 @@ def initialize(self) -> None: self.sim_counter = SimCounter(self.__device_id, self.component_config.id, prefix="speicher") self.store = get_bat_value_store(self.component_config.id) self.fault_state = FaultState(ComponentInfo.from_component_config(self.component_config)) + self.peak_filter = PeakFilter(ComponentType.BAT, self.component_config.id, self.fault_state) def update(self, response) -> None: # hier die Werte aus der response parsen power = response.get("power") soc = response.get("soc") + self.peak_filter.check_values(power) imported, exported = self.sim_counter.sim_count(power) bat_state = BatState( diff --git a/docs/samples/sample_request_by_device/sample_request_by_device/counter.py b/docs/samples/sample_request_by_device/sample_request_by_device/counter.py index bb92a8eba4..c0b398de53 100644 --- a/docs/samples/sample_request_by_device/sample_request_by_device/counter.py +++ b/docs/samples/sample_request_by_device/sample_request_by_device/counter.py @@ -7,6 +7,8 @@ from modules.common.simcount import SimCounter from modules.common.store import get_counter_value_store from modules.devices.sample_request_by_device.sample_request_by_device.config import SampleCounterSetup +from modules.common.utils.peak_filter import PeakFilter +from modules.common.component_type import ComponentType class KwargsDict(TypedDict): @@ -23,6 +25,7 @@ def initialize(self) -> None: self.sim_counter = SimCounter(self.__device_id, self.component_config.id, prefix="bezug") self.store = get_counter_value_store(self.component_config.id) self.fault_state = FaultState(ComponentInfo.from_component_config(self.component_config)) + self.peak_filter = PeakFilter(ComponentType.COUNTER, self.component_config.id, self.fault_state) def update(self, response): # hier die Werte aus der response parsen @@ -32,6 +35,7 @@ def update(self, response): power_factors = response.get("power_factors") powers = response.get("powers") voltages = response.get("voltages") + self.peak_filter.check_values(power) imported, exported = self.sim_counter.sim_count(power) counter_state = CounterState( diff --git a/docs/samples/sample_request_by_device/sample_request_by_device/inverter.py b/docs/samples/sample_request_by_device/sample_request_by_device/inverter.py index 20ce4fe886..9844fcb7cf 100644 --- a/docs/samples/sample_request_by_device/sample_request_by_device/inverter.py +++ b/docs/samples/sample_request_by_device/sample_request_by_device/inverter.py @@ -7,6 +7,8 @@ from modules.common.simcount import SimCounter from modules.common.store import get_inverter_value_store from modules.devices.sample_request_by_device.sample_request_by_device.config import SampleInverterSetup +from modules.common.utils.peak_filter import PeakFilter +from modules.common.component_type import ComponentType class KwargsDict(TypedDict): @@ -23,12 +25,14 @@ def initialize(self) -> None: self.sim_counter = SimCounter(self.__device_id, self.component_config.id, prefix="pv") self.store = get_inverter_value_store(self.component_config.id) self.fault_state = FaultState(ComponentInfo.from_component_config(self.component_config)) + self.peak_filter = PeakFilter(ComponentType.INVERTER, self.component_config.id, self.fault_state) def update(self, response) -> None: # hier die Werte aus der response parsen power = response.get("power") currents = response.get("currents") dc_power = response.get("dc_power") + self.peak_filter.check_values(power) exported = self.sim_counter.sim_count(power)[1] inverter_state = InverterState( diff --git a/packages/modules/common/utils/peak_filter.py b/packages/modules/common/utils/peak_filter.py index 6d2647507c..9ba10bf159 100644 --- a/packages/modules/common/utils/peak_filter.py +++ b/packages/modules/common/utils/peak_filter.py @@ -3,13 +3,14 @@ from typing import Optional from modules.common.fault_state import FaultState +from modules.common.component_type import ComponentType log = logging.getLogger(__name__) class PeakFilter: - def __init__(self, type: str, component_id: int, fault_state: FaultState): - self.type = type + def __init__(self, component_type: ComponentType, component_id: int, fault_state: FaultState): + self.component_type = component_type self.component_id = component_id self.fault_state = fault_state self.imported = None @@ -22,17 +23,17 @@ def check_values( exported: Optional[float] = None ) -> tuple[Optional[float], Optional[float]]: # setze maximale Leistung je nach Komponente - if self.type == "counter": + if self.component_type == ComponentType.COUNTER: counter = data.data.counter_data[f"counter{self.component_id}"] max_power = counter.data.config.max_total_power - elif self.type == "inverter": + elif self.component_type == ComponentType.INVERTER: inverter = data.data.pv_data[f"pv{self.component_id}"] max_power = inverter.data.config.max_ac_out - elif self.type == "bat": + elif self.component_type == ComponentType.BAT: bat = data.data.bat_data[f"bat{self.component_id}"] max_power = bat.data.config.max_power else: - raise ValueError(f"Unsupported component type {self.type!r} in PeakFilter") + raise ValueError(f"Unsupported component type {self.component_type!r} in PeakFilter") # prüfe Leistung und importierte/exportierte Energie auf Plausibilität self.check_power(max_power, power) return self.check_imported_exported(max_power, imported, exported) @@ -74,17 +75,15 @@ def check_total_energy( if total_energy is not None: if previous_total_energy is None: if allowed_deviation > 0: - log.debug(f"PeakFilter: Vorheriger Wert None, aktueller Zählerwert: {total_energy / 1000 }kWh. " - "Warte einen Regelintervall.") - self.fault_state.warning(f"Peakfilter: {total_energy / 1000}kWh. " - "Die PV-Produktion erscheint höher, als laut Anlagenkonfiguration " - "plausibel ist. Erneute Prüfung im nächsten Regelintervall.") + self.fault_state.warning("PeakFilter: Vorheriger Wert None (Startup), " + f"aktueller Zählerwert: {total_energy / 1000 }kWh. " + "Warte einen Regelintervall.") elif allowed_deviation > 0 and (total_energy - previous_total_energy) > allowed_deviation: log.debug(f"PeakFilter: Unplausibler Zählerwert: {total_energy / 1000}kWh. " f"Differenz zum vorherigen Wert: {total_energy - previous_total_energy}Wh. " f"erlaubte Differenz: {round(allowed_deviation, 2)}Wh.") self.fault_state.warning(f"Peakfilter: {total_energy / 1000}kWh. " - "Die PV-Produktion erscheint höher, als laut Anlagenkonfiguration plausibel " + "Die Energie erscheint höher, als laut Anlagenkonfiguration plausibel " "ist. Erneute Prüfung im nächsten Regelintervall.") else: log.debug(f"PeakFilter: Zählerwert: {total_energy}Wh innerhalb der zulässigen Grenzen. " diff --git a/packages/modules/common/utils/test_peak_filter.py b/packages/modules/common/utils/test_peak_filter.py index d25b2c43e8..14ed6a33d3 100644 --- a/packages/modules/common/utils/test_peak_filter.py +++ b/packages/modules/common/utils/test_peak_filter.py @@ -3,6 +3,7 @@ from unittest.mock import MagicMock from modules.common.utils.peak_filter import PeakFilter from modules.common.fault_state import FaultState +from modules.common.component_type import ComponentType class DummyFaultState(FaultState): @@ -43,7 +44,7 @@ def patch_data(monkeypatch): @dataclass class Params: name: str - type: str + component_type: ComponentType previous_imported: float previous_exported: float power: float @@ -55,30 +56,30 @@ class Params: cases = [ - Params("Power Peak Zähler positiv", "counter", 1000, 500, 11000, 1300, 800, None, None, True), - Params("Power Peak Zähler negativ", "counter", 1000, 500, -11000, 1300, 800, None, None, True), - Params("Power Peak Wechselrichter", "inverter", 1000, 500, 11000, 1005, 505, 1005, 505, True), - Params("Power Peak Speicher positiv", "bat", 1000, 500, 11000, 1005, 505, 1005, 505, True), - Params("Power Peak Speicher negativ", "bat", 1000, 500, -11000, 1005, 505, 1005, 505, True), - Params("Imp/ Exp Zähler - Werte valide", "counter", 1000, 500, 900, 1005, 505, 1005, 505), - Params("Imp/ Exp Wechselrichter - Werte valide", "inverter", 1000, 500, 1500, 1005, 505, 1005, 505), - Params("Imp/ Exp Speicher - Werte valide", "bat", 1000, 500, 400, 1005, 505, 1005, 505), - Params("Imp/ Exp Zähler - Werte invalide", "counter", 1000, 500, 1000, 1300, 800, None, None), - Params("Imp/ Exp Zähler - Import invalide", "counter", 1000, 500, 1000, 1300, 505, None, 505), - Params("Imp/ Exp Zähler - Export invalide", "counter", 1000, 500, 1000, 1005, 800, 1005, None), - Params("Imp/ Exp Wechselrichter - Werte invalide", "inverter", 1000, 500, 1500, 1300, 800, None, None), - Params("Imp/ Exp Wechselrichter - Import invalide", "inverter", 1000, 500, 1500, 1300, 505, None, 505), - Params("Imp/ Exp Wechselrichter - Export invalide", "inverter", 1000, 500, 1500, 1005, 800, 1005, None), - Params("Imp/ Exp Speicher - Werte invalide", "bat", 1000, 500, 400, 1300, 800, None, None), - Params("Imp/ Exp Speicher - Import invalide", "bat", 1000, 500, 400, 1300, 505, None, 505), - Params("Imp/ Exp Speicher - Export invalide", "bat", 1000, 500, 400, 1005, 800, 1005, None), + Params("Power Peak Zähler positiv", ComponentType.COUNTER, 1000, 500, 11000, 1300, 800, None, None, True), + Params("Power Peak Zähler negativ", ComponentType.COUNTER, 1000, 500, -11000, 1300, 800, None, None, True), + Params("Power Peak Wechselrichter", ComponentType.INVERTER, 1000, 500, 11000, 1005, 505, 1005, 505, True), + Params("Power Peak Speicher positiv", ComponentType.BAT, 1000, 500, 11000, 1005, 505, 1005, 505, True), + Params("Power Peak Speicher negativ", ComponentType.BAT, 1000, 500, -11000, 1005, 505, 1005, 505, True), + Params("Imp/ Exp Zähler - Werte valide", ComponentType.COUNTER, 1000, 500, 900, 1005, 505, 1005, 505), + Params("Imp/ Exp Wechselrichter - Werte valide", ComponentType.INVERTER, 1000, 500, 1500, 1005, 505, 1005, 505), + Params("Imp/ Exp Speicher - Werte valide", ComponentType.BAT, 1000, 500, 400, 1005, 505, 1005, 505), + Params("Imp/ Exp Zähler - Werte invalide", ComponentType.COUNTER, 1000, 500, 1000, 1300, 800, None, None), + Params("Imp/ Exp Zähler - Import invalide", ComponentType.COUNTER, 1000, 500, 1000, 1300, 505, None, 505), + Params("Imp/ Exp Zähler - Export invalide", ComponentType.COUNTER, 1000, 500, 1000, 1005, 800, 1005, None), + Params("Imp/ Exp Wechselrichter - Werte invalide", ComponentType.INVERTER, 1000, 500, 1500, 1300, 800, None, None), + Params("Imp/ Exp Wechselrichter - Import invalide", ComponentType.INVERTER, 1000, 500, 1500, 1300, 505, None, 505), + Params("Imp/ Exp Wechselrichter - Export invalide", ComponentType.INVERTER, 1000, 500, 1500, 1005, 800, 1005, None), + Params("Imp/ Exp Speicher - Werte invalide", ComponentType.BAT, 1000, 500, 400, 1300, 800, None, None), + Params("Imp/ Exp Speicher - Import invalide", ComponentType.BAT, 1000, 500, 400, 1300, 505, None, 505), + Params("Imp/ Exp Speicher - Export invalide", ComponentType.BAT, 1000, 500, 400, 1005, 800, 1005, None), ] @pytest.mark.parametrize("params", cases, ids=[c.name for c in cases]) def test_check_values_valid(params): fs = DummyFaultState() - pf = PeakFilter(params.type, 1, fs) + pf = PeakFilter(params.component_type, 1, fs) pf.imported = params.previous_imported pf.exported = params.previous_exported if params.expect_exception: diff --git a/packages/modules/devices/algodue/algodue/bat.py b/packages/modules/devices/algodue/algodue/bat.py index b114745baf..5ceee007e5 100644 --- a/packages/modules/devices/algodue/algodue/bat.py +++ b/packages/modules/devices/algodue/algodue/bat.py @@ -11,6 +11,7 @@ from modules.common.simcount import SimCounter from modules.common.store import get_bat_value_store from modules.common.utils.peak_filter import PeakFilter +from modules.common.component_type import ComponentType class KwargsDict(TypedDict): @@ -31,7 +32,7 @@ def initialize(self) -> None: self.sim_counter = SimCounter(self.__device_id, self.component_config.id, prefix="speicher") self.store = get_bat_value_store(self.component_config.id) self.fault_state = FaultState(ComponentInfo.from_component_config(self.component_config)) - self.peak_filter = PeakFilter("bat", self.component_config.id, self.fault_state) + self.peak_filter = PeakFilter(ComponentType.BAT, self.component_config.id, self.fault_state) def update(self): currents = self.__tcp_client.read_input_registers( diff --git a/packages/modules/devices/algodue/algodue/counter.py b/packages/modules/devices/algodue/algodue/counter.py index 4ea20a4f75..805410400f 100644 --- a/packages/modules/devices/algodue/algodue/counter.py +++ b/packages/modules/devices/algodue/algodue/counter.py @@ -11,6 +11,7 @@ from modules.common.simcount import SimCounter from modules.common.store import get_counter_value_store from modules.common.utils.peak_filter import PeakFilter +from modules.common.component_type import ComponentType class KwargsDict(TypedDict): @@ -31,7 +32,7 @@ def initialize(self) -> None: self.sim_counter = SimCounter(self.__device_id, self.component_config.id, prefix="bezug") self.store = get_counter_value_store(self.component_config.id) self.fault_state = FaultState(ComponentInfo.from_component_config(self.component_config)) - self.peak_filter = PeakFilter("counter", self.component_config.id, self.fault_state) + self.peak_filter = PeakFilter(ComponentType.COUNTER, self.component_config.id, self.fault_state) def update(self): frequency = self.__tcp_client.read_input_registers(0x1038, ModbusDataType.FLOAT_32, unit=self.__modbus_id) diff --git a/packages/modules/devices/algodue/algodue/inverter.py b/packages/modules/devices/algodue/algodue/inverter.py index 5b0b60cd06..b8cd036822 100644 --- a/packages/modules/devices/algodue/algodue/inverter.py +++ b/packages/modules/devices/algodue/algodue/inverter.py @@ -11,6 +11,7 @@ from modules.common.simcount import SimCounter from modules.common.store import get_inverter_value_store from modules.common.utils.peak_filter import PeakFilter +from modules.common.component_type import ComponentType class KwargsDict(TypedDict): @@ -31,7 +32,7 @@ def initialize(self) -> None: self.sim_counter = SimCounter(self.__device_id, self.component_config.id, prefix="pv") self.store = get_inverter_value_store(self.component_config.id) self.fault_state = FaultState(ComponentInfo.from_component_config(self.component_config)) - self.peak_filter = PeakFilter("inverter", self.component_config.id, self.fault_state) + self.peak_filter = PeakFilter(ComponentType.INVERTER, self.component_config.id, self.fault_state) def update(self): currents = self.__tcp_client.read_input_registers( diff --git a/packages/modules/devices/alpha_ess/alpha_ess/bat.py b/packages/modules/devices/alpha_ess/alpha_ess/bat.py index a0d9c34fd9..8663913cc5 100644 --- a/packages/modules/devices/alpha_ess/alpha_ess/bat.py +++ b/packages/modules/devices/alpha_ess/alpha_ess/bat.py @@ -10,6 +10,7 @@ from modules.common.store import get_bat_value_store from modules.devices.alpha_ess.alpha_ess.config import AlphaEssBatSetup from modules.common.utils.peak_filter import PeakFilter +from modules.common.component_type import ComponentType log = logging.getLogger(__name__) @@ -31,7 +32,7 @@ def initialize(self) -> None: self.sim_counter = SimCounter(self.kwargs['device_id'], self.component_config.id, prefix="speicher") self.store = get_bat_value_store(self.component_config.id) self.fault_state = FaultState(ComponentInfo.from_component_config(self.component_config)) - self.peak_filter = PeakFilter("bat", self.component_config.id, self.fault_state) + self.peak_filter = PeakFilter(ComponentType.BAT, self.component_config.id, self.fault_state) self.last_mode = 'Undefined' def update(self) -> None: diff --git a/packages/modules/devices/alpha_ess/alpha_ess/counter.py b/packages/modules/devices/alpha_ess/alpha_ess/counter.py index 7df640d25c..0633c64a4a 100644 --- a/packages/modules/devices/alpha_ess/alpha_ess/counter.py +++ b/packages/modules/devices/alpha_ess/alpha_ess/counter.py @@ -11,6 +11,7 @@ from modules.common.modbus import ModbusDataType from modules.common.store import get_counter_value_store from modules.common.utils.peak_filter import PeakFilter +from modules.common.component_type import ComponentType class KwargsDict(TypedDict): @@ -30,7 +31,7 @@ def initialize(self) -> None: self.__modbus_id: int = self.kwargs['modbus_id'] self.store = get_counter_value_store(self.component_config.id) self.fault_state = FaultState(ComponentInfo.from_component_config(self.component_config)) - self.peak_filter = PeakFilter("counter", self.component_config.id, self.fault_state) + self.peak_filter = PeakFilter(ComponentType.COUNTER, self.component_config.id, self.fault_state) def update(self): time.sleep(0.1) diff --git a/packages/modules/devices/alpha_ess/alpha_ess/inverter.py b/packages/modules/devices/alpha_ess/alpha_ess/inverter.py index 944a2a314a..d38a28bdda 100644 --- a/packages/modules/devices/alpha_ess/alpha_ess/inverter.py +++ b/packages/modules/devices/alpha_ess/alpha_ess/inverter.py @@ -11,6 +11,7 @@ from modules.common.simcount._simcounter import SimCounter from modules.common.store import get_inverter_value_store from modules.common.utils.peak_filter import PeakFilter +from modules.common.component_type import ComponentType class KwargsDict(TypedDict): @@ -33,7 +34,7 @@ def initialize(self) -> None: self.sim_counter = SimCounter(self.__device_id, self.component_config.id, prefix="pv") self.store = get_inverter_value_store(self.component_config.id) self.fault_state = FaultState(ComponentInfo.from_component_config(self.component_config)) - self.peak_filter = PeakFilter("inverter", self.component_config.id, self.fault_state) + self.peak_filter = PeakFilter(ComponentType.INVERTER, self.component_config.id, self.fault_state) def update(self) -> None: reg_p = self.__version_factory() diff --git a/packages/modules/devices/ampere/ampere/bat.py b/packages/modules/devices/ampere/ampere/bat.py index beb5fa00b8..1ee8a9269c 100644 --- a/packages/modules/devices/ampere/ampere/bat.py +++ b/packages/modules/devices/ampere/ampere/bat.py @@ -10,6 +10,7 @@ from modules.common.store import get_bat_value_store from modules.devices.ampere.ampere.config import AmpereBatSetup from modules.common.utils.peak_filter import PeakFilter +from modules.common.component_type import ComponentType class KwargsDict(TypedDict): @@ -31,7 +32,7 @@ def initialize(self) -> None: self.sim_counter = SimCounter(device_id, self.component_config.id, prefix="speicher") self.store = get_bat_value_store(self.component_config.id) self.fault_state = FaultState(ComponentInfo.from_component_config(self.component_config)) - self.peak_filter = PeakFilter("bat", self.component_config.id, self.fault_state) + self.peak_filter = PeakFilter(ComponentType.BAT, self.component_config.id, self.fault_state) self.client = self.kwargs['client'] def update(self) -> None: diff --git a/packages/modules/devices/ampere/ampere/counter.py b/packages/modules/devices/ampere/ampere/counter.py index ef40d46518..5ecc06f901 100644 --- a/packages/modules/devices/ampere/ampere/counter.py +++ b/packages/modules/devices/ampere/ampere/counter.py @@ -10,6 +10,7 @@ from modules.common.store import get_counter_value_store from modules.devices.ampere.ampere.config import AmpereCounterSetup from modules.common.utils.peak_filter import PeakFilter +from modules.common.component_type import ComponentType class KwargsDict(TypedDict): @@ -32,7 +33,7 @@ def initialize(self) -> None: self.sim_counter = SimCounter(self.__device_id, self.component_config.id, prefix="bezug") self.store = get_counter_value_store(self.component_config.id) self.fault_state = FaultState(ComponentInfo.from_component_config(self.component_config)) - self.peak_filter = PeakFilter("counter", self.component_config.id, self.fault_state) + self.peak_filter = PeakFilter(ComponentType.COUNTER, self.component_config.id, self.fault_state) def update(self): powers = self.client.read_input_registers(1349, [ModbusDataType.INT_16]*3, unit=self.modbus_id) diff --git a/packages/modules/devices/ampere/ampere/inverter.py b/packages/modules/devices/ampere/ampere/inverter.py index cbaabf6f7e..8fcbc47ed0 100644 --- a/packages/modules/devices/ampere/ampere/inverter.py +++ b/packages/modules/devices/ampere/ampere/inverter.py @@ -10,6 +10,7 @@ from modules.common.store import get_inverter_value_store from modules.devices.ampere.ampere.config import AmpereInverterSetup from modules.common.utils.peak_filter import PeakFilter +from modules.common.component_type import ComponentType class KwargsDict(TypedDict): @@ -32,7 +33,7 @@ def initialize(self) -> None: self.sim_counter = SimCounter(self.__device_id, self.component_config.id, prefix="pv") self.store = get_inverter_value_store(self.component_config.id) self.fault_state = FaultState(ComponentInfo.from_component_config(self.component_config)) - self.peak_filter = PeakFilter("inverter", self.component_config.id, self.fault_state) + self.peak_filter = PeakFilter(ComponentType.INVERTER, self.component_config.id, self.fault_state) def update(self) -> None: pv1_power = self.client.read_holding_registers(519, ModbusDataType.INT_16, unit=self.modbus_id) * -1 diff --git a/packages/modules/devices/avm/avm/counter.py b/packages/modules/devices/avm/avm/counter.py index f5bf7f2348..0f6a08a273 100644 --- a/packages/modules/devices/avm/avm/counter.py +++ b/packages/modules/devices/avm/avm/counter.py @@ -8,6 +8,7 @@ from modules.common.store import get_counter_value_store from modules.devices.avm.avm.config import AvmCounterSetup from modules.common.utils.peak_filter import PeakFilter +from modules.common.component_type import ComponentType class AvmCounter(AbstractCounter): @@ -17,7 +18,7 @@ def __init__(self, component_config: AvmCounterSetup) -> None: def initialize(self) -> None: self.store = get_counter_value_store(self.component_config.id) self.fault_state = FaultState(ComponentInfo.from_component_config(self.component_config)) - self.peak_filter = PeakFilter("counter", self.component_config.id, self.fault_state) + self.peak_filter = PeakFilter(ComponentType.COUNTER, self.component_config.id, self.fault_state) def update(self, deviceListElementTree: Element): for device in deviceListElementTree: diff --git a/packages/modules/devices/azzurro_zcs/azzurro_zcs/bat.py b/packages/modules/devices/azzurro_zcs/azzurro_zcs/bat.py index 65a6eed82a..f13cd5b59a 100644 --- a/packages/modules/devices/azzurro_zcs/azzurro_zcs/bat.py +++ b/packages/modules/devices/azzurro_zcs/azzurro_zcs/bat.py @@ -9,6 +9,7 @@ from modules.common.store import get_bat_value_store from modules.devices.azzurro_zcs.azzurro_zcs.config import ZCSBatSetup from modules.common.utils.peak_filter import PeakFilter +from modules.common.component_type import ComponentType class KwargsDict(TypedDict): @@ -26,7 +27,7 @@ def initialize(self) -> None: self.client: ModbusTcpClient_ = self.kwargs['client'] self.store = get_bat_value_store(self.component_config.id) self.fault_state = FaultState(ComponentInfo.from_component_config(self.component_config)) - self.peak_filter = PeakFilter("bat", self.component_config.id, self.fault_state) + self.peak_filter = PeakFilter(ComponentType.BAT, self.component_config.id, self.fault_state) def update(self) -> None: # 0x020D Battery charge-discharge power Int16 -10-10 kW accuracy 0,01 kW pos charge, neg discharge diff --git a/packages/modules/devices/azzurro_zcs/azzurro_zcs/counter.py b/packages/modules/devices/azzurro_zcs/azzurro_zcs/counter.py index 6e83bb3e00..25ab9f48e8 100644 --- a/packages/modules/devices/azzurro_zcs/azzurro_zcs/counter.py +++ b/packages/modules/devices/azzurro_zcs/azzurro_zcs/counter.py @@ -10,6 +10,7 @@ from modules.common.store import get_counter_value_store from modules.devices.azzurro_zcs.azzurro_zcs.config import ZCSCounterSetup from modules.common.utils.peak_filter import PeakFilter +from modules.common.component_type import ComponentType class KwargsDict(TypedDict): @@ -29,7 +30,7 @@ def initialize(self) -> None: self.client: ModbusTcpClient_ = self.kwargs['client'] self.store = get_counter_value_store(self.component_config.id) self.fault_state = FaultState(ComponentInfo.from_component_config(self.component_config)) - self.peak_filter = PeakFilter("counter", self.component_config.id, self.fault_state) + self.peak_filter = PeakFilter(ComponentType.COUNTER, self.component_config.id, self.fault_state) def update(self) -> None: # 0x0212 Grid Power Int16 -10-10 kW Unit 0,01kW Feed in/out power diff --git a/packages/modules/devices/azzurro_zcs/azzurro_zcs/inverter.py b/packages/modules/devices/azzurro_zcs/azzurro_zcs/inverter.py index 53e09c0bbc..2d7b7de42d 100644 --- a/packages/modules/devices/azzurro_zcs/azzurro_zcs/inverter.py +++ b/packages/modules/devices/azzurro_zcs/azzurro_zcs/inverter.py @@ -10,6 +10,7 @@ from modules.common.store import get_inverter_value_store from modules.devices.azzurro_zcs.azzurro_zcs.config import ZCSInverterSetup from modules.common.utils.peak_filter import PeakFilter +from modules.common.component_type import ComponentType class KwargsDict(TypedDict): @@ -27,7 +28,7 @@ def initialize(self) -> None: self.client: ModbusTcpClient_ = self.kwargs['client'] self.store = get_inverter_value_store(self.component_config.id) self.fault_state = FaultState(ComponentInfo.from_component_config(self.component_config)) - self.peak_filter = PeakFilter("inverter", self.component_config.id, self.fault_state) + self.peak_filter = PeakFilter(ComponentType.INVERTER, self.component_config.id, self.fault_state) def update(self) -> None: # 0x0252 PV1 Power UInt16 0-100kW Unit 0,01kW diff --git a/packages/modules/devices/azzurro_zcs/azzurro_zcs_3p/pv_inverter.py b/packages/modules/devices/azzurro_zcs/azzurro_zcs_3p/pv_inverter.py index 9167090f0e..cb792c7dc4 100644 --- a/packages/modules/devices/azzurro_zcs/azzurro_zcs_3p/pv_inverter.py +++ b/packages/modules/devices/azzurro_zcs/azzurro_zcs_3p/pv_inverter.py @@ -9,6 +9,7 @@ from modules.common.store import get_inverter_value_store from modules.devices.azzurro_zcs.azzurro_zcs_3p.config import ZCSPvInverterSetup from modules.common.utils.peak_filter import PeakFilter +from modules.common.component_type import ComponentType log = logging.getLogger(__name__) @@ -28,7 +29,7 @@ def initialize(self) -> None: self.client: ModbusTcpClient_ = self.kwargs['client'] self.store = get_inverter_value_store(self.component_config.id) self.fault_state = FaultState(ComponentInfo.from_component_config(self.component_config)) - self.peak_filter = PeakFilter("inverter", self.component_config.id, self.fault_state) + self.peak_filter = PeakFilter(ComponentType.INVERTER, self.component_config.id, self.fault_state) def update(self) -> None: power = exported = 0 diff --git a/packages/modules/devices/batterx/batterx/bat.py b/packages/modules/devices/batterx/batterx/bat.py index 4320c038c7..345f4ead52 100644 --- a/packages/modules/devices/batterx/batterx/bat.py +++ b/packages/modules/devices/batterx/batterx/bat.py @@ -11,6 +11,7 @@ from modules.common.store import get_bat_value_store from modules.common import req from modules.common.utils.peak_filter import PeakFilter +from modules.common.component_type import ComponentType log = logging.getLogger(__name__) @@ -31,7 +32,7 @@ def initialize(self) -> None: self.sim_counter = SimCounter(self.__device_id, self.component_config.id, prefix="speicher") self.store = get_bat_value_store(self.component_config.id) self.fault_state = FaultState(ComponentInfo.from_component_config(self.component_config)) - self.peak_filter = PeakFilter("bat", self.component_config.id, self.fault_state) + self.peak_filter = PeakFilter(ComponentType.BAT, self.component_config.id, self.fault_state) self.last_mode = 'Undefined' def update(self, resp: Dict) -> None: diff --git a/packages/modules/devices/batterx/batterx/counter.py b/packages/modules/devices/batterx/batterx/counter.py index 06f48bfb0d..6cbbe2ea06 100644 --- a/packages/modules/devices/batterx/batterx/counter.py +++ b/packages/modules/devices/batterx/batterx/counter.py @@ -10,6 +10,7 @@ from modules.common.simcount import SimCounter from modules.common.store import get_counter_value_store from modules.common.utils.peak_filter import PeakFilter +from modules.common.component_type import ComponentType log = logging.getLogger(__name__) @@ -28,7 +29,7 @@ def initialize(self) -> None: self.sim_counter = SimCounter(self.__device_id, self.component_config.id, prefix="bezug") self.store = get_counter_value_store(self.component_config.id) self.fault_state = FaultState(ComponentInfo.from_component_config(self.component_config)) - self.peak_filter = PeakFilter("counter", self.component_config.id, self.fault_state) + self.peak_filter = PeakFilter(ComponentType.COUNTER, self.component_config.id, self.fault_state) def update(self, resp: Dict) -> None: power = resp["2913"]["0"] diff --git a/packages/modules/devices/batterx/batterx/external_inverter.py b/packages/modules/devices/batterx/batterx/external_inverter.py index 0103b4b5dd..c252e4275f 100644 --- a/packages/modules/devices/batterx/batterx/external_inverter.py +++ b/packages/modules/devices/batterx/batterx/external_inverter.py @@ -9,6 +9,7 @@ from modules.common.simcount import SimCounter from modules.common.store import get_inverter_value_store from modules.common.utils.peak_filter import PeakFilter +from modules.common.component_type import ComponentType class KwargsDict(TypedDict): @@ -25,7 +26,7 @@ def initialize(self) -> None: self.sim_counter = SimCounter(self.__device_id, self.component_config.id, prefix="pv") self.store = get_inverter_value_store(self.component_config.id) self.fault_state = FaultState(ComponentInfo.from_component_config(self.component_config)) - self.peak_filter = PeakFilter("inverter", self.component_config.id, self.fault_state) + self.peak_filter = PeakFilter(ComponentType.INVERTER, self.component_config.id, self.fault_state) def get_power(self, resp: Dict) -> float: return resp["2913"]["3"] * -1 diff --git a/packages/modules/devices/batterx/batterx/inverter.py b/packages/modules/devices/batterx/batterx/inverter.py index 8be5fd941a..35396def8a 100644 --- a/packages/modules/devices/batterx/batterx/inverter.py +++ b/packages/modules/devices/batterx/batterx/inverter.py @@ -9,6 +9,7 @@ from modules.common.simcount import SimCounter from modules.common.store import get_inverter_value_store from modules.common.utils.peak_filter import PeakFilter +from modules.common.component_type import ComponentType class KwargsDict(TypedDict): @@ -25,7 +26,7 @@ def initialize(self) -> None: self.sim_counter = SimCounter(self.__device_id, self.component_config.id, prefix="pv") self.store = get_inverter_value_store(self.component_config.id) self.fault_state = FaultState(ComponentInfo.from_component_config(self.component_config)) - self.peak_filter = PeakFilter("inverter", self.component_config.id, self.fault_state) + self.peak_filter = PeakFilter(ComponentType.INVERTER, self.component_config.id, self.fault_state) def get_power(self, resp: Dict) -> float: return resp["1634"]["0"] * -1 diff --git a/packages/modules/devices/byd/byd/bat.py b/packages/modules/devices/byd/byd/bat.py index 5628420560..0b7275af75 100644 --- a/packages/modules/devices/byd/byd/bat.py +++ b/packages/modules/devices/byd/byd/bat.py @@ -12,6 +12,7 @@ from modules.common.simcount import SimCounter from modules.common.store import get_bat_value_store from modules.common.utils.peak_filter import PeakFilter +from modules.common.component_type import ComponentType log = logging.getLogger(__name__) @@ -30,7 +31,7 @@ def initialize(self) -> None: self.sim_counter = SimCounter(self.device_config.id, self.component_config.id, prefix="speicher") self.store = get_bat_value_store(self.component_config.id) self.fault_state = FaultState(ComponentInfo.from_component_config(self.component_config)) - self.peak_filter = PeakFilter("bat", self.component_config.id, self.fault_state) + self.peak_filter = PeakFilter(ComponentType.BAT, self.component_config.id, self.fault_state) def update(self) -> None: power, soc = self.get_values() diff --git a/packages/modules/devices/carlo_gavazzi/carlo_gavazzi/counter.py b/packages/modules/devices/carlo_gavazzi/carlo_gavazzi/counter.py index 3c89c65c66..18ff88a5f4 100644 --- a/packages/modules/devices/carlo_gavazzi/carlo_gavazzi/counter.py +++ b/packages/modules/devices/carlo_gavazzi/carlo_gavazzi/counter.py @@ -13,6 +13,7 @@ from modules.common.simcount import SimCounter from modules.common.store import get_counter_value_store from modules.common.utils.peak_filter import PeakFilter +from modules.common.component_type import ComponentType class KwargsDict(TypedDict): @@ -33,7 +34,7 @@ def initialize(self) -> None: self.sim_counter = SimCounter(self.__device_id, self.component_config.id, prefix="bezug") self.store = get_counter_value_store(self.component_config.id) self.fault_state = FaultState(ComponentInfo.from_component_config(self.component_config)) - self.peak_filter = PeakFilter("counter", self.component_config.id, self.fault_state) + self.peak_filter = PeakFilter(ComponentType.COUNTER, self.component_config.id, self.fault_state) def update(self): with self.__tcp_client: diff --git a/packages/modules/devices/chint/chint/counter.py b/packages/modules/devices/chint/chint/counter.py index 93eb52bca6..9654cdfb2a 100644 --- a/packages/modules/devices/chint/chint/counter.py +++ b/packages/modules/devices/chint/chint/counter.py @@ -9,6 +9,7 @@ from modules.common.store import get_counter_value_store from modules.devices.chint.chint.config import CHINTCounterSetup from modules.common.utils.peak_filter import PeakFilter +from modules.common.component_type import ComponentType log = logging.getLogger(__name__) @@ -27,7 +28,7 @@ def initialize(self) -> None: self.store = get_counter_value_store(self.component_config.id) self.fault_state = FaultState(ComponentInfo.from_component_config(self.component_config)) self.__modbus_id = self.component_config.configuration.modbus_id - self.peak_filter = PeakFilter("counter", self.component_config.id, self.fault_state) + self.peak_filter = PeakFilter(ComponentType.COUNTER, self.component_config.id, self.fault_state) def update(self): powers = voltages = currents = power_factors = None diff --git a/packages/modules/devices/deye/deye/bat.py b/packages/modules/devices/deye/deye/bat.py index 8dbd8c1c08..f6677ce765 100644 --- a/packages/modules/devices/deye/deye/bat.py +++ b/packages/modules/devices/deye/deye/bat.py @@ -10,6 +10,7 @@ from modules.common.store import get_bat_value_store from modules.devices.deye.deye.config import DeyeBatSetup from modules.devices.deye.deye.device_type import DeviceType +from modules.common.component_type import ComponentType log = logging.getLogger(__name__) @@ -29,7 +30,7 @@ def initialize(self) -> None: self.client: ModbusTcpClient_ = self.kwargs['client'] self.store = get_bat_value_store(self.component_config.id) self.fault_state = FaultState(ComponentInfo.from_component_config(self.component_config)) - self.peak_filter = PeakFilter("bat", self.component_config.id, self.fault_state) + self.peak_filter = PeakFilter(ComponentType.BAT, self.component_config.id, self.fault_state) self.sim_counter = SimCounter(self.__device_id, self.component_config.id, prefix="speicher") self.device_type = DeviceType(self.client.read_holding_registers( 0, ModbusDataType.INT_16, unit=self.component_config.configuration.modbus_id)) diff --git a/packages/modules/devices/deye/deye/counter.py b/packages/modules/devices/deye/deye/counter.py index 349e1e423e..cc9c002dc9 100644 --- a/packages/modules/devices/deye/deye/counter.py +++ b/packages/modules/devices/deye/deye/counter.py @@ -11,6 +11,7 @@ from modules.common.store import get_counter_value_store from modules.devices.deye.deye.config import DeyeCounterSetup from modules.devices.deye.deye.device_type import DeviceType +from modules.common.component_type import ComponentType class KwargsDict(TypedDict): @@ -28,7 +29,7 @@ def initialize(self) -> None: self.client: ModbusTcpClient_ = self.kwargs['client'] self.store = get_counter_value_store(self.component_config.id) self.fault_state = FaultState(ComponentInfo.from_component_config(self.component_config)) - self.peak_filter = PeakFilter("counter", self.component_config.id, self.fault_state) + self.peak_filter = PeakFilter(ComponentType.COUNTER, self.component_config.id, self.fault_state) self.sim_counter = SimCounter(self.__device_id, self.component_config.id, prefix="bezug") self.device_type = DeviceType(self.client.read_holding_registers( 0, ModbusDataType.INT_16, unit=self.component_config.configuration.modbus_id)) diff --git a/packages/modules/devices/deye/deye/inverter.py b/packages/modules/devices/deye/deye/inverter.py index 29d1fdce00..13eeb467be 100644 --- a/packages/modules/devices/deye/deye/inverter.py +++ b/packages/modules/devices/deye/deye/inverter.py @@ -11,6 +11,7 @@ from modules.common.store import get_inverter_value_store from modules.devices.deye.deye.config import DeyeInverterSetup from modules.devices.deye.deye.device_type import DeviceType +from modules.common.component_type import ComponentType class KwargsDict(TypedDict): @@ -28,7 +29,7 @@ def initialize(self) -> None: self.client: ModbusTcpClient_ = self.kwargs['client'] self.store = get_inverter_value_store(self.component_config.id) self.fault_state = FaultState(ComponentInfo.from_component_config(self.component_config)) - self.peak_filter = PeakFilter("inverter", self.component_config.id, self.fault_state) + self.peak_filter = PeakFilter(ComponentType.INVERTER, self.component_config.id, self.fault_state) self.sim_counter = SimCounter(self.__device_id, self.component_config.id, prefix="pv") self.device_type = DeviceType(self.client.read_holding_registers( 0, ModbusDataType.INT_16, unit=self.component_config.configuration.modbus_id)) diff --git a/packages/modules/devices/discovergy/discovergy/counter.py b/packages/modules/devices/discovergy/discovergy/counter.py index a60c48c569..1de14450f4 100644 --- a/packages/modules/devices/discovergy/discovergy/counter.py +++ b/packages/modules/devices/discovergy/discovergy/counter.py @@ -8,6 +8,7 @@ from modules.devices.discovergy.discovergy import api from modules.devices.discovergy.discovergy.config import DiscovergyCounterSetup from modules.common.component_state import CounterState +from modules.common.component_type import ComponentType class DiscovergyCounter(AbstractCounter): @@ -17,7 +18,7 @@ def __init__(self, component_config: DiscovergyCounterSetup) -> None: def initialize(self) -> None: self.store = get_counter_value_store(self.component_config.id) self.fault_state = FaultState(ComponentInfo.from_component_config(self.component_config)) - self.peak_filter = PeakFilter("counter", self.component_config.id, self.fault_state) + self.peak_filter = PeakFilter(ComponentType.COUNTER, self.component_config.id, self.fault_state) def update(self, session: Session): reading = api.get_last_reading(session, self.component_config.configuration.meter_id) diff --git a/packages/modules/devices/discovergy/discovergy/inverter.py b/packages/modules/devices/discovergy/discovergy/inverter.py index 5d87500897..82a3253493 100644 --- a/packages/modules/devices/discovergy/discovergy/inverter.py +++ b/packages/modules/devices/discovergy/discovergy/inverter.py @@ -8,6 +8,7 @@ from modules.common.utils.peak_filter import PeakFilter from modules.devices.discovergy.discovergy import api from modules.devices.discovergy.discovergy.config import DiscovergyInverterSetup +from modules.common.component_type import ComponentType class DiscovergyInverter(AbstractInverter): @@ -17,7 +18,7 @@ def __init__(self, component_config: DiscovergyInverterSetup) -> None: def initialize(self) -> None: self.store = get_inverter_value_store(self.component_config.id) self.fault_state = FaultState(ComponentInfo.from_component_config(self.component_config)) - self.peak_filter = PeakFilter("inverter", self.component_config.id, self.fault_state) + self.peak_filter = PeakFilter(ComponentType.INVERTER, self.component_config.id, self.fault_state) def update(self, session: Session): reading = api.get_last_reading(session, self.component_config.configuration.meter_id) diff --git a/packages/modules/devices/e3dc/e3dc/bat.py b/packages/modules/devices/e3dc/e3dc/bat.py index 834dfbc7da..18d290671c 100644 --- a/packages/modules/devices/e3dc/e3dc/bat.py +++ b/packages/modules/devices/e3dc/e3dc/bat.py @@ -11,6 +11,7 @@ from modules.common.simcount._simcounter import SimCounter from modules.common.utils.peak_filter import PeakFilter from modules.devices.e3dc.e3dc.config import E3dcBatSetup +from modules.common.component_type import ComponentType log = logging.getLogger(__name__) @@ -40,7 +41,7 @@ def initialize(self) -> None: self.client: modbus.ModbusTcpClient_ = self.kwargs['client'] self.store = get_bat_value_store(self.component_config.id) self.fault_state = FaultState(ComponentInfo.from_component_config(self.component_config)) - self.peak_filter = PeakFilter("bat", self.component_config.id, self.fault_state) + self.peak_filter = PeakFilter(ComponentType.BAT, self.component_config.id, self.fault_state) self.sim_counter = SimCounter(self.__device_id, self.component_config.id, prefix="speicher") def update(self) -> None: diff --git a/packages/modules/devices/e3dc/e3dc/counter.py b/packages/modules/devices/e3dc/e3dc/counter.py index d7874343a7..f58ff196dd 100644 --- a/packages/modules/devices/e3dc/e3dc/counter.py +++ b/packages/modules/devices/e3dc/e3dc/counter.py @@ -12,6 +12,7 @@ from modules.common.modbus import ModbusDataType from modules.common.store import get_counter_value_store from modules.devices.e3dc.e3dc.config import E3dcCounterSetup +from modules.common.component_type import ComponentType log = logging.getLogger(__name__) @@ -58,7 +59,7 @@ def initialize(self) -> None: self.client: modbus.ModbusTcpClient_ = self.kwargs['client'] self.store = get_counter_value_store(self.component_config.id) self.fault_state = FaultState(ComponentInfo.from_component_config(self.component_config)) - self.peak_filter = PeakFilter("counter", self.component_config.id, self.fault_state) + self.peak_filter = PeakFilter(ComponentType.COUNTER, self.component_config.id, self.fault_state) self.sim_counter = SimCounter(self.__device_id, self.component_config.id, prefix="bezug") def update(self) -> None: diff --git a/packages/modules/devices/e3dc/e3dc/external_inverter.py b/packages/modules/devices/e3dc/e3dc/external_inverter.py index 87e1e45233..93c8955271 100644 --- a/packages/modules/devices/e3dc/e3dc/external_inverter.py +++ b/packages/modules/devices/e3dc/e3dc/external_inverter.py @@ -11,6 +11,8 @@ from modules.common.store import get_inverter_value_store from modules.common.simcount._simcounter import SimCounter from modules.devices.e3dc.e3dc.config import E3dcExternalInverterSetup +from modules.common.utils.peak_filter import PeakFilter +from modules.common.component_type import ComponentType log = logging.getLogger(__name__) @@ -39,6 +41,7 @@ def initialize(self) -> None: self.sim_counter = SimCounter(self.__device_id, self.component_config.id, prefix="pv") self.store = get_inverter_value_store(self.component_config.id) self.fault_state = FaultState(ComponentInfo.from_component_config(self.component_config)) + self.peak_filter = PeakFilter(ComponentType.INVERTER, self.component_config.id, self.fault_state) def update(self) -> None: pv_external = read_external_inverter(self.client, self.__modbus_id) @@ -46,6 +49,7 @@ def update(self) -> None: # die als externe Produktion an e3dc angeschlossen ist # Im gegensatz zur Implementierung in Version 1.9 wird nicht mehr die PV # Leistung vom WR1 gelesen, da die durch v2.0 separat gehandelt wird + self.peak_filter.check_values(pv_external) _, pv_exported = self.sim_counter.sim_count(pv_external) inverter_state = InverterState( power=pv_external, diff --git a/packages/modules/devices/e3dc/e3dc/inverter.py b/packages/modules/devices/e3dc/e3dc/inverter.py index 307a6f3370..25249f49ca 100644 --- a/packages/modules/devices/e3dc/e3dc/inverter.py +++ b/packages/modules/devices/e3dc/e3dc/inverter.py @@ -12,6 +12,7 @@ from modules.common.simcount._simcounter import SimCounter from modules.common.utils.peak_filter import PeakFilter from modules.devices.e3dc.e3dc.config import E3dcInverterSetup +from modules.common.component_type import ComponentType log = logging.getLogger(__name__) @@ -38,7 +39,7 @@ def initialize(self) -> None: self.client: modbus.ModbusTcpClient_ = self.kwargs['client'] self.store = get_inverter_value_store(self.component_config.id) self.fault_state = FaultState(ComponentInfo.from_component_config(self.component_config)) - self.peak_filter = PeakFilter("inverter", self.component_config.id, self.fault_state) + self.peak_filter = PeakFilter(ComponentType.INVERTER, self.component_config.id, self.fault_state) self.sim_counter = SimCounter(self.__device_id, self.component_config.id, prefix="pv") def update(self) -> None: diff --git a/packages/modules/devices/elgris/elgris/bat.py b/packages/modules/devices/elgris/elgris/bat.py index 9b29191c1e..08eb4f47c7 100644 --- a/packages/modules/devices/elgris/elgris/bat.py +++ b/packages/modules/devices/elgris/elgris/bat.py @@ -10,6 +10,7 @@ from modules.common.fault_state import ComponentInfo, FaultState from modules.common.store import get_bat_value_store from modules.common.utils.peak_filter import PeakFilter +from modules.common.component_type import ComponentType class KwargsDict(TypedDict): @@ -26,7 +27,7 @@ def initialize(self) -> None: self.__tcp_client: modbus.ModbusTcpClient_ = self.kwargs['tcp_client'] self.__modbus_id: int = self.kwargs['modbus_id'] self.fault_state = FaultState(ComponentInfo.from_component_config(self.component_config)) - self.peak_filter = PeakFilter("bat", self.component_config.id, self.fault_state) + self.peak_filter = PeakFilter(ComponentType.BAT, self.component_config.id, self.fault_state) self.elgris = Elgris(self.__modbus_id, self.__tcp_client, self.fault_state) self.store = get_bat_value_store(self.component_config.id) diff --git a/packages/modules/devices/elgris/elgris/counter.py b/packages/modules/devices/elgris/elgris/counter.py index fe19e30fee..e6c38d885c 100644 --- a/packages/modules/devices/elgris/elgris/counter.py +++ b/packages/modules/devices/elgris/elgris/counter.py @@ -9,6 +9,7 @@ from modules.common.fault_state import ComponentInfo, FaultState from modules.common.utils.peak_filter import PeakFilter from modules.common.store import get_counter_value_store +from modules.common.component_type import ComponentType class KwargsDict(TypedDict): @@ -25,7 +26,7 @@ def initialize(self) -> None: self.__tcp_client: modbus.ModbusTcpClient_ = self.kwargs['tcp_client'] self.__modbus_id: int = self.kwargs['modbus_id'] self.fault_state = FaultState(ComponentInfo.from_component_config(self.component_config)) - self.peak_filter = PeakFilter("counter", self.component_config.id, self.fault_state) + self.peak_filter = PeakFilter(ComponentType.COUNTER, self.component_config.id, self.fault_state) self.elgris = Elgris(self.__modbus_id, self.__tcp_client, self.fault_state) self.store = get_counter_value_store(self.component_config.id) diff --git a/packages/modules/devices/elgris/elgris/inverter.py b/packages/modules/devices/elgris/elgris/inverter.py index dac9a0775c..f9fc0198e9 100644 --- a/packages/modules/devices/elgris/elgris/inverter.py +++ b/packages/modules/devices/elgris/elgris/inverter.py @@ -10,6 +10,7 @@ from modules.common.component_type import ComponentDescriptor from modules.common.fault_state import ComponentInfo, FaultState from modules.common.utils.peak_filter import PeakFilter +from modules.common.component_type import ComponentType class KwargsDict(TypedDict): @@ -26,7 +27,7 @@ def initialize(self) -> None: self.__tcp_client: modbus.ModbusTcpClient_ = self.kwargs['tcp_client'] self.__modbus_id: int = self.kwargs['modbus_id'] self.fault_state = FaultState(ComponentInfo.from_component_config(self.component_config)) - self.peak_filter = PeakFilter("inverter", self.component_config.id, self.fault_state) + self.peak_filter = PeakFilter(ComponentType.INVERTER, self.component_config.id, self.fault_state) self.elgris = Elgris(self.__modbus_id, self.__tcp_client, self.fault_state) self.store = get_inverter_value_store(self.component_config.id) diff --git a/packages/modules/devices/enphase/enphase/bat.py b/packages/modules/devices/enphase/enphase/bat.py index 1c704baf01..aa37480d1d 100644 --- a/packages/modules/devices/enphase/enphase/bat.py +++ b/packages/modules/devices/enphase/enphase/bat.py @@ -10,6 +10,7 @@ from modules.common.simcount import SimCounter from modules.common.utils.peak_filter import PeakFilter from modules.devices.enphase.enphase.config import EnphaseBatSetup +from modules.common.component_type import ComponentType log = logging.getLogger(__name__) @@ -27,7 +28,7 @@ def initialize(self) -> None: self.__device_id: int = self.kwargs['device_id'] self.store = get_bat_value_store(self.component_config.id) self.fault_state = FaultState(ComponentInfo.from_component_config(self.component_config)) - self.peak_filter = PeakFilter("bat", self.component_config.id, self.fault_state) + self.peak_filter = PeakFilter(ComponentType.BAT, self.component_config.id, self.fault_state) self.sim_counter = SimCounter(self.__device_id, self.component_config.id, prefix="speicher") def update(self, response, live_data: Optional[Dict[str, Any]] = None) -> None: diff --git a/packages/modules/devices/enphase/enphase/counter.py b/packages/modules/devices/enphase/enphase/counter.py index 6ae2dd04d5..29262e649b 100644 --- a/packages/modules/devices/enphase/enphase/counter.py +++ b/packages/modules/devices/enphase/enphase/counter.py @@ -9,6 +9,7 @@ from modules.common.utils.peak_filter import PeakFilter from modules.common.store import get_counter_value_store from modules.devices.enphase.enphase.config import EnphaseCounterSetup +from modules.common.component_type import ComponentType log = logging.getLogger(__name__) @@ -20,7 +21,7 @@ def __init__(self, component_config: EnphaseCounterSetup) -> None: def initialize(self) -> None: self.store = get_counter_value_store(self.component_config.id) self.fault_state = FaultState(ComponentInfo.from_component_config(self.component_config)) - self.peak_filter = PeakFilter("counter", self.component_config.id, self.fault_state) + self.peak_filter = PeakFilter(ComponentType.COUNTER, self.component_config.id, self.fault_state) def update(self, response: Dict[str, Any], live_data): meter = None diff --git a/packages/modules/devices/enphase/enphase/inverter.py b/packages/modules/devices/enphase/enphase/inverter.py index 216fa9c097..1db73f7e0e 100644 --- a/packages/modules/devices/enphase/enphase/inverter.py +++ b/packages/modules/devices/enphase/enphase/inverter.py @@ -9,6 +9,7 @@ from modules.common.utils.peak_filter import PeakFilter from modules.common.store import get_inverter_value_store from modules.devices.enphase.enphase.config import EnphaseInverterSetup +from modules.common.component_type import ComponentType log = logging.getLogger(__name__) @@ -20,7 +21,7 @@ def __init__(self, component_config: EnphaseInverterSetup) -> None: def initialize(self) -> None: self.store = get_inverter_value_store(self.component_config.id) self.fault_state = FaultState(ComponentInfo.from_component_config(self.component_config)) - self.peak_filter = PeakFilter("inverter", self.component_config.id, self.fault_state) + self.peak_filter = PeakFilter(ComponentType.INVERTER, self.component_config.id, self.fault_state) def update(self, response: Dict[str, Any], live_data) -> None: meter = None diff --git a/packages/modules/devices/fems/fems/bat.py b/packages/modules/devices/fems/fems/bat.py index 44c84983d0..f768b42efd 100644 --- a/packages/modules/devices/fems/fems/bat.py +++ b/packages/modules/devices/fems/fems/bat.py @@ -10,6 +10,7 @@ from modules.common.utils.peak_filter import PeakFilter from modules.devices.fems.fems.version import FemsVersion, get_version from helpermodules.scale_metric import scale_metric +from modules.common.component_type import ComponentType log = logging.getLogger(__name__) @@ -29,7 +30,7 @@ def initialize(self) -> None: self.session: Session = self.kwargs['session'] self.store = get_bat_value_store(self.component_config.id) self.fault_state = FaultState(ComponentInfo.from_component_config(self.component_config)) - self.peak_filter = PeakFilter("bat", self.component_config.id, self.fault_state) + self.peak_filter = PeakFilter(ComponentType.BAT, self.component_config.id, self.fault_state) if self.component_config.configuration.num == 1: self._data = "ess0" else: diff --git a/packages/modules/devices/fems/fems/counter.py b/packages/modules/devices/fems/fems/counter.py index f1b7723de2..6828f61b9f 100644 --- a/packages/modules/devices/fems/fems/counter.py +++ b/packages/modules/devices/fems/fems/counter.py @@ -11,6 +11,7 @@ from modules.common.utils.peak_filter import PeakFilter from modules.common.store import get_counter_value_store from modules.devices.fems.fems.version import FemsVersion, get_version +from modules.common.component_type import ComponentType log = logging.getLogger(__name__) @@ -30,7 +31,7 @@ def initialize(self) -> None: self.session: Session = self.kwargs['session'] self.store = get_counter_value_store(self.component_config.id) self.fault_state = FaultState(ComponentInfo.from_component_config(self.component_config)) - self.peak_filter = PeakFilter("counter", self.component_config.id, self.fault_state) + self.peak_filter = PeakFilter(ComponentType.COUNTER, self.component_config.id, self.fault_state) self.version = get_version(self.get_data_by_multiple_segement_regex_query) log.debug(f"{self.component_config.name} unterstützt {self.version.value}") diff --git a/packages/modules/devices/fems/fems/inverter.py b/packages/modules/devices/fems/fems/inverter.py index 5d2f17e0db..a875ef6cf9 100644 --- a/packages/modules/devices/fems/fems/inverter.py +++ b/packages/modules/devices/fems/fems/inverter.py @@ -10,6 +10,7 @@ from modules.common.utils.peak_filter import PeakFilter from modules.common.store import get_inverter_value_store from modules.devices.fems.fems.version import FemsVersion, get_version +from modules.common.component_type import ComponentType log = logging.getLogger(__name__) @@ -29,7 +30,7 @@ def initialize(self) -> None: self.session: Session = self.kwargs['session'] self.store = get_inverter_value_store(self.component_config.id) self.fault_state = FaultState(ComponentInfo.from_component_config(self.component_config)) - self.peak_filter = PeakFilter("inverter", self.component_config.id, self.fault_state) + self.peak_filter = PeakFilter(ComponentType.INVERTER, self.component_config.id, self.fault_state) self.version = get_version(self.get_data_by_multiple_segement_regex_query) log.debug(f"{self.component_config.name} unterstützt {self.version.value}") diff --git a/packages/modules/devices/fox_ess/fox_ess/bat.py b/packages/modules/devices/fox_ess/fox_ess/bat.py index 8c8de18283..408fa44e44 100644 --- a/packages/modules/devices/fox_ess/fox_ess/bat.py +++ b/packages/modules/devices/fox_ess/fox_ess/bat.py @@ -9,6 +9,7 @@ from modules.common.store import get_bat_value_store from modules.common.utils.peak_filter import PeakFilter from modules.devices.fox_ess.fox_ess.config import FoxEssBatSetup +from modules.common.component_type import ComponentType log = logging.getLogger(__name__) @@ -26,7 +27,7 @@ def initialize(self) -> None: self.client: ModbusTcpClient_ = self.kwargs['client'] self.store = get_bat_value_store(self.component_config.id) self.fault_state = FaultState(ComponentInfo.from_component_config(self.component_config)) - self.peak_filter = PeakFilter("bat", self.component_config.id, self.fault_state) + self.peak_filter = PeakFilter(ComponentType.BAT, self.component_config.id, self.fault_state) def update(self) -> None: unit = self.component_config.configuration.modbus_id diff --git a/packages/modules/devices/fox_ess/fox_ess/counter.py b/packages/modules/devices/fox_ess/fox_ess/counter.py index 16d57f8922..e600ce8f13 100644 --- a/packages/modules/devices/fox_ess/fox_ess/counter.py +++ b/packages/modules/devices/fox_ess/fox_ess/counter.py @@ -7,6 +7,7 @@ from modules.common.component_state import CounterState from modules.common.component_type import ComponentDescriptor from typing import TypedDict, Any +from modules.common.component_type import ComponentType class KwargsDict(TypedDict): @@ -22,7 +23,7 @@ def initialize(self) -> None: self.client: ModbusTcpClient_ = self.kwargs['client'] self.store = get_counter_value_store(self.component_config.id) self.fault_state = FaultState(ComponentInfo.from_component_config(self.component_config)) - self.peak_filter = PeakFilter("counter", self.component_config.id, self.fault_state) + self.peak_filter = PeakFilter(ComponentType.COUNTER, self.component_config.id, self.fault_state) def update(self) -> None: unit = self.component_config.configuration.modbus_id diff --git a/packages/modules/devices/fox_ess/fox_ess/inverter.py b/packages/modules/devices/fox_ess/fox_ess/inverter.py index 03e5b1b66e..d64265aed4 100644 --- a/packages/modules/devices/fox_ess/fox_ess/inverter.py +++ b/packages/modules/devices/fox_ess/fox_ess/inverter.py @@ -9,6 +9,7 @@ from modules.common.modbus import ModbusDataType, ModbusTcpClient_ from modules.common.store import get_inverter_value_store from modules.devices.fox_ess.fox_ess.config import FoxEssInverterSetup +from modules.common.component_type import ComponentType class KwargsDict(TypedDict): @@ -24,7 +25,7 @@ def initialize(self) -> None: self.client: ModbusTcpClient_ = self.kwargs['client'] self.store = get_inverter_value_store(self.component_config.id) self.fault_state = FaultState(ComponentInfo.from_component_config(self.component_config)) - self.peak_filter = PeakFilter("inverter", self.component_config.id, self.fault_state) + self.peak_filter = PeakFilter(ComponentType.INVERTER, self.component_config.id, self.fault_state) def update(self) -> None: unit = self.component_config.configuration.modbus_id diff --git a/packages/modules/devices/fronius/fronius/bat.py b/packages/modules/devices/fronius/fronius/bat.py index fb965e9b1d..64a8307cc9 100644 --- a/packages/modules/devices/fronius/fronius/bat.py +++ b/packages/modules/devices/fronius/fronius/bat.py @@ -11,6 +11,7 @@ from modules.devices.fronius.fronius.config import FroniusBatSetup from modules.devices.fronius.fronius.config import FroniusConfiguration from modules.common.utils.peak_filter import PeakFilter +from modules.common.component_type import ComponentType class KwargsDict(TypedDict): @@ -29,7 +30,7 @@ def initialize(self) -> None: self.sim_counter = SimCounter(self.__device_id, self.component_config.id, prefix="speicher") self.store = get_bat_value_store(self.component_config.id) self.fault_state = FaultState(ComponentInfo.from_component_config(self.component_config)) - self.peak_filter = PeakFilter("bat", self.component_config.id, self.fault_state) + self.peak_filter = PeakFilter(ComponentType.BAT, self.component_config.id, self.fault_state) def update(self) -> None: meter_id = str(self.component_config.configuration.meter_id) diff --git a/packages/modules/devices/fronius/fronius/counter_s0.py b/packages/modules/devices/fronius/fronius/counter_s0.py index 1fd3893865..aced285762 100644 --- a/packages/modules/devices/fronius/fronius/counter_s0.py +++ b/packages/modules/devices/fronius/fronius/counter_s0.py @@ -10,6 +10,7 @@ from modules.common.store import get_counter_value_store from modules.devices.fronius.fronius.config import FroniusConfiguration, FroniusS0CounterSetup from modules.common.utils.peak_filter import PeakFilter +from modules.common.component_type import ComponentType class KwargsDict(TypedDict): @@ -28,7 +29,7 @@ def initialize(self) -> None: self.sim_counter = SimCounter(self.__device_id, self.component_config.id, prefix="bezug") self.store = get_counter_value_store(self.component_config.id) self.fault_state = FaultState(ComponentInfo.from_component_config(self.component_config)) - self.peak_filter = PeakFilter("counter", self.component_config.id, self.fault_state) + self.peak_filter = PeakFilter(ComponentType.COUNTER, self.component_config.id, self.fault_state) def update(self) -> None: session = req.get_http_session() diff --git a/packages/modules/devices/fronius/fronius/counter_sm.py b/packages/modules/devices/fronius/fronius/counter_sm.py index 82727c9620..bd868175c7 100644 --- a/packages/modules/devices/fronius/fronius/counter_sm.py +++ b/packages/modules/devices/fronius/fronius/counter_sm.py @@ -14,6 +14,7 @@ from modules.devices.fronius.fronius.config import FroniusConfiguration, MeterLocation from modules.devices.fronius.fronius.config import FroniusSmCounterSetup from modules.common.utils.peak_filter import PeakFilter +from modules.common.component_type import ComponentType log = logging.getLogger(__name__) @@ -34,7 +35,7 @@ def initialize(self) -> None: self.sim_counter = SimCounter(self.__device_id, self.component_config.id, prefix="bezug") self.store = get_counter_value_store(self.component_config.id) self.fault_state = FaultState(ComponentInfo.from_component_config(self.component_config)) - self.peak_filter = PeakFilter("counter", self.component_config.id, self.fault_state) + self.peak_filter = PeakFilter(ComponentType.COUNTER, self.component_config.id, self.fault_state) def update(self) -> None: session = req.get_http_session() diff --git a/packages/modules/devices/fronius/fronius/inverter.py b/packages/modules/devices/fronius/fronius/inverter.py index eb261e3381..731a2d2aed 100644 --- a/packages/modules/devices/fronius/fronius/inverter.py +++ b/packages/modules/devices/fronius/fronius/inverter.py @@ -9,6 +9,7 @@ from modules.common.store import get_inverter_value_store from modules.devices.fronius.fronius.config import FroniusInverterSetup from modules.common.utils.peak_filter import PeakFilter +from modules.common.component_type import ComponentType class KwargsDict(TypedDict): @@ -25,7 +26,7 @@ def initialize(self) -> None: self.sim_counter = SimCounter(self.__device_id, self.component_config.id, prefix="pv") self.store = get_inverter_value_store(self.component_config.id) self.fault_state = FaultState(ComponentInfo.from_component_config(self.component_config)) - self.peak_filter = PeakFilter("inverter", self.component_config.id, self.fault_state) + self.peak_filter = PeakFilter(ComponentType.INVERTER, self.component_config.id, self.fault_state) def update(self, response: Dict) -> None: # Rückgabewert ist die aktuelle Wirkleistung in [W]. diff --git a/packages/modules/devices/fronius/fronius/inverter_production_meter.py b/packages/modules/devices/fronius/fronius/inverter_production_meter.py index 4d23f28f96..85ec52203d 100644 --- a/packages/modules/devices/fronius/fronius/inverter_production_meter.py +++ b/packages/modules/devices/fronius/fronius/inverter_production_meter.py @@ -14,6 +14,7 @@ from modules.devices.fronius.fronius.config import FroniusConfiguration, MeterLocation from modules.devices.fronius.fronius.config import FroniusProductionMeterSetup from modules.common.utils.peak_filter import PeakFilter +from modules.common.component_type import ComponentType log = logging.getLogger(__name__) @@ -34,7 +35,7 @@ def initialize(self) -> None: self.sim_counter = SimCounter(self.__device_id, self.component_config.id, prefix="pv") self.store = get_inverter_value_store(self.component_config.id) self.fault_state = FaultState(ComponentInfo.from_component_config(self.component_config)) - self.peak_filter = PeakFilter("inverter", self.component_config.id, self.fault_state) + self.peak_filter = PeakFilter(ComponentType.INVERTER, self.component_config.id, self.fault_state) def update(self) -> None: session = req.get_http_session() diff --git a/packages/modules/devices/fronius/fronius/inverter_secondary.py b/packages/modules/devices/fronius/fronius/inverter_secondary.py index 6e1a6b334b..38ea51385b 100644 --- a/packages/modules/devices/fronius/fronius/inverter_secondary.py +++ b/packages/modules/devices/fronius/fronius/inverter_secondary.py @@ -9,6 +9,7 @@ from modules.common.store import get_inverter_value_store from modules.devices.fronius.fronius.config import FroniusSecondaryInverterSetup from modules.common.utils.peak_filter import PeakFilter +from modules.common.component_type import ComponentType class KwargsDict(TypedDict): @@ -25,7 +26,7 @@ def initialize(self) -> None: self.sim_counter = SimCounter(self.__device_id, self.component_config.id, prefix="pv") self.store = get_inverter_value_store(self.component_config.id) self.fault_state = FaultState(ComponentInfo.from_component_config(self.component_config)) - self.peak_filter = PeakFilter("inverter", self.component_config.id, self.fault_state) + self.peak_filter = PeakFilter(ComponentType.INVERTER, self.component_config.id, self.fault_state) def update(self, response: Dict) -> None: # Rückgabewert ist die aktuelle Wirkleistung in [W]. diff --git a/packages/modules/devices/generic/http/bat.py b/packages/modules/devices/generic/http/bat.py index 4d6ed07850..72b4343f66 100644 --- a/packages/modules/devices/generic/http/bat.py +++ b/packages/modules/devices/generic/http/bat.py @@ -12,6 +12,7 @@ from modules.devices.generic.http.api import create_request_function, create_request_function_array from modules.devices.generic.http.config import HttpBatSetup from modules.common.utils.peak_filter import PeakFilter +from modules.common.component_type import ComponentType class KwargsDict(TypedDict): @@ -29,7 +30,7 @@ def initialize(self) -> None: self.sim_counter = SimCounter(self.__device_id, self.component_config.id, prefix="speicher") self.store = get_bat_value_store(self.component_config.id) self.fault_state = FaultState(ComponentInfo.from_component_config(self.component_config)) - self.peak_filter = PeakFilter("bat", self.component_config.id, self.fault_state) + self.peak_filter = PeakFilter(ComponentType.BAT, self.component_config.id, self.fault_state) self.__get_currents = create_request_function_array(self.kwargs['url'], [ self.component_config.configuration.current_l1_path, diff --git a/packages/modules/devices/generic/http/counter.py b/packages/modules/devices/generic/http/counter.py index d617179ec9..45633ec0cc 100644 --- a/packages/modules/devices/generic/http/counter.py +++ b/packages/modules/devices/generic/http/counter.py @@ -12,6 +12,7 @@ from modules.devices.generic.http.api import create_request_function, create_request_function_array from modules.devices.generic.http.config import HttpCounterSetup from modules.common.utils.peak_filter import PeakFilter +from modules.common.component_type import ComponentType class KwargsDict(TypedDict): @@ -30,7 +31,7 @@ def initialize(self) -> None: self.sim_counter = SimCounter(self.__device_id, self.component_config.id, prefix="bezug") self.store = get_counter_value_store(self.component_config.id) self.fault_state = FaultState(ComponentInfo.from_component_config(self.component_config)) - self.peak_filter = PeakFilter("counter", self.component_config.id, self.fault_state) + self.peak_filter = PeakFilter(ComponentType.COUNTER, self.component_config.id, self.fault_state) self.__get_power = create_request_function(self.url, self.component_config.configuration.power_path) self.__get_imported = create_request_function(self.url, self.component_config.configuration.imported_path) diff --git a/packages/modules/devices/generic/http/inverter.py b/packages/modules/devices/generic/http/inverter.py index 085e38610f..b54734d824 100644 --- a/packages/modules/devices/generic/http/inverter.py +++ b/packages/modules/devices/generic/http/inverter.py @@ -13,6 +13,7 @@ from modules.devices.generic.http.api import create_request_function from modules.devices.generic.http.config import HttpInverterSetup from modules.common.utils.peak_filter import PeakFilter +from modules.common.component_type import ComponentType class KwargsDict(TypedDict): @@ -31,7 +32,7 @@ def initialize(self) -> None: self.sim_counter = SimCounter(self.__device_id, self.component_config.id, prefix="pv") self.store = get_inverter_value_store(self.component_config.id) self.fault_state = FaultState(ComponentInfo.from_component_config(self.component_config)) - self.peak_filter = PeakFilter("inverter", self.component_config.id, self.fault_state) + self.peak_filter = PeakFilter(ComponentType.INVERTER, self.component_config.id, self.fault_state) self.__get_power = create_request_function(self.url, self.component_config.configuration.power_path) self.__get_exported = create_request_function(self.url, self.component_config.configuration.exported_path) diff --git a/packages/modules/devices/generic/json/bat.py b/packages/modules/devices/generic/json/bat.py index b9ccc6705a..4f92820ae0 100644 --- a/packages/modules/devices/generic/json/bat.py +++ b/packages/modules/devices/generic/json/bat.py @@ -10,6 +10,7 @@ from modules.common.store import get_bat_value_store from modules.devices.generic.json.config import JsonBatSetup from modules.common.utils.peak_filter import PeakFilter +from modules.common.component_type import ComponentType class KwargsDict(TypedDict): @@ -35,7 +36,7 @@ def initialize(self) -> None: self.store = get_bat_value_store(self.component_config.id) self._compile_jq_filters() self.fault_state = FaultState(ComponentInfo.from_component_config(self.component_config)) - self.peak_filter = PeakFilter("bat", self.component_config.id, self.fault_state) + self.peak_filter = PeakFilter(ComponentType.BAT, self.component_config.id, self.fault_state) def update(self, response) -> None: currents = ( diff --git a/packages/modules/devices/generic/json/counter.py b/packages/modules/devices/generic/json/counter.py index b54108390b..1966d107f6 100644 --- a/packages/modules/devices/generic/json/counter.py +++ b/packages/modules/devices/generic/json/counter.py @@ -10,6 +10,7 @@ from modules.common.store import get_counter_value_store from modules.devices.generic.json.config import JsonCounterSetup from modules.common.utils.peak_filter import PeakFilter +from modules.common.component_type import ComponentType class KwargsDict(TypedDict): @@ -38,7 +39,7 @@ def initialize(self) -> None: self.store = get_counter_value_store(self.component_config.id) self._compile_jq_filters() self.fault_state = FaultState(ComponentInfo.from_component_config(self.component_config)) - self.peak_filter = PeakFilter("counter", self.component_config.id, self.fault_state) + self.peak_filter = PeakFilter(ComponentType.COUNTER, self.component_config.id, self.fault_state) def update(self, response) -> None: power = float(self.jq_power.input(response).first()) diff --git a/packages/modules/devices/generic/json/inverter.py b/packages/modules/devices/generic/json/inverter.py index b182f82ee3..0f8bffe7a1 100644 --- a/packages/modules/devices/generic/json/inverter.py +++ b/packages/modules/devices/generic/json/inverter.py @@ -10,6 +10,7 @@ from modules.common.store import get_inverter_value_store from modules.devices.generic.json.config import JsonInverterSetup from modules.common.utils.peak_filter import PeakFilter +from modules.common.component_type import ComponentType class KwargsDict(TypedDict): @@ -33,7 +34,7 @@ def initialize(self) -> None: self.store = get_inverter_value_store(self.component_config.id) self._compile_jq_filters() self.fault_state = FaultState(ComponentInfo.from_component_config(self.component_config)) - self.peak_filter = PeakFilter("inverter", self.component_config.id, self.fault_state) + self.peak_filter = PeakFilter(ComponentType.INVERTER, self.component_config.id, self.fault_state) def update(self, response) -> None: power = float(self.jq_power.input(response).first()) diff --git a/packages/modules/devices/generic/mqtt/bat.py b/packages/modules/devices/generic/mqtt/bat.py index dc21bf07c5..c4df5073af 100644 --- a/packages/modules/devices/generic/mqtt/bat.py +++ b/packages/modules/devices/generic/mqtt/bat.py @@ -11,6 +11,7 @@ from modules.common.store._battery import get_bat_value_store from modules.devices.generic.mqtt.config import MqttBatSetup from modules.common.utils.peak_filter import PeakFilter +from modules.common.component_type import ComponentType class KwargsDict(TypedDict): @@ -25,7 +26,7 @@ def __init__(self, component_config: MqttBatSetup, **kwargs: Any) -> None: def initialize(self) -> None: self.fault_state = FaultState(ComponentInfo.from_component_config(self.component_config)) self.sim_counter = SimCounter(self.kwargs['device_id'], self.component_config.id, prefix="bat") - self.peak_filter = PeakFilter("bat", self.component_config.id, self.fault_state) + self.peak_filter = PeakFilter(ComponentType.BAT, self.component_config.id, self.fault_state) self.store = get_bat_value_store(self.component_config.id) def update(self, received_topics: Dict) -> None: diff --git a/packages/modules/devices/generic/mqtt/counter.py b/packages/modules/devices/generic/mqtt/counter.py index 050f3163b3..813b2358d1 100644 --- a/packages/modules/devices/generic/mqtt/counter.py +++ b/packages/modules/devices/generic/mqtt/counter.py @@ -10,6 +10,7 @@ from modules.common.store._counter import get_counter_value_store from modules.devices.generic.mqtt.config import MqttCounterSetup from modules.common.utils.peak_filter import PeakFilter +from modules.common.component_type import ComponentType class KwargsDict(TypedDict): @@ -24,7 +25,7 @@ def __init__(self, component_config: MqttCounterSetup, **kwargs: Any) -> None: def initialize(self) -> None: self.fault_state = FaultState(ComponentInfo.from_component_config(self.component_config)) self.sim_counter = SimCounter(self.kwargs['device_id'], self.component_config.id, prefix="bezug") - self.peak_filter = PeakFilter("counter", self.component_config.id, self.fault_state) + self.peak_filter = PeakFilter(ComponentType.COUNTER, self.component_config.id, self.fault_state) self.store = get_counter_value_store(self.component_config.id) def update(self, received_topics: Dict) -> None: diff --git a/packages/modules/devices/generic/mqtt/inverter.py b/packages/modules/devices/generic/mqtt/inverter.py index c191a35e90..c17ce5e59a 100644 --- a/packages/modules/devices/generic/mqtt/inverter.py +++ b/packages/modules/devices/generic/mqtt/inverter.py @@ -10,6 +10,7 @@ from modules.common.store._inverter import get_inverter_value_store from modules.devices.generic.mqtt.config import MqttInverterSetup from modules.common.utils.peak_filter import PeakFilter +from modules.common.component_type import ComponentType class KwargsDict(TypedDict): @@ -24,7 +25,7 @@ def __init__(self, component_config: MqttInverterSetup, **kwargs: Any) -> None: def initialize(self) -> None: self.fault_state = FaultState(ComponentInfo.from_component_config(self.component_config)) self.sim_counter = SimCounter(self.kwargs['device_id'], self.component_config.id, prefix="pv") - self.peak_filter = PeakFilter("inverter", self.component_config.id, self.fault_state) + self.peak_filter = PeakFilter(ComponentType.INVERTER, self.component_config.id, self.fault_state) self.store = get_inverter_value_store(self.component_config.id) def update(self, received_topics: Dict) -> None: diff --git a/packages/modules/devices/good_we/good_we/bat.py b/packages/modules/devices/good_we/good_we/bat.py index fd9f41050d..de31002305 100644 --- a/packages/modules/devices/good_we/good_we/bat.py +++ b/packages/modules/devices/good_we/good_we/bat.py @@ -13,6 +13,7 @@ from modules.devices.good_we.good_we.config import GoodWeBatSetup from modules.devices.good_we.good_we.version import GoodWeVersion from modules.common.utils.peak_filter import PeakFilter +from modules.common.component_type import ComponentType log = logging.getLogger(__name__) @@ -39,7 +40,7 @@ def initialize(self) -> None: self.sim_counter = SimCounter(self.__device_id, self.component_config.id, prefix="speicher") self.store = get_bat_value_store(self.component_config.id) self.fault_state = FaultState(ComponentInfo.from_component_config(self.component_config)) - self.peak_filter = PeakFilter("bat", self.component_config.id, self.fault_state) + self.peak_filter = PeakFilter(ComponentType.BAT, self.component_config.id, self.fault_state) self.last_mode = 'Undefined' def update(self) -> None: diff --git a/packages/modules/devices/good_we/good_we/counter.py b/packages/modules/devices/good_we/good_we/counter.py index a91535f600..f8fa2f4691 100644 --- a/packages/modules/devices/good_we/good_we/counter.py +++ b/packages/modules/devices/good_we/good_we/counter.py @@ -12,6 +12,7 @@ from modules.common.store import get_counter_value_store from modules.devices.good_we.good_we.config import GoodWeCounterSetup from modules.devices.good_we.good_we.version import GoodWeVersion +from modules.common.component_type import ComponentType class KwargsDict(TypedDict): @@ -35,7 +36,7 @@ def initialize(self) -> None: self.sim_counter = SimCounter(self.kwargs['device_id'], self.component_config.id, prefix="bezug") self.store = get_counter_value_store(self.component_config.id) self.fault_state = FaultState(ComponentInfo.from_component_config(self.component_config)) - self.peak_filter = PeakFilter("counter", self.component_config.id, self.fault_state) + self.peak_filter = PeakFilter(ComponentType.COUNTER, self.component_config.id, self.fault_state) def update(self) -> None: with self.__tcp_client: diff --git a/packages/modules/devices/good_we/good_we/inverter.py b/packages/modules/devices/good_we/good_we/inverter.py index 7da7bf1780..2f77bc943c 100644 --- a/packages/modules/devices/good_we/good_we/inverter.py +++ b/packages/modules/devices/good_we/good_we/inverter.py @@ -11,6 +11,7 @@ from modules.common.store import get_inverter_value_store from modules.devices.good_we.good_we.config import GoodWeInverterSetup from modules.devices.good_we.good_we.version import GoodWeVersion +from modules.common.component_type import ComponentType class KwargsDict(TypedDict): @@ -32,7 +33,7 @@ def initialize(self) -> None: self.__tcp_client: modbus.ModbusTcpClient_ = self.kwargs['client'] self.store = get_inverter_value_store(self.component_config.id) self.fault_state = FaultState(ComponentInfo.from_component_config(self.component_config)) - self.peak_filter = PeakFilter("inverter", self.component_config.id, self.fault_state) + self.peak_filter = PeakFilter(ComponentType.INVERTER, self.component_config.id, self.fault_state) def update(self) -> None: with self.__tcp_client: diff --git a/packages/modules/devices/growatt/growatt/bat.py b/packages/modules/devices/growatt/growatt/bat.py index 58436ae343..6bbf5530ac 100644 --- a/packages/modules/devices/growatt/growatt/bat.py +++ b/packages/modules/devices/growatt/growatt/bat.py @@ -10,6 +10,7 @@ from modules.common.store import get_bat_value_store from modules.devices.growatt.growatt.config import GrowattBatSetup from modules.devices.growatt.growatt.version import GrowattVersion +from modules.common.component_type import ComponentType class KwargsDict(TypedDict): @@ -29,7 +30,7 @@ def initialize(self) -> None: self.client: ModbusTcpClient_ = self.kwargs['client'] self.store = get_bat_value_store(self.component_config.id) self.fault_state = FaultState(ComponentInfo.from_component_config(self.component_config)) - self.peak_filter = PeakFilter("bat", self.component_config.id, self.fault_state) + self.peak_filter = PeakFilter(ComponentType.BAT, self.component_config.id, self.fault_state) def update(self) -> None: if self.version == GrowattVersion.max_series: diff --git a/packages/modules/devices/growatt/growatt/counter.py b/packages/modules/devices/growatt/growatt/counter.py index b3ef9b4f11..ea18aef915 100644 --- a/packages/modules/devices/growatt/growatt/counter.py +++ b/packages/modules/devices/growatt/growatt/counter.py @@ -10,6 +10,7 @@ from modules.common.store import get_counter_value_store from modules.devices.growatt.growatt.config import GrowattCounterSetup from modules.devices.growatt.growatt.version import GrowattVersion +from modules.common.component_type import ComponentType class KwargsDict(TypedDict): @@ -29,7 +30,7 @@ def initialize(self) -> None: self.client: ModbusTcpClient_ = self.kwargs['client'] self.store = get_counter_value_store(self.component_config.id) self.fault_state = FaultState(ComponentInfo.from_component_config(self.component_config)) - self.peak_filter = PeakFilter("counter", self.component_config.id, self.fault_state) + self.peak_filter = PeakFilter(ComponentType.COUNTER, self.component_config.id, self.fault_state) def update(self) -> None: if self.version == GrowattVersion.max_series: diff --git a/packages/modules/devices/growatt/growatt/inverter.py b/packages/modules/devices/growatt/growatt/inverter.py index 93376839e0..bc6da22ace 100644 --- a/packages/modules/devices/growatt/growatt/inverter.py +++ b/packages/modules/devices/growatt/growatt/inverter.py @@ -10,6 +10,7 @@ from modules.common.store import get_inverter_value_store from modules.devices.growatt.growatt.config import GrowattInverterSetup from modules.devices.growatt.growatt.version import GrowattVersion +from modules.common.component_type import ComponentType class KwargsDict(TypedDict): @@ -29,7 +30,7 @@ def initialize(self) -> None: self.client: ModbusTcpClient_ = self.kwargs['client'] self.store = get_inverter_value_store(self.component_config.id) self.fault_state = FaultState(ComponentInfo.from_component_config(self.component_config)) - self.peak_filter = PeakFilter("inverter", self.component_config.id, self.fault_state) + self.peak_filter = PeakFilter(ComponentType.INVERTER, self.component_config.id, self.fault_state) def update(self) -> None: if self.version == GrowattVersion.max_series: diff --git a/packages/modules/devices/huawei/huawei/bat.py b/packages/modules/devices/huawei/huawei/bat.py index 34aa25bfe3..9de263ec72 100644 --- a/packages/modules/devices/huawei/huawei/bat.py +++ b/packages/modules/devices/huawei/huawei/bat.py @@ -12,6 +12,7 @@ from modules.common.store import get_bat_value_store from modules.devices.huawei.huawei.config import HuaweiBatSetup from modules.devices.huawei.huawei.type import HuaweiType +from modules.common.component_type import ComponentType class KwargsDict(TypedDict): @@ -34,7 +35,7 @@ def initialize(self) -> None: self.sim_counter = SimCounter(self.__device_id, self.component_config.id, prefix="speicher") self.store = get_bat_value_store(self.component_config.id) self.fault_state = FaultState(ComponentInfo.from_component_config(self.component_config)) - self.peak_filter = PeakFilter("bat", self.component_config.id, self.fault_state) + self.peak_filter = PeakFilter(ComponentType.BAT, self.component_config.id, self.fault_state) def update(self) -> None: if self.type == HuaweiType.SDongle: diff --git a/packages/modules/devices/huawei/huawei/counter.py b/packages/modules/devices/huawei/huawei/counter.py index 13caccb901..6b6196c9bf 100644 --- a/packages/modules/devices/huawei/huawei/counter.py +++ b/packages/modules/devices/huawei/huawei/counter.py @@ -12,6 +12,7 @@ from modules.common.store import get_counter_value_store from modules.devices.huawei.huawei.config import HuaweiCounterSetup from modules.devices.huawei.huawei.type import HuaweiType +from modules.common.component_type import ComponentType class KwargsDict(TypedDict): @@ -34,7 +35,7 @@ def initialize(self) -> None: self.sim_counter = SimCounter(self.__device_id, self.component_config.id, prefix="bezug") self.store = get_counter_value_store(self.component_config.id) self.fault_state = FaultState(ComponentInfo.from_component_config(self.component_config)) - self.peak_filter = PeakFilter("counter", self.component_config.id, self.fault_state) + self.peak_filter = PeakFilter(ComponentType.COUNTER, self.component_config.id, self.fault_state) def update(self) -> None: if self.type == HuaweiType.SDongle: diff --git a/packages/modules/devices/huawei/huawei/inverter.py b/packages/modules/devices/huawei/huawei/inverter.py index d112bf29f3..d788b50397 100644 --- a/packages/modules/devices/huawei/huawei/inverter.py +++ b/packages/modules/devices/huawei/huawei/inverter.py @@ -12,6 +12,7 @@ from modules.common.store import get_inverter_value_store from modules.devices.huawei.huawei.config import HuaweiInverterSetup from modules.devices.huawei.huawei.type import HuaweiType +from modules.common.component_type import ComponentType class KwargsDict(TypedDict): @@ -34,7 +35,7 @@ def initialize(self) -> None: self.sim_counter = SimCounter(self.__device_id, self.component_config.id, prefix="pv") self.store = get_inverter_value_store(self.component_config.id) self.fault_state = FaultState(ComponentInfo.from_component_config(self.component_config)) - self.peak_filter = PeakFilter("inverter", self.component_config.id, self.fault_state) + self.peak_filter = PeakFilter(ComponentType.INVERTER, self.component_config.id, self.fault_state) def update(self) -> None: if self.type == HuaweiType.SDongle: diff --git a/packages/modules/devices/huawei/huawei_emma/bat.py b/packages/modules/devices/huawei/huawei_emma/bat.py index 58ab9a4633..9f98c8e6bd 100644 --- a/packages/modules/devices/huawei/huawei_emma/bat.py +++ b/packages/modules/devices/huawei/huawei_emma/bat.py @@ -10,6 +10,7 @@ from modules.common.store import get_bat_value_store from modules.devices.huawei.huawei_emma.config import Huawei_EmmaBatSetup from modules.common.utils.peak_filter import PeakFilter +from modules.common.component_type import ComponentType class KwargsDict(TypedDict): @@ -30,7 +31,7 @@ def initialize(self) -> None: self.sim_counter = SimCounter(self.__device_id, self.component_config.id, prefix="speicher") self.store = get_bat_value_store(self.component_config.id) self.fault_state = FaultState(ComponentInfo.from_component_config(self.component_config)) - self.peak_filter = PeakFilter("bat", self.component_config.id, self.fault_state) + self.peak_filter = PeakFilter(ComponentType.BAT, self.component_config.id, self.fault_state) def update(self) -> None: power = self.client.read_holding_registers(30360, ModbusDataType.INT_32, unit=self.modbus_id) diff --git a/packages/modules/devices/huawei/huawei_emma/counter.py b/packages/modules/devices/huawei/huawei_emma/counter.py index 3eaeed6097..f7f3e6bd40 100644 --- a/packages/modules/devices/huawei/huawei_emma/counter.py +++ b/packages/modules/devices/huawei/huawei_emma/counter.py @@ -10,6 +10,7 @@ from modules.common.store import get_counter_value_store from modules.devices.huawei.huawei_emma.config import Huawei_EmmaCounterSetup from modules.common.utils.peak_filter import PeakFilter +from modules.common.component_type import ComponentType class KwargsDict(TypedDict): @@ -30,7 +31,7 @@ def initialize(self) -> None: self.sim_counter = SimCounter(self.__device_id, self.component_config.id, prefix="bezug") self.store = get_counter_value_store(self.component_config.id) self.fault_state = FaultState(ComponentInfo.from_component_config(self.component_config)) - self.peak_filter = PeakFilter("counter", self.component_config.id, self.fault_state) + self.peak_filter = PeakFilter(ComponentType.COUNTER, self.component_config.id, self.fault_state) def update(self) -> None: currents = self.client.read_holding_registers(31651, [ModbusDataType.INT_32]*3, unit=self.modbus_id) diff --git a/packages/modules/devices/huawei/huawei_emma/inverter.py b/packages/modules/devices/huawei/huawei_emma/inverter.py index ba14cd41ab..11324f7dc5 100644 --- a/packages/modules/devices/huawei/huawei_emma/inverter.py +++ b/packages/modules/devices/huawei/huawei_emma/inverter.py @@ -9,6 +9,7 @@ from modules.common.store import get_inverter_value_store from modules.devices.huawei.huawei_emma.config import Huawei_EmmaInverterSetup from modules.common.utils.peak_filter import PeakFilter +from modules.common.component_type import ComponentType class KwargsDict(TypedDict): @@ -28,7 +29,7 @@ def initialize(self) -> None: self.client: ModbusTcpClient_ = self.kwargs['client'] self.store = get_inverter_value_store(self.component_config.id) self.fault_state = FaultState(ComponentInfo.from_component_config(self.component_config)) - self.peak_filter = PeakFilter("inverter", self.component_config.id, self.fault_state) + self.peak_filter = PeakFilter(ComponentType.INVERTER, self.component_config.id, self.fault_state) def update(self) -> None: power = self.client.read_holding_registers(30354, ModbusDataType.INT_32, unit=self.modbus_id) * -1 diff --git a/packages/modules/devices/huawei/huawei_smartlogger/bat.py b/packages/modules/devices/huawei/huawei_smartlogger/bat.py index 58ba47296d..4d82b598cf 100644 --- a/packages/modules/devices/huawei/huawei_smartlogger/bat.py +++ b/packages/modules/devices/huawei/huawei_smartlogger/bat.py @@ -11,6 +11,7 @@ from modules.common.store import get_bat_value_store from modules.devices.huawei.huawei_smartlogger.config import Huawei_SmartloggerBatSetup from modules.common.utils.peak_filter import PeakFilter +from modules.common.component_type import ComponentType class KwargsDict(TypedDict): @@ -29,7 +30,7 @@ def initialize(self) -> None: self.sim_counter = SimCounter(self.__device_id, self.component_config.id, prefix="speicher") self.store = get_bat_value_store(self.component_config.id) self.fault_state = FaultState(ComponentInfo.from_component_config(self.component_config)) - self.peak_filter = PeakFilter("bat", self.component_config.id, self.fault_state) + self.peak_filter = PeakFilter(ComponentType.BAT, self.component_config.id, self.fault_state) def update(self) -> None: modbus_id = self.component_config.configuration.modbus_id diff --git a/packages/modules/devices/huawei/huawei_smartlogger/counter.py b/packages/modules/devices/huawei/huawei_smartlogger/counter.py index 36da734583..80b7ae5a53 100644 --- a/packages/modules/devices/huawei/huawei_smartlogger/counter.py +++ b/packages/modules/devices/huawei/huawei_smartlogger/counter.py @@ -10,6 +10,7 @@ from modules.common.store import get_counter_value_store from modules.devices.huawei.huawei_smartlogger.config import Huawei_SmartloggerCounterSetup from modules.common.utils.peak_filter import PeakFilter +from modules.common.component_type import ComponentType class KwargsDict(TypedDict): @@ -28,7 +29,7 @@ def initialize(self) -> None: self.sim_counter = SimCounter(self.__device_id, self.component_config.id, prefix="bezug") self.store = get_counter_value_store(self.component_config.id) self.fault_state = FaultState(ComponentInfo.from_component_config(self.component_config)) - self.peak_filter = PeakFilter("counter", self.component_config.id, self.fault_state) + self.peak_filter = PeakFilter(ComponentType.COUNTER, self.component_config.id, self.fault_state) def update(self) -> None: modbus_id = self.component_config.configuration.modbus_id diff --git a/packages/modules/devices/huawei/huawei_smartlogger/inverter.py b/packages/modules/devices/huawei/huawei_smartlogger/inverter.py index 3551ac6848..efe5604051 100644 --- a/packages/modules/devices/huawei/huawei_smartlogger/inverter.py +++ b/packages/modules/devices/huawei/huawei_smartlogger/inverter.py @@ -12,6 +12,7 @@ from modules.common.store import get_inverter_value_store from modules.devices.huawei.huawei_smartlogger.config import Huawei_SmartloggerInverterSetup from modules.common.utils.peak_filter import PeakFilter +from modules.common.component_type import ComponentType log = logging.getLogger(__name__) @@ -32,7 +33,7 @@ def initialize(self) -> None: self.sim_counter = SimCounter(self.__device_id, self.component_config.id, prefix="pv") self.store = get_inverter_value_store(self.component_config.id) self.fault_state = FaultState(ComponentInfo.from_component_config(self.component_config)) - self.peak_filter = PeakFilter("inverter", self.component_config.id, self.fault_state) + self.peak_filter = PeakFilter(ComponentType.INVERTER, self.component_config.id, self.fault_state) def update(self) -> None: modbus_id = self.component_config.configuration.modbus_id diff --git a/packages/modules/devices/idm/idm/counter.py b/packages/modules/devices/idm/idm/counter.py index 45c03d502d..6712dc1580 100644 --- a/packages/modules/devices/idm/idm/counter.py +++ b/packages/modules/devices/idm/idm/counter.py @@ -11,6 +11,7 @@ from modules.common.simcount import SimCounter from modules.common.store import get_counter_value_store from modules.devices.idm.idm.config import IDMCounterSetup +from modules.common.component_type import ComponentType class KwargsDict(TypedDict): @@ -31,7 +32,7 @@ def initialize(self) -> None: self.sim_counter = SimCounter(self.__device_id, self.component_config.id, prefix="bezug") self.store = get_counter_value_store(self.component_config.id) self.fault_state = FaultState(ComponentInfo.from_component_config(self.component_config)) - self.peak_filter = PeakFilter("counter", self.component_config.id, self.fault_state) + self.peak_filter = PeakFilter(ComponentType.COUNTER, self.component_config.id, self.fault_state) def update(self): unit = self.modbus_id diff --git a/packages/modules/devices/janitza/janitza/bat.py b/packages/modules/devices/janitza/janitza/bat.py index b4f4f3d69d..73d927a81d 100644 --- a/packages/modules/devices/janitza/janitza/bat.py +++ b/packages/modules/devices/janitza/janitza/bat.py @@ -10,6 +10,7 @@ from modules.common.store import get_bat_value_store from modules.devices.janitza.janitza.config import JanitzaBatSetup from modules.common.utils.peak_filter import PeakFilter +from modules.common.component_type import ComponentType class KwargsDict(TypedDict): @@ -30,7 +31,7 @@ def initialize(self) -> None: self.sim_counter = SimCounter(self.__device_id, self.component_config.id, prefix="speicher") self.store = get_bat_value_store(self.component_config.id) self.fault_state = FaultState(ComponentInfo.from_component_config(self.component_config)) - self.peak_filter = PeakFilter("bat", self.component_config.id, self.fault_state) + self.peak_filter = PeakFilter(ComponentType.BAT, self.component_config.id, self.fault_state) def update(self): power = self.__tcp_client.read_holding_registers(19026, ModbusDataType.FLOAT_32, unit=self.__modbus_id) * -1 diff --git a/packages/modules/devices/janitza/janitza/counter.py b/packages/modules/devices/janitza/janitza/counter.py index 48c0355bdd..72e054cd23 100644 --- a/packages/modules/devices/janitza/janitza/counter.py +++ b/packages/modules/devices/janitza/janitza/counter.py @@ -11,6 +11,7 @@ from modules.common.simcount import SimCounter from modules.common.store import get_counter_value_store from modules.devices.janitza.janitza.config import JanitzaCounterSetup +from modules.common.component_type import ComponentType class KwargsDict(TypedDict): @@ -31,7 +32,7 @@ def initialize(self) -> None: self.sim_counter = SimCounter(self.__device_id, self.component_config.id, prefix="bezug") self.store = get_counter_value_store(self.component_config.id) self.fault_state = FaultState(ComponentInfo.from_component_config(self.component_config)) - self.peak_filter = PeakFilter("counter", self.component_config.id, self.fault_state) + self.peak_filter = PeakFilter(ComponentType.COUNTER, self.component_config.id, self.fault_state) def update(self) -> None: with self.__tcp_client: diff --git a/packages/modules/devices/janitza/janitza/inverter.py b/packages/modules/devices/janitza/janitza/inverter.py index 13573d1e2a..d3637eaed7 100644 --- a/packages/modules/devices/janitza/janitza/inverter.py +++ b/packages/modules/devices/janitza/janitza/inverter.py @@ -10,6 +10,7 @@ from modules.common.store import get_inverter_value_store from modules.devices.janitza.janitza.config import JanitzaInverterSetup from modules.common.utils.peak_filter import PeakFilter +from modules.common.component_type import ComponentType class KwargsDict(TypedDict): @@ -30,7 +31,7 @@ def initialize(self) -> None: self.sim_counter = SimCounter(self.__device_id, self.component_config.id, prefix="pv") self.store = get_inverter_value_store(self.component_config.id) self.fault_state = FaultState(ComponentInfo.from_component_config(self.component_config)) - self.peak_filter = PeakFilter("inverter", self.component_config.id, self.fault_state) + self.peak_filter = PeakFilter(ComponentType.INVERTER, self.component_config.id, self.fault_state) def update(self): power = self.__tcp_client.read_holding_registers(19026, ModbusDataType.FLOAT_32, unit=self.__modbus_id) * -1 diff --git a/packages/modules/devices/kaco/kaco_nh/bat.py b/packages/modules/devices/kaco/kaco_nh/bat.py index 471a3faf64..f0a24d3e77 100644 --- a/packages/modules/devices/kaco/kaco_nh/bat.py +++ b/packages/modules/devices/kaco/kaco_nh/bat.py @@ -11,6 +11,7 @@ from modules.devices.kaco.kaco_nh.config import KacoNHBatSetup from modules.devices.kaco.kaco_nh.config import KacoNHConfiguration from modules.common.utils.peak_filter import PeakFilter +from modules.common.component_type import ComponentType class KwargsDict(TypedDict): @@ -29,7 +30,7 @@ def initialize(self) -> None: self.sim_counter = SimCounter(self.__device_id, self.component_config.id, prefix="speicher") self.store = get_bat_value_store(self.component_config.id) self.fault_state = FaultState(ComponentInfo.from_component_config(self.component_config)) - self.peak_filter = PeakFilter("bat", self.component_config.id, self.fault_state) + self.peak_filter = PeakFilter(ComponentType.BAT, self.component_config.id, self.fault_state) def update(self) -> None: response = req.get_http_session().get( diff --git a/packages/modules/devices/kaco/kaco_nh/counter.py b/packages/modules/devices/kaco/kaco_nh/counter.py index 1e6ea365be..797af0c5d4 100644 --- a/packages/modules/devices/kaco/kaco_nh/counter.py +++ b/packages/modules/devices/kaco/kaco_nh/counter.py @@ -9,6 +9,7 @@ from modules.common.store import get_counter_value_store from modules.devices.kaco.kaco_nh.config import KacoNHConfiguration, KacoNHCounterSetup from modules.common.utils.peak_filter import PeakFilter +from modules.common.component_type import ComponentType class KwargsDict(TypedDict): @@ -24,7 +25,7 @@ def initialize(self) -> None: self.device_config: KacoNHConfiguration = self.kwargs['device_config'] self.store = get_counter_value_store(self.component_config.id) self.fault_state = FaultState(ComponentInfo.from_component_config(self.component_config)) - self.peak_filter = PeakFilter("counter", self.component_config.id, self.fault_state) + self.peak_filter = PeakFilter(ComponentType.COUNTER, self.component_config.id, self.fault_state) def update(self) -> None: response = req.get_http_session().get( diff --git a/packages/modules/devices/kaco/kaco_nh/inverter.py b/packages/modules/devices/kaco/kaco_nh/inverter.py index e55ca1ca0c..9ac302091a 100644 --- a/packages/modules/devices/kaco/kaco_nh/inverter.py +++ b/packages/modules/devices/kaco/kaco_nh/inverter.py @@ -10,6 +10,7 @@ from modules.devices.kaco.kaco_nh.config import KacoNHInverterSetup from modules.devices.kaco.kaco_nh.config import KacoNHConfiguration from modules.common.utils.peak_filter import PeakFilter +from modules.common.component_type import ComponentType class KwargsDict(TypedDict): @@ -25,7 +26,7 @@ def initialize(self) -> None: self.device_config: KacoNHConfiguration = self.kwargs['device_config'] self.store = get_inverter_value_store(self.component_config.id) self.fault_state = FaultState(ComponentInfo.from_component_config(self.component_config)) - self.peak_filter = PeakFilter("inverter", self.component_config.id, self.fault_state) + self.peak_filter = PeakFilter(ComponentType.INVERTER, self.component_config.id, self.fault_state) def update(self) -> None: response = req.get_http_session().get( diff --git a/packages/modules/devices/kaco/kaco_tx/inverter.py b/packages/modules/devices/kaco/kaco_tx/inverter.py index 6398cab163..59148aa256 100644 --- a/packages/modules/devices/kaco/kaco_tx/inverter.py +++ b/packages/modules/devices/kaco/kaco_tx/inverter.py @@ -11,6 +11,7 @@ from modules.devices.kaco.kaco_tx.config import KacoInverterSetup from modules.devices.kaco.kaco_tx.scale import create_scaled_reader from modules.common.utils.peak_filter import PeakFilter +from modules.common.component_type import ComponentType class KwargsDict(TypedDict): @@ -34,7 +35,7 @@ def initialize(self) -> None: self._read_scaled_int32 = create_scaled_reader( self.__tcp_client, self.component_config.configuration.modbus_id, ModbusDataType.INT_32 ) - self.peak_filter = PeakFilter("inverter", self.component_config.id, self.fault_state) + self.peak_filter = PeakFilter(ComponentType.INVERTER, self.component_config.id, self.fault_state) def update(self) -> None: self.store.set(self.read_state()) diff --git a/packages/modules/devices/kostal/kostal_piko/counter.py b/packages/modules/devices/kostal/kostal_piko/counter.py index 3be439ae56..257d525275 100644 --- a/packages/modules/devices/kostal/kostal_piko/counter.py +++ b/packages/modules/devices/kostal/kostal_piko/counter.py @@ -11,6 +11,7 @@ from modules.common.store import get_counter_value_store from modules.devices.kostal.kostal_piko.config import KostalPikoCounterSetup from modules.common.utils.peak_filter import PeakFilter +from modules.common.component_type import ComponentType log = logging.getLogger(__name__) @@ -31,7 +32,7 @@ def initialize(self) -> None: self.sim_counter = SimCounter(self.__device_id, self.component_config.id, prefix="bezug") self.store = get_counter_value_store(self.component_config.id) self.fault_state = FaultState(ComponentInfo.from_component_config(self.component_config)) - self.peak_filter = PeakFilter("counter", self.component_config.id, self.fault_state) + self.peak_filter = PeakFilter(ComponentType.COUNTER, self.component_config.id, self.fault_state) def get_values(self) -> Tuple[float, List[float]]: params = (('dxsEntries', ['83887106', '83887362', '83887618']),) diff --git a/packages/modules/devices/kostal/kostal_piko/inverter.py b/packages/modules/devices/kostal/kostal_piko/inverter.py index 29b21dfb7e..22aeff64a9 100644 --- a/packages/modules/devices/kostal/kostal_piko/inverter.py +++ b/packages/modules/devices/kostal/kostal_piko/inverter.py @@ -9,6 +9,7 @@ from modules.common import req from modules.devices.kostal.kostal_piko.config import KostalPikoInverterSetup from modules.common.utils.peak_filter import PeakFilter +from modules.common.component_type import ComponentType class KwargsDict(TypedDict): @@ -24,7 +25,7 @@ def initialize(self) -> None: self.ip_address: str = self.kwargs['ip_address'] self.store = get_inverter_value_store(self.component_config.id) self.fault_state = FaultState(ComponentInfo.from_component_config(self.component_config)) - self.peak_filter = PeakFilter("inverter", self.component_config.id, self.fault_state) + self.peak_filter = PeakFilter(ComponentType.INVERTER, self.component_config.id, self.fault_state) def update(self) -> Tuple[float, float]: # Die Differenz der Einträge entspricht nicht der Batterieleistung. diff --git a/packages/modules/devices/kostal/kostal_piko_ci/counter.py b/packages/modules/devices/kostal/kostal_piko_ci/counter.py index 204dbf0c74..d8003c2c29 100644 --- a/packages/modules/devices/kostal/kostal_piko_ci/counter.py +++ b/packages/modules/devices/kostal/kostal_piko_ci/counter.py @@ -10,6 +10,7 @@ from modules.common.store import get_counter_value_store from modules.devices.kostal.kostal_piko_ci.config import KostalPikoCiCounterSetup from modules.common.utils.peak_filter import PeakFilter +from modules.common.component_type import ComponentType class KwargsDict(TypedDict): @@ -28,7 +29,7 @@ def initialize(self) -> None: self.store = get_counter_value_store(self.component_config.id) self.fault_state = FaultState(ComponentInfo.from_component_config(self.component_config)) self.sim_counter = SimCounter(self.__device_id, self.component_config.id, prefix="bezug") - self.peak_filter = PeakFilter("counter", self.component_config.id, self.fault_state) + self.peak_filter = PeakFilter(ComponentType.COUNTER, self.component_config.id, self.fault_state) def update(self) -> None: unit = self.component_config.configuration.modbus_id diff --git a/packages/modules/devices/kostal/kostal_piko_ci/inverter.py b/packages/modules/devices/kostal/kostal_piko_ci/inverter.py index f026b99f28..a9851ac454 100644 --- a/packages/modules/devices/kostal/kostal_piko_ci/inverter.py +++ b/packages/modules/devices/kostal/kostal_piko_ci/inverter.py @@ -9,6 +9,7 @@ from modules.common.store import get_inverter_value_store from modules.devices.kostal.kostal_piko_ci.config import KostalPikoCiInverterSetup from modules.common.utils.peak_filter import PeakFilter +from modules.common.component_type import ComponentType class KwargsDict(TypedDict): @@ -26,7 +27,7 @@ def initialize(self) -> None: self.client: ModbusTcpClient_ = self.kwargs['client'] self.store = get_inverter_value_store(self.component_config.id) self.fault_state = FaultState(ComponentInfo.from_component_config(self.component_config)) - self.peak_filter = PeakFilter("inverter", self.component_config.id, self.fault_state) + self.peak_filter = PeakFilter(ComponentType.INVERTER, self.component_config.id, self.fault_state) def update(self) -> None: unit = self.component_config.configuration.modbus_id diff --git a/packages/modules/devices/kostal/kostal_piko_old/inverter.py b/packages/modules/devices/kostal/kostal_piko_old/inverter.py index e020142651..a9206e2497 100644 --- a/packages/modules/devices/kostal/kostal_piko_old/inverter.py +++ b/packages/modules/devices/kostal/kostal_piko_old/inverter.py @@ -10,6 +10,7 @@ from modules.common.store import get_inverter_value_store from modules.devices.kostal.kostal_piko_old.config import KostalPikoOldInverterSetup from modules.common.utils.peak_filter import PeakFilter +from modules.common.component_type import ComponentType log = logging.getLogger(__name__) @@ -28,7 +29,7 @@ def initialize(self) -> None: self.sim_counter = SimCounter(self.__device_id, self.component_config.id, prefix="pv") self.store = get_inverter_value_store(self.component_config.id) self.fault_state = FaultState(ComponentInfo.from_component_config(self.component_config)) - self.peak_filter = PeakFilter("inverter", self.component_config.id, self.fault_state) + self.peak_filter = PeakFilter(ComponentType.INVERTER, self.component_config.id, self.fault_state) def update(self, response: str) -> None: # power may be a string "xxx" when the inverter is offline, so we cannot match as a number diff --git a/packages/modules/devices/kostal/kostal_plenticore/bat.py b/packages/modules/devices/kostal/kostal_plenticore/bat.py index 68596e2ff0..4c10ce66cc 100644 --- a/packages/modules/devices/kostal/kostal_plenticore/bat.py +++ b/packages/modules/devices/kostal/kostal_plenticore/bat.py @@ -12,6 +12,7 @@ from modules.common.store import get_bat_value_store from modules.devices.kostal.kostal_plenticore.config import KostalPlenticoreBatSetup from modules.common.utils.peak_filter import PeakFilter +from modules.common.component_type import ComponentType log = logging.getLogger(__name__) @@ -36,7 +37,7 @@ def initialize(self) -> None: self.store = get_bat_value_store(self.component_config.id) self.fault_state = FaultState(ComponentInfo.from_component_config(self.component_config)) self.sim_counter = SimCounter(self.__device_id, self.component_config.id, prefix="speicher") - self.peak_filter = PeakFilter("bat", self.component_config.id, self.fault_state) + self.peak_filter = PeakFilter(ComponentType.BAT, self.component_config.id, self.fault_state) def update(self) -> None: power = self.client.read_holding_registers( diff --git a/packages/modules/devices/kostal/kostal_plenticore/counter.py b/packages/modules/devices/kostal/kostal_plenticore/counter.py index 264b61cadd..d12db3eecf 100644 --- a/packages/modules/devices/kostal/kostal_plenticore/counter.py +++ b/packages/modules/devices/kostal/kostal_plenticore/counter.py @@ -11,6 +11,7 @@ from modules.common.store import get_counter_value_store from modules.devices.kostal.kostal_plenticore.config import KostalPlenticoreCounterSetup from modules.common.utils.peak_filter import PeakFilter +from modules.common.component_type import ComponentType class KwargsDict(TypedDict): @@ -33,7 +34,7 @@ def initialize(self) -> None: self.store = get_counter_value_store(self.component_config.id) self.fault_state = FaultState(ComponentInfo.from_component_config(self.component_config)) self.sim_counter = SimCounter(self.__device_id, self.component_config.id, prefix="bezug") - self.peak_filter = PeakFilter("counter", self.component_config.id, self.fault_state) + self.peak_filter = PeakFilter(ComponentType.COUNTER, self.component_config.id, self.fault_state) def update(self) -> None: power = self.client.read_holding_registers( diff --git a/packages/modules/devices/kostal/kostal_plenticore/inverter.py b/packages/modules/devices/kostal/kostal_plenticore/inverter.py index 17d43aee90..8712ba8ba2 100644 --- a/packages/modules/devices/kostal/kostal_plenticore/inverter.py +++ b/packages/modules/devices/kostal/kostal_plenticore/inverter.py @@ -11,6 +11,7 @@ from modules.common.store import get_inverter_value_store from modules.devices.kostal.kostal_plenticore.config import KostalPlenticoreInverterSetup from modules.common.utils.peak_filter import PeakFilter +from modules.common.component_type import ComponentType class KwargsDict(TypedDict): @@ -37,7 +38,7 @@ def initialize(self) -> None: "Es kann keine DC-Leistung aus dem Wechselrichter ausgelesen werden, " "möglicherweise kann ein Firmware-Update für den Wechselrichter nötig sein." ) - self.peak_filter = PeakFilter("inverter", self.component_config.id, self.fault_state) + self.peak_filter = PeakFilter(ComponentType.INVERTER, self.component_config.id, self.fault_state) def update(self) -> None: power = self.client.read_holding_registers( diff --git a/packages/modules/devices/kostal/kostal_sem/counter.py b/packages/modules/devices/kostal/kostal_sem/counter.py index 57f3bacdd7..a14fa66820 100644 --- a/packages/modules/devices/kostal/kostal_sem/counter.py +++ b/packages/modules/devices/kostal/kostal_sem/counter.py @@ -9,6 +9,7 @@ from modules.common.store import get_counter_value_store from modules.devices.kostal.kostal_sem.config import KostalSemCounterSetup from modules.common.utils.peak_filter import PeakFilter +from modules.common.component_type import ComponentType class KwargsDict(TypedDict): @@ -26,7 +27,7 @@ def initialize(self) -> None: self.__modbus_id: int = self.kwargs['modbus_id'] self.store = get_counter_value_store(self.component_config.id) self.fault_state = FaultState(ComponentInfo.from_component_config(self.component_config)) - self.peak_filter = PeakFilter("counter", self.component_config.id, self.fault_state) + self.peak_filter = PeakFilter(ComponentType.COUNTER, self.component_config.id, self.fault_state) def update(self): with self.__tcp_client: diff --git a/packages/modules/devices/kostal/kostal_steca/inverter.py b/packages/modules/devices/kostal/kostal_steca/inverter.py index 9c8d2e82d6..b2158a2edd 100644 --- a/packages/modules/devices/kostal/kostal_steca/inverter.py +++ b/packages/modules/devices/kostal/kostal_steca/inverter.py @@ -13,6 +13,7 @@ from modules.common.store import get_inverter_value_store from modules.devices.kostal.kostal_steca.config import KostalStecaInverterSetup from modules.common.utils.peak_filter import PeakFilter +from modules.common.component_type import ComponentType log = logging.getLogger(__name__) @@ -30,7 +31,7 @@ def initialize(self) -> None: self.ip_address: str = self.kwargs['ip_address'] self.store = get_inverter_value_store(self.component_config.id) self.fault_state = FaultState(ComponentInfo.from_component_config(self.component_config)) - self.peak_filter = PeakFilter("inverter", self.component_config.id, self.fault_state) + self.peak_filter = PeakFilter(ComponentType.INVERTER, self.component_config.id, self.fault_state) def update(self) -> None: power, exported = self.get_values() diff --git a/packages/modules/devices/lg/lg/bat.py b/packages/modules/devices/lg/lg/bat.py index ff7dbec9ca..b4bf586e2f 100644 --- a/packages/modules/devices/lg/lg/bat.py +++ b/packages/modules/devices/lg/lg/bat.py @@ -9,6 +9,7 @@ from modules.common.store import get_bat_value_store from modules.devices.lg.lg.config import LgBatSetup from modules.common.utils.peak_filter import PeakFilter +from modules.common.component_type import ComponentType class KwargsDict(TypedDict): @@ -25,7 +26,7 @@ def initialize(self) -> None: self.sim_counter = SimCounter(self.__device_id, self.component_config.id, prefix="speicher") self.store = get_bat_value_store(self.component_config.id) self.fault_state = FaultState(ComponentInfo.from_component_config(self.component_config)) - self.peak_filter = PeakFilter("bat", self.component_config.id, self.fault_state) + self.peak_filter = PeakFilter(ComponentType.BAT, self.component_config.id, self.fault_state) def update(self, response) -> None: if 'batconv_power' in response['statistics']: diff --git a/packages/modules/devices/lg/lg/counter.py b/packages/modules/devices/lg/lg/counter.py index 5bcd2675ad..624cb32415 100644 --- a/packages/modules/devices/lg/lg/counter.py +++ b/packages/modules/devices/lg/lg/counter.py @@ -9,6 +9,7 @@ from modules.common.store import get_counter_value_store from modules.devices.lg.lg.config import LgCounterSetup from modules.common.utils.peak_filter import PeakFilter +from modules.common.component_type import ComponentType class KwargsDict(TypedDict): @@ -25,7 +26,7 @@ def initialize(self) -> None: self.sim_counter = SimCounter(self.__device_id, self.component_config.id, prefix="bezug") self.store = get_counter_value_store(self.component_config.id) self.fault_state = FaultState(ComponentInfo.from_component_config(self.component_config)) - self.peak_filter = PeakFilter("counter", self.component_config.id, self.fault_state) + self.peak_filter = PeakFilter(ComponentType.COUNTER, self.component_config.id, self.fault_state) def update(self, response) -> None: if 'grid_power' in response['statistics']: diff --git a/packages/modules/devices/lg/lg/inverter.py b/packages/modules/devices/lg/lg/inverter.py index b35ff38035..9a39f72298 100644 --- a/packages/modules/devices/lg/lg/inverter.py +++ b/packages/modules/devices/lg/lg/inverter.py @@ -9,6 +9,7 @@ from modules.common.simcount import SimCounter from modules.common.store import get_inverter_value_store from modules.devices.lg.lg.config import LgInverterSetup +from modules.common.component_type import ComponentType class KwargsDict(TypedDict): @@ -25,7 +26,7 @@ def initialize(self) -> None: self.sim_counter = SimCounter(self.__device_id, self.component_config.id, prefix="pv") self.store = get_inverter_value_store(self.component_config.id) self.fault_state = FaultState(ComponentInfo.from_component_config(self.component_config)) - self.peak_filter = PeakFilter("inverter", self.component_config.id, self.fault_state) + self.peak_filter = PeakFilter(ComponentType.INVERTER, self.component_config.id, self.fault_state) def update(self, response: Dict) -> None: if 'pcs_pv_total_power' in response['statistics']: diff --git a/packages/modules/devices/marstek/venus_c_e/bat.py b/packages/modules/devices/marstek/venus_c_e/bat.py index f8186e5f59..2c848e23a1 100644 --- a/packages/modules/devices/marstek/venus_c_e/bat.py +++ b/packages/modules/devices/marstek/venus_c_e/bat.py @@ -9,6 +9,7 @@ from modules.common.store import get_bat_value_store from modules.devices.marstek.venus_c_e.config import VenusCEBatSetup from modules.common.utils.peak_filter import PeakFilter +from modules.common.component_type import ComponentType class KwargsDict(TypedDict): @@ -27,7 +28,7 @@ def initialize(self) -> None: self.sim_counter = SimCounter(self.__device_id, self.component_config.id, prefix="speicher") self.store = get_bat_value_store(self.component_config.id) self.fault_state = FaultState(ComponentInfo.from_component_config(self.component_config)) - self.peak_filter = PeakFilter("bat", self.component_config.id, self.fault_state) + self.peak_filter = PeakFilter(ComponentType.BAT, self.component_config.id, self.fault_state) def _read_reg(self, addr: int, type_: ModbusDataType) -> Union[int, float]: return self.client.read_holding_registers(addr, type_, unit=self.component_config.configuration.modbus_id) diff --git a/packages/modules/devices/mtec/mtec/bat.py b/packages/modules/devices/mtec/mtec/bat.py index de4501151b..ffe652a905 100644 --- a/packages/modules/devices/mtec/mtec/bat.py +++ b/packages/modules/devices/mtec/mtec/bat.py @@ -11,6 +11,7 @@ from modules.common.store import get_bat_value_store from modules.devices.mtec.mtec.config import MTecBatSetup from modules.common.utils.peak_filter import PeakFilter +from modules.common.component_type import ComponentType log = logging.getLogger(__name__) @@ -31,7 +32,7 @@ def initialize(self) -> None: self.store = get_bat_value_store(self.component_config.id) self.fault_state = FaultState(ComponentInfo.from_component_config(self.component_config)) self.sim_counter = SimCounter(self.__device_id, self.component_config.id, prefix="speicher") - self.peak_filter = PeakFilter("bat", self.component_config.id, self.fault_state) + self.peak_filter = PeakFilter(ComponentType.BAT, self.component_config.id, self.fault_state) def update(self) -> None: unit = self.component_config.configuration.modbus_id diff --git a/packages/modules/devices/mtec/mtec/counter.py b/packages/modules/devices/mtec/mtec/counter.py index 89da9de270..cdbec9fb68 100644 --- a/packages/modules/devices/mtec/mtec/counter.py +++ b/packages/modules/devices/mtec/mtec/counter.py @@ -10,6 +10,7 @@ from modules.common.store import get_counter_value_store from modules.devices.mtec.mtec.config import MTecCounterSetup from modules.common.utils.peak_filter import PeakFilter +from modules.common.component_type import ComponentType class KwargsDict(TypedDict): @@ -28,7 +29,7 @@ def initialize(self) -> None: self.store = get_counter_value_store(self.component_config.id) self.fault_state = FaultState(ComponentInfo.from_component_config(self.component_config)) self.sim_counter = SimCounter(self.__device_id, self.component_config.id, prefix="bezug") - self.peak_filter = PeakFilter("counter", self.component_config.id, self.fault_state) + self.peak_filter = PeakFilter(ComponentType.COUNTER, self.component_config.id, self.fault_state) def update(self) -> None: unit = self.component_config.configuration.modbus_id diff --git a/packages/modules/devices/mtec/mtec/inverter.py b/packages/modules/devices/mtec/mtec/inverter.py index 87ec1ab8c2..fbd5975359 100644 --- a/packages/modules/devices/mtec/mtec/inverter.py +++ b/packages/modules/devices/mtec/mtec/inverter.py @@ -10,6 +10,7 @@ from modules.common.simcount import SimCounter from modules.common.store import get_inverter_value_store from modules.devices.mtec.mtec.config import MTecInverterSetup +from modules.common.component_type import ComponentType class KwargsDict(TypedDict): @@ -28,7 +29,7 @@ def initialize(self) -> None: self.store = get_inverter_value_store(self.component_config.id) self.fault_state = FaultState(ComponentInfo.from_component_config(self.component_config)) self.sim_counter = SimCounter(self.__device_id, self.component_config.id, prefix="pv") - self.peak_filter = PeakFilter("inverter", self.component_config.id, self.fault_state) + self.peak_filter = PeakFilter(ComponentType.INVERTER, self.component_config.id, self.fault_state) def update(self) -> None: unit = self.component_config.configuration.modbus_id diff --git a/packages/modules/devices/mystrom/mystrom/counter.py b/packages/modules/devices/mystrom/mystrom/counter.py index 7a5b0d921b..ff53539a6f 100644 --- a/packages/modules/devices/mystrom/mystrom/counter.py +++ b/packages/modules/devices/mystrom/mystrom/counter.py @@ -9,6 +9,7 @@ from modules.common.simcount import SimCounter from modules.common.store import get_counter_value_store from modules.devices.mystrom.mystrom.config import MystromCounterSetup +from modules.common.component_type import ComponentType class KwargsDict(TypedDict): @@ -27,7 +28,7 @@ def initialize(self) -> None: self.sim_counter = SimCounter(self.__device_id, self.component_config.id, prefix="bezug") self.store = get_counter_value_store(self.component_config.id) self.fault_state = FaultState(ComponentInfo.from_component_config(self.component_config)) - self.peak_filter = PeakFilter("counter", self.component_config.id, self.fault_state) + self.peak_filter = PeakFilter(ComponentType.COUNTER, self.component_config.id, self.fault_state) def update(self, session: Session): resp = session.get(f"http://{self.ip_address}/report").json() diff --git a/packages/modules/devices/nibe/nibe/counter.py b/packages/modules/devices/nibe/nibe/counter.py index 767f662462..b20830a29c 100644 --- a/packages/modules/devices/nibe/nibe/counter.py +++ b/packages/modules/devices/nibe/nibe/counter.py @@ -11,6 +11,7 @@ from modules.common.simcount import SimCounter from modules.common.store import get_counter_value_store from modules.devices.nibe.nibe.config import NibeCounterSetup +from modules.common.component_type import ComponentType class KwargsDict(TypedDict): @@ -29,7 +30,7 @@ def initialize(self) -> None: self.sim_counter = SimCounter(self.__device_id, self.component_config.id, prefix="bezug") self.store = get_counter_value_store(self.component_config.id) self.fault_state = FaultState(ComponentInfo.from_component_config(self.component_config)) - self.peak_filter = PeakFilter("counter", self.component_config.id, self.fault_state) + self.peak_filter = PeakFilter(ComponentType.COUNTER, self.component_config.id, self.fault_state) def update(self): unit = self.component_config.configuration.modbus_id diff --git a/packages/modules/devices/openwb/openwb_flex/bat.py b/packages/modules/devices/openwb/openwb_flex/bat.py index 29eaa4b700..d88965189f 100644 --- a/packages/modules/devices/openwb/openwb_flex/bat.py +++ b/packages/modules/devices/openwb/openwb_flex/bat.py @@ -14,6 +14,7 @@ from modules.devices.openwb.openwb_flex.config import BatKitFlexSetup from modules.devices.openwb.openwb_flex.versions import kit_bat_version_factory from modules.common.utils.peak_filter import PeakFilter +from modules.common.component_type import ComponentType class KwargsDict(TypedDict): @@ -34,7 +35,7 @@ def initialize(self) -> None: self.__client = factory(self.component_config.configuration.id, self.__tcp_client, self.fault_state) self.sim_counter = SimCounter(self.__device_id, self.component_config.id, prefix="speicher") self.store = get_bat_value_store(self.component_config.id) - self.peak_filter = PeakFilter("bat", self.component_config.id, self.fault_state) + self.peak_filter = PeakFilter(ComponentType.BAT, self.component_config.id, self.fault_state) def update(self): # TCP-Verbindung schließen möglichst bevor etwas anderes gemacht wird, um im Fehlerfall zu verhindern, diff --git a/packages/modules/devices/openwb/openwb_flex/counter.py b/packages/modules/devices/openwb/openwb_flex/counter.py index 1cdd56d44c..12cc2ccbcd 100644 --- a/packages/modules/devices/openwb/openwb_flex/counter.py +++ b/packages/modules/devices/openwb/openwb_flex/counter.py @@ -12,6 +12,7 @@ from modules.devices.openwb.openwb_flex.config import EvuKitFlexSetup from modules.devices.openwb.openwb_flex.versions import kit_counter_version_factory from modules.common.utils.peak_filter import PeakFilter +from modules.common.component_type import ComponentType class KwargsDict(TypedDict): @@ -32,7 +33,7 @@ def initialize(self) -> None: self.__client = factory(self.component_config.configuration.id, self.__tcp_client, self.fault_state) self.sim_counter = SimCounter(self.__device_id, self.component_config.id, prefix="bezug") self.store = get_counter_value_store(self.component_config.id) - self.peak_filter = PeakFilter("counter", self.component_config.id, self.fault_state) + self.peak_filter = PeakFilter(ComponentType.COUNTER, self.component_config.id, self.fault_state) def update(self): # TCP-Verbindung schließen möglichst bevor etwas anderes gemacht wird, um im Fehlerfall zu verhindern, diff --git a/packages/modules/devices/openwb/openwb_flex/inverter.py b/packages/modules/devices/openwb/openwb_flex/inverter.py index 3f8225867a..e09987d798 100644 --- a/packages/modules/devices/openwb/openwb_flex/inverter.py +++ b/packages/modules/devices/openwb/openwb_flex/inverter.py @@ -13,6 +13,7 @@ from modules.devices.openwb.openwb_flex.config import PvKitFlexSetup from modules.devices.openwb.openwb_flex.versions import kit_inverter_version_factory from modules.common.utils.peak_filter import PeakFilter +from modules.common.component_type import ComponentType class KwargsDict(TypedDict): @@ -34,7 +35,7 @@ def initialize(self) -> None: self.sim_counter = SimCounter(self.__device_id, self.component_config.id, prefix="pv") self.simulation = {} self.store = get_inverter_value_store(self.component_config.id) - self.peak_filter = PeakFilter("inverter", self.component_config.id, self.fault_state) + self.peak_filter = PeakFilter(ComponentType.INVERTER, self.component_config.id, self.fault_state) def update(self) -> None: """ liest die Werte des Moduls aus. diff --git a/packages/modules/devices/orno/orno/counter.py b/packages/modules/devices/orno/orno/counter.py index 3674fbc8bf..2b5c19ed62 100644 --- a/packages/modules/devices/orno/orno/counter.py +++ b/packages/modules/devices/orno/orno/counter.py @@ -9,6 +9,7 @@ from modules.common.store import get_counter_value_store from modules.devices.orno.orno.config import OrnoCounterSetup from modules.common.utils.peak_filter import PeakFilter +from modules.common.component_type import ComponentType class KwargsDict(TypedDict): @@ -24,7 +25,7 @@ def initialize(self) -> None: self.client: ModbusTcpClient_ = self.kwargs['client'] self.store = get_counter_value_store(self.component_config.id) self.fault_state = FaultState(ComponentInfo.from_component_config(self.component_config)) - self.peak_filter = PeakFilter("counter", self.component_config.id, self.fault_state) + self.peak_filter = PeakFilter(ComponentType.COUNTER, self.component_config.id, self.fault_state) def update(self): power = self.client.read_holding_registers( diff --git a/packages/modules/devices/powerdog/powerdog/counter.py b/packages/modules/devices/powerdog/powerdog/counter.py index 3b72f5ede3..9319da99e3 100644 --- a/packages/modules/devices/powerdog/powerdog/counter.py +++ b/packages/modules/devices/powerdog/powerdog/counter.py @@ -12,6 +12,7 @@ from modules.common.store import get_counter_value_store from modules.devices.powerdog.powerdog.config import PowerdogCounterSetup from modules.common.utils.peak_filter import PeakFilter +from modules.common.component_type import ComponentType log = logging.getLogger(__name__) @@ -34,7 +35,7 @@ def initialize(self) -> None: self.sim_counter = SimCounter(self.__device_id, self.component_config.id, prefix="bezug") self.store = get_counter_value_store(self.component_config.id) self.fault_state = FaultState(ComponentInfo.from_component_config(self.component_config)) - self.peak_filter = PeakFilter("counter", self.component_config.id, self.fault_state) + self.peak_filter = PeakFilter(ComponentType.COUNTER, self.component_config.id, self.fault_state) def update(self, inverter_power: float) -> None: with self.__tcp_client: diff --git a/packages/modules/devices/powerdog/powerdog/inverter.py b/packages/modules/devices/powerdog/powerdog/inverter.py index e72a3498e7..241cdf01ae 100644 --- a/packages/modules/devices/powerdog/powerdog/inverter.py +++ b/packages/modules/devices/powerdog/powerdog/inverter.py @@ -12,6 +12,7 @@ from modules.common.store import get_inverter_value_store from modules.devices.powerdog.powerdog.config import PowerdogInverterSetup from modules.common.utils.peak_filter import PeakFilter +from modules.common.component_type import ComponentType log = logging.getLogger(__name__) @@ -34,7 +35,7 @@ def initialize(self) -> None: self.sim_counter = SimCounter(self.__device_id, self.component_config.id, prefix="pv") self.store = get_inverter_value_store(self.component_config.id) self.fault_state = FaultState(ComponentInfo.from_component_config(self.component_config)) - self.peak_filter = PeakFilter("inverter", self.component_config.id, self.fault_state) + self.peak_filter = PeakFilter(ComponentType.INVERTER, self.component_config.id, self.fault_state) def update(self) -> float: with self.__tcp_client: diff --git a/packages/modules/devices/powerfox/powerfox/counter.py b/packages/modules/devices/powerfox/powerfox/counter.py index 902b35acbe..98d3617918 100644 --- a/packages/modules/devices/powerfox/powerfox/counter.py +++ b/packages/modules/devices/powerfox/powerfox/counter.py @@ -9,6 +9,7 @@ from modules.common.store import get_counter_value_store from modules.devices.powerfox.powerfox.config import PowerfoxCounterSetup from modules.common.utils.peak_filter import PeakFilter +from modules.common.component_type import ComponentType log = logging.getLogger(__name__) @@ -20,7 +21,7 @@ def __init__(self, component_config: PowerfoxCounterSetup) -> None: def initialize(self) -> None: self.store = get_counter_value_store(self.component_config.id) self.fault_state = FaultState(ComponentInfo.from_component_config(self.component_config)) - self.peak_filter = PeakFilter("counter", self.component_config.id, self.fault_state) + self.peak_filter = PeakFilter(ComponentType.COUNTER, self.component_config.id, self.fault_state) def update(self, session: Session) -> None: response = session.get('https://backend.powerfox.energy/api/2.0/my/' + self.component_config.configuration.id + diff --git a/packages/modules/devices/powerfox/powerfox/inverter.py b/packages/modules/devices/powerfox/powerfox/inverter.py index 56e60447b3..48b5b5ebe2 100644 --- a/packages/modules/devices/powerfox/powerfox/inverter.py +++ b/packages/modules/devices/powerfox/powerfox/inverter.py @@ -9,6 +9,7 @@ from modules.common.store import get_inverter_value_store from modules.devices.powerfox.powerfox.config import PowerfoxInverterSetup from modules.common.utils.peak_filter import PeakFilter +from modules.common.component_type import ComponentType log = logging.getLogger(__name__) @@ -20,7 +21,7 @@ def __init__(self, component_config: PowerfoxInverterSetup) -> None: def initialize(self) -> None: self.store = get_inverter_value_store(self.component_config.id) self.fault_state = FaultState(ComponentInfo.from_component_config(self.component_config)) - self.peak_filter = PeakFilter("inverter", self.component_config.id, self.fault_state) + self.peak_filter = PeakFilter(ComponentType.INVERTER, self.component_config.id, self.fault_state) def update(self, session: Session) -> None: response = session.get('https://backend.powerfox.energy/api/2.0/my/' + self.component_config.configuration.id + diff --git a/packages/modules/devices/qcells/qcells/bat.py b/packages/modules/devices/qcells/qcells/bat.py index d30c864f81..3a68bd58cd 100644 --- a/packages/modules/devices/qcells/qcells/bat.py +++ b/packages/modules/devices/qcells/qcells/bat.py @@ -9,6 +9,7 @@ from modules.common.store import get_bat_value_store from modules.devices.qcells.qcells.config import QCellsBatSetup from modules.common.utils.peak_filter import PeakFilter +from modules.common.component_type import ComponentType class KwargsDict(TypedDict): @@ -26,7 +27,7 @@ def initialize(self) -> None: self.client: ModbusTcpClient_ = self.kwargs['client'] self.store = get_bat_value_store(self.component_config.id) self.fault_state = FaultState(ComponentInfo.from_component_config(self.component_config)) - self.peak_filter = PeakFilter("bat", self.component_config.id, self.fault_state) + self.peak_filter = PeakFilter(ComponentType.BAT, self.component_config.id, self.fault_state) def update(self) -> None: power = self.client.read_input_registers(0x0016, ModbusDataType.INT_16, unit=self.__modbus_id) diff --git a/packages/modules/devices/qcells/qcells/counter.py b/packages/modules/devices/qcells/qcells/counter.py index 3b40413227..3102cf7f45 100644 --- a/packages/modules/devices/qcells/qcells/counter.py +++ b/packages/modules/devices/qcells/qcells/counter.py @@ -10,6 +10,7 @@ from modules.common.store import get_counter_value_store from modules.devices.qcells.qcells.config import QCellsCounterSetup from modules.common.utils.peak_filter import PeakFilter +from modules.common.component_type import ComponentType class KwargsDict(TypedDict): @@ -27,7 +28,7 @@ def initialize(self) -> None: self.client: ModbusTcpClient_ = self.kwargs['client'] self.store = get_counter_value_store(self.component_config.id) self.fault_state = FaultState(ComponentInfo.from_component_config(self.component_config)) - self.peak_filter = PeakFilter("counter", self.component_config.id, self.fault_state) + self.peak_filter = PeakFilter(ComponentType.COUNTER, self.component_config.id, self.fault_state) def update(self) -> None: power = self.client.read_input_registers(0x0046, ModbusDataType.INT_32, wordorder=Endian.Little, diff --git a/packages/modules/devices/qcells/qcells/inverter.py b/packages/modules/devices/qcells/qcells/inverter.py index 3dfcc01a77..4f147027d4 100644 --- a/packages/modules/devices/qcells/qcells/inverter.py +++ b/packages/modules/devices/qcells/qcells/inverter.py @@ -10,6 +10,7 @@ from modules.common.store import get_inverter_value_store from modules.devices.qcells.qcells.config import QCellsInverterSetup from modules.common.utils.peak_filter import PeakFilter +from modules.common.component_type import ComponentType class KwargsDict(TypedDict): @@ -27,7 +28,7 @@ def initialize(self) -> None: self.client: ModbusTcpClient_ = self.kwargs['client'] self.store = get_inverter_value_store(self.component_config.id) self.fault_state = FaultState(ComponentInfo.from_component_config(self.component_config)) - self.peak_filter = PeakFilter("inverter", self.component_config.id, self.fault_state) + self.peak_filter = PeakFilter(ComponentType.INVERTER, self.component_config.id, self.fault_state) def update(self) -> None: power_string1 = (self.client.read_input_registers( diff --git a/packages/modules/devices/rct/rct/bat.py b/packages/modules/devices/rct/rct/bat.py index bcb5fab3c6..54e83ebc35 100644 --- a/packages/modules/devices/rct/rct/bat.py +++ b/packages/modules/devices/rct/rct/bat.py @@ -9,6 +9,7 @@ from modules.devices.rct.rct.config import RctBatSetup from modules.devices.rct.rct.rct_lib import RCT from modules.common.utils.peak_filter import PeakFilter +from modules.common.component_type import ComponentType log = logging.getLogger(__name__) @@ -20,7 +21,7 @@ def __init__(self, component_config: RctBatSetup) -> None: def initialize(self) -> None: self.store = get_bat_value_store(self.component_config.id) self.fault_state = FaultState(ComponentInfo.from_component_config(self.component_config)) - self.peak_filter = PeakFilter("bat", self.component_config.id, self.fault_state) + self.peak_filter = PeakFilter(ComponentType.BAT, self.component_config.id, self.fault_state) def update(self, rct_client: RCT) -> None: my_tab = [] diff --git a/packages/modules/devices/rct/rct/counter.py b/packages/modules/devices/rct/rct/counter.py index c45628f24a..d43487ba5a 100644 --- a/packages/modules/devices/rct/rct/counter.py +++ b/packages/modules/devices/rct/rct/counter.py @@ -9,6 +9,7 @@ from modules.devices.rct.rct.config import RctCounterSetup from modules.devices.rct.rct.rct_lib import RCT from modules.common.utils.peak_filter import PeakFilter +from modules.common.component_type import ComponentType log = logging.getLogger(__name__) @@ -20,7 +21,7 @@ def __init__(self, component_config: RctCounterSetup) -> None: def initialize(self) -> None: self.store = get_counter_value_store(self.component_config.id) self.fault_state = FaultState(ComponentInfo.from_component_config(self.component_config)) - self.peak_filter = PeakFilter("counter", self.component_config.id, self.fault_state) + self.peak_filter = PeakFilter(ComponentType.COUNTER, self.component_config.id, self.fault_state) def update(self, rct_client: RCT): # generate id list for fast bulk read diff --git a/packages/modules/devices/rct/rct/inverter.py b/packages/modules/devices/rct/rct/inverter.py index 2728a14615..d8e6efb608 100644 --- a/packages/modules/devices/rct/rct/inverter.py +++ b/packages/modules/devices/rct/rct/inverter.py @@ -7,6 +7,7 @@ from modules.devices.rct.rct.config import RctInverterSetup from modules.devices.rct.rct.rct_lib import RCT from modules.common.utils.peak_filter import PeakFilter +from modules.common.component_type import ComponentType class RctInverter(AbstractInverter): @@ -16,7 +17,7 @@ def __init__(self, component_config: RctInverterSetup) -> None: def initialize(self) -> None: self.store = get_inverter_value_store(self.component_config.id) self.fault_state = FaultState(ComponentInfo.from_component_config(self.component_config)) - self.peak_filter = PeakFilter("inverter", self.component_config.id, self.fault_state) + self.peak_filter = PeakFilter(ComponentType.INVERTER, self.component_config.id, self.fault_state) def update(self, rct_client: RCT) -> None: my_tab = [] diff --git a/packages/modules/devices/saxpower/saxpower/bat.py b/packages/modules/devices/saxpower/saxpower/bat.py index e57a8805b1..6149d2b52a 100644 --- a/packages/modules/devices/saxpower/saxpower/bat.py +++ b/packages/modules/devices/saxpower/saxpower/bat.py @@ -11,6 +11,7 @@ from modules.common.store import get_bat_value_store from modules.devices.saxpower.saxpower.config import SaxpowerBatSetup from modules.common.utils.peak_filter import PeakFilter +from modules.common.component_type import ComponentType class KwargsDict(TypedDict): @@ -31,7 +32,7 @@ def initialize(self) -> None: self.sim_counter = SimCounter(self.__device_id, self.component_config.id, prefix="speicher") self.store = get_bat_value_store(self.component_config.id) self.fault_state = FaultState(ComponentInfo.from_component_config(self.component_config)) - self.peak_filter = PeakFilter("bat", self.component_config.id, self.fault_state) + self.peak_filter = PeakFilter(ComponentType.BAT, self.component_config.id, self.fault_state) def update(self) -> None: with self.__tcp_client: diff --git a/packages/modules/devices/saxpower/saxpower/counter.py b/packages/modules/devices/saxpower/saxpower/counter.py index b015daa4b5..bc6ace7263 100644 --- a/packages/modules/devices/saxpower/saxpower/counter.py +++ b/packages/modules/devices/saxpower/saxpower/counter.py @@ -10,6 +10,7 @@ from modules.common.store import get_counter_value_store from modules.devices.saxpower.saxpower.config import SaxpowerCounterSetup from modules.common.utils.peak_filter import PeakFilter +from modules.common.component_type import ComponentType class KwargsDict(TypedDict): @@ -30,7 +31,7 @@ def initialize(self) -> None: self.store = get_counter_value_store(self.component_config.id) self.fault_state = FaultState(ComponentInfo.from_component_config(self.component_config)) self.sim_counter = SimCounter(self.__device_id, self.component_config.id, prefix="bezug") - self.peak_filter = PeakFilter("counter", self.component_config.id, self.fault_state) + self.peak_filter = PeakFilter(ComponentType.COUNTER, self.component_config.id, self.fault_state) def update(self) -> None: power = self.client.read_holding_registers(48, ModbusDataType.INT_16, unit=self.__modbus_id) diff --git a/packages/modules/devices/shelly/shelly/bat.py b/packages/modules/devices/shelly/shelly/bat.py index dcf9525441..617d50bddf 100644 --- a/packages/modules/devices/shelly/shelly/bat.py +++ b/packages/modules/devices/shelly/shelly/bat.py @@ -11,6 +11,7 @@ from modules.devices.shelly.shelly.config import ShellyBatSetup from modules.devices.shelly.shelly.constants import ALPHABETICAL_INDEX from modules.common.utils.peak_filter import PeakFilter +from modules.common.component_type import ComponentType log = logging.getLogger(__name__) @@ -37,7 +38,7 @@ def initialize(self) -> None: self.sim_counter = SimCounter(self.__device_id, self.component_config.id, prefix="speicher") self.store = get_bat_value_store(self.component_config.id) self.fault_state = FaultState(ComponentInfo.from_component_config(self.component_config)) - self.peak_filter = PeakFilter("bat", self.component_config.id, self.fault_state) + self.peak_filter = PeakFilter(ComponentType.BAT, self.component_config.id, self.fault_state) def update(self) -> None: if self.generation == 1: diff --git a/packages/modules/devices/shelly/shelly/counter.py b/packages/modules/devices/shelly/shelly/counter.py index 29ddd2ba41..25de11457f 100644 --- a/packages/modules/devices/shelly/shelly/counter.py +++ b/packages/modules/devices/shelly/shelly/counter.py @@ -11,6 +11,7 @@ from modules.devices.shelly.shelly.config import ShellyCounterSetup from modules.devices.shelly.shelly.constants import ALPHABETICAL_INDEX from modules.common.utils.peak_filter import PeakFilter +from modules.common.component_type import ComponentType log = logging.getLogger(__name__) @@ -37,7 +38,7 @@ def initialize(self) -> None: self.sim_counter = SimCounter(self.__device_id, self.component_config.id, prefix="bezug") self.store = get_counter_value_store(self.component_config.id) self.fault_state = FaultState(ComponentInfo.from_component_config(self.component_config)) - self.peak_filter = PeakFilter("counter", self.component_config.id, self.fault_state) + self.peak_filter = PeakFilter(ComponentType.COUNTER, self.component_config.id, self.fault_state) def update(self) -> None: power = 0 diff --git a/packages/modules/devices/shelly/shelly/inverter.py b/packages/modules/devices/shelly/shelly/inverter.py index c23b70e4a9..1cc9f4faad 100644 --- a/packages/modules/devices/shelly/shelly/inverter.py +++ b/packages/modules/devices/shelly/shelly/inverter.py @@ -11,6 +11,7 @@ from modules.devices.shelly.shelly.config import ShellyInverterSetup from modules.devices.shelly.shelly.constants import ALPHABETICAL_INDEX from modules.common.utils.peak_filter import PeakFilter +from modules.common.component_type import ComponentType log = logging.getLogger(__name__) @@ -37,7 +38,7 @@ def initialize(self) -> None: self.sim_counter = SimCounter(self.__device_id, self.component_config.id, prefix="pv") self.store = get_inverter_value_store(self.component_config.id) self.fault_state = FaultState(ComponentInfo.from_component_config(self.component_config)) - self.peak_filter = PeakFilter("inverter", self.component_config.id, self.fault_state) + self.peak_filter = PeakFilter(ComponentType.INVERTER, self.component_config.id, self.fault_state) def update(self) -> None: power = 0 diff --git a/packages/modules/devices/siemens/siemens/bat.py b/packages/modules/devices/siemens/siemens/bat.py index cd2c2bfebd..3200fffb58 100644 --- a/packages/modules/devices/siemens/siemens/bat.py +++ b/packages/modules/devices/siemens/siemens/bat.py @@ -11,6 +11,7 @@ from modules.common.store import get_bat_value_store from modules.devices.siemens.siemens.config import SiemensBatSetup from modules.common.utils.peak_filter import PeakFilter +from modules.common.component_type import ComponentType class KwargsDict(TypedDict): @@ -31,7 +32,7 @@ def initialize(self) -> None: self.sim_counter = SimCounter(self.__device_id, self.component_config.id, prefix="speicher") self.store = get_bat_value_store(self.component_config.id) self.fault_state = FaultState(ComponentInfo.from_component_config(self.component_config)) - self.peak_filter = PeakFilter("bat", self.component_config.id, self.fault_state) + self.peak_filter = PeakFilter(ComponentType.BAT, self.component_config.id, self.fault_state) def update(self) -> None: with self.__tcp_client: diff --git a/packages/modules/devices/siemens/siemens/counter.py b/packages/modules/devices/siemens/siemens/counter.py index 7960e91def..6f694febdb 100644 --- a/packages/modules/devices/siemens/siemens/counter.py +++ b/packages/modules/devices/siemens/siemens/counter.py @@ -11,6 +11,7 @@ from modules.common.store import get_counter_value_store from modules.devices.siemens.siemens.config import SiemensCounterSetup from modules.common.utils.peak_filter import PeakFilter +from modules.common.component_type import ComponentType class KwargsDict(TypedDict): @@ -31,7 +32,7 @@ def initialize(self) -> None: self.sim_counter = SimCounter(self.__device_id, self.component_config.id, prefix="bezug") self.store = get_counter_value_store(self.component_config.id) self.fault_state = FaultState(ComponentInfo.from_component_config(self.component_config)) - self.peak_filter = PeakFilter("counter", self.component_config.id, self.fault_state) + self.peak_filter = PeakFilter(ComponentType.COUNTER, self.component_config.id, self.fault_state) def update(self) -> None: with self.__tcp_client: diff --git a/packages/modules/devices/siemens/siemens/inverter.py b/packages/modules/devices/siemens/siemens/inverter.py index 2f01ec66b1..c190ee7230 100644 --- a/packages/modules/devices/siemens/siemens/inverter.py +++ b/packages/modules/devices/siemens/siemens/inverter.py @@ -11,6 +11,7 @@ from modules.common.store import get_inverter_value_store from modules.devices.siemens.siemens.config import SiemensInverterSetup from modules.common.utils.peak_filter import PeakFilter +from modules.common.component_type import ComponentType class KwargsDict(TypedDict): @@ -31,7 +32,7 @@ def initialize(self) -> None: self.sim_counter = SimCounter(self.__device_id, self.component_config.id, prefix="pv") self.store = get_inverter_value_store(self.component_config.id) self.fault_state = FaultState(ComponentInfo.from_component_config(self.component_config)) - self.peak_filter = PeakFilter("inverter", self.component_config.id, self.fault_state) + self.peak_filter = PeakFilter(ComponentType.INVERTER, self.component_config.id, self.fault_state) def update(self) -> None: with self.__tcp_client: diff --git a/packages/modules/devices/siemens/siemens_sentron/bat.py b/packages/modules/devices/siemens/siemens_sentron/bat.py index 58986dd1fa..fa25f09b03 100644 --- a/packages/modules/devices/siemens/siemens_sentron/bat.py +++ b/packages/modules/devices/siemens/siemens_sentron/bat.py @@ -10,6 +10,7 @@ from modules.common.store import get_bat_value_store from modules.devices.siemens.siemens_sentron.config import SiemensSentronBatSetup from modules.common.utils.peak_filter import PeakFilter +from modules.common.component_type import ComponentType class KwargsDict(TypedDict): @@ -27,7 +28,7 @@ def initialize(self) -> None: self.__modbus_id: int = self.kwargs['modbus_id'] self.store = get_bat_value_store(self.component_config.id) self.fault_state = FaultState(ComponentInfo.from_component_config(self.component_config)) - self.peak_filter = PeakFilter("bat", self.component_config.id, self.fault_state) + self.peak_filter = PeakFilter(ComponentType.BAT, self.component_config.id, self.fault_state) def update(self) -> None: with self.__tcp_client: diff --git a/packages/modules/devices/siemens/siemens_sentron/counter.py b/packages/modules/devices/siemens/siemens_sentron/counter.py index b5e6639296..b3e2e25f52 100644 --- a/packages/modules/devices/siemens/siemens_sentron/counter.py +++ b/packages/modules/devices/siemens/siemens_sentron/counter.py @@ -10,6 +10,7 @@ from modules.common.store import get_counter_value_store from modules.devices.siemens.siemens_sentron.config import SiemensSentronCounterSetup from modules.common.utils.peak_filter import PeakFilter +from modules.common.component_type import ComponentType class KwargsDict(TypedDict): @@ -27,7 +28,7 @@ def initialize(self) -> None: self.__modbus_id: int = self.kwargs['modbus_id'] self.store = get_counter_value_store(self.component_config.id) self.fault_state = FaultState(ComponentInfo.from_component_config(self.component_config)) - self.peak_filter = PeakFilter("counter", self.component_config.id, self.fault_state) + self.peak_filter = PeakFilter(ComponentType.COUNTER, self.component_config.id, self.fault_state) def update(self) -> None: with self.__tcp_client: diff --git a/packages/modules/devices/siemens/siemens_sentron/inverter.py b/packages/modules/devices/siemens/siemens_sentron/inverter.py index 73fe1393a3..6a54107a25 100644 --- a/packages/modules/devices/siemens/siemens_sentron/inverter.py +++ b/packages/modules/devices/siemens/siemens_sentron/inverter.py @@ -10,6 +10,7 @@ from modules.common.store import get_inverter_value_store from modules.devices.siemens.siemens_sentron.config import SiemensSentronInverterSetup from modules.common.utils.peak_filter import PeakFilter +from modules.common.component_type import ComponentType class KwargsDict(TypedDict): @@ -27,7 +28,7 @@ def initialize(self) -> None: self.__modbus_id: int = self.kwargs['modbus_id'] self.store = get_inverter_value_store(self.component_config.id) self.fault_state = FaultState(ComponentInfo.from_component_config(self.component_config)) - self.peak_filter = PeakFilter("inverter", self.component_config.id, self.fault_state) + self.peak_filter = PeakFilter(ComponentType.INVERTER, self.component_config.id, self.fault_state) def update(self) -> None: with self.__tcp_client: diff --git a/packages/modules/devices/sigenergy/sigenergy/bat.py b/packages/modules/devices/sigenergy/sigenergy/bat.py index 7e5b480dec..26cb612de7 100644 --- a/packages/modules/devices/sigenergy/sigenergy/bat.py +++ b/packages/modules/devices/sigenergy/sigenergy/bat.py @@ -10,6 +10,7 @@ from modules.common.store import get_bat_value_store from modules.devices.sigenergy.sigenergy.config import SigenergyBatSetup from modules.common.utils.peak_filter import PeakFilter +from modules.common.component_type import ComponentType log = logging.getLogger(__name__) @@ -30,7 +31,7 @@ def initialize(self) -> None: self.store = get_bat_value_store(self.component_config.id) self.fault_state = FaultState(ComponentInfo.from_component_config(self.component_config)) self.sim_counter = SimCounter(self.__device_id, self.component_config.id, prefix="speicher") - self.peak_filter = PeakFilter("bat", self.component_config.id, self.fault_state) + self.peak_filter = PeakFilter(ComponentType.BAT, self.component_config.id, self.fault_state) self.last_mode = 'Undefined' def update(self) -> None: diff --git a/packages/modules/devices/sigenergy/sigenergy/counter.py b/packages/modules/devices/sigenergy/sigenergy/counter.py index 9fa2aea461..f8d4e2b7c7 100644 --- a/packages/modules/devices/sigenergy/sigenergy/counter.py +++ b/packages/modules/devices/sigenergy/sigenergy/counter.py @@ -8,6 +8,7 @@ from modules.common.store import get_counter_value_store from modules.devices.sigenergy.sigenergy.config import SigenergyCounterSetup from modules.common.utils.peak_filter import PeakFilter +from modules.common.component_type import ComponentType class KwargsDict(TypedDict): @@ -26,7 +27,7 @@ def initialize(self) -> None: self.store = get_counter_value_store(self.component_config.id) self.fault_state = FaultState(ComponentInfo.from_component_config(self.component_config)) self.sim_counter = SimCounter(self.__device_id, self.component_config.id, prefix="bezug") - self.peak_filter = PeakFilter("counter", self.component_config.id, self.fault_state) + self.peak_filter = PeakFilter(ComponentType.COUNTER, self.component_config.id, self.fault_state) def update(self): unit = self.component_config.configuration.modbus_id diff --git a/packages/modules/devices/sigenergy/sigenergy/inverter.py b/packages/modules/devices/sigenergy/sigenergy/inverter.py index 073f0cf8a9..06c1d824d4 100644 --- a/packages/modules/devices/sigenergy/sigenergy/inverter.py +++ b/packages/modules/devices/sigenergy/sigenergy/inverter.py @@ -9,6 +9,7 @@ from modules.common.store import get_inverter_value_store from modules.devices.sigenergy.sigenergy.config import SigenergyInverterSetup from modules.common.utils.peak_filter import PeakFilter +from modules.common.component_type import ComponentType class KwargsDict(TypedDict): @@ -27,7 +28,7 @@ def initialize(self) -> None: self.store = get_inverter_value_store(self.component_config.id) self.fault_state = FaultState(ComponentInfo.from_component_config(self.component_config)) self.sim_counter = SimCounter(self.__device_id, self.component_config.id, prefix="pv") - self.peak_filter = PeakFilter("inverter", self.component_config.id, self.fault_state) + self.peak_filter = PeakFilter(ComponentType.INVERTER, self.component_config.id, self.fault_state) def update(self) -> None: unit = self.component_config.configuration.modbus_id diff --git a/packages/modules/devices/sma/sma_sunny_boy/bat.py b/packages/modules/devices/sma/sma_sunny_boy/bat.py index 6e3f1aafdb..b405760df1 100644 --- a/packages/modules/devices/sma/sma_sunny_boy/bat.py +++ b/packages/modules/devices/sma/sma_sunny_boy/bat.py @@ -10,6 +10,7 @@ from modules.common.store import get_bat_value_store from modules.devices.sma.sma_sunny_boy.config import SmaSunnyBoyBatSetup from modules.common.utils.peak_filter import PeakFilter +from modules.common.component_type import ComponentType log = logging.getLogger(__name__) @@ -29,7 +30,7 @@ def initialize(self) -> None: self.__tcp_client: ModbusTcpClient_ = self.kwargs['client'] self.store = get_bat_value_store(self.component_config.id) self.fault_state = FaultState(ComponentInfo.from_component_config(self.component_config)) - self.peak_filter = PeakFilter("bat", self.component_config.id, self.fault_state) + self.peak_filter = PeakFilter(ComponentType.BAT, self.component_config.id, self.fault_state) def read(self) -> BatState: unit = self.component_config.configuration.modbus_id diff --git a/packages/modules/devices/sma/sma_sunny_boy/bat_smart_energy.py b/packages/modules/devices/sma/sma_sunny_boy/bat_smart_energy.py index 9fd1af9ebe..8e320ea5be 100644 --- a/packages/modules/devices/sma/sma_sunny_boy/bat_smart_energy.py +++ b/packages/modules/devices/sma/sma_sunny_boy/bat_smart_energy.py @@ -10,6 +10,7 @@ from modules.common.component_state import BatState from modules.common.abstract_device import AbstractBat from modules.common.utils.peak_filter import PeakFilter +from modules.common.component_type import ComponentType log = logging.getLogger(__name__) @@ -45,7 +46,7 @@ def initialize(self) -> None: self.fault_state = FaultState(ComponentInfo.from_component_config(self.component_config)) self.last_mode = 'Undefined' self.inverter_type = None - self.peak_filter = PeakFilter("bat", self.component_config.id, self.fault_state) + self.peak_filter = PeakFilter(ComponentType.BAT, self.component_config.id, self.fault_state) def update(self) -> None: self.store.set(self.read()) diff --git a/packages/modules/devices/sma/sma_sunny_boy/bat_tesvolt.py b/packages/modules/devices/sma/sma_sunny_boy/bat_tesvolt.py index 2eadfe6db1..166898839e 100644 --- a/packages/modules/devices/sma/sma_sunny_boy/bat_tesvolt.py +++ b/packages/modules/devices/sma/sma_sunny_boy/bat_tesvolt.py @@ -11,6 +11,7 @@ from modules.common.store import get_bat_value_store from modules.devices.sma.sma_sunny_boy.config import SmaTesvoltBatSetup from modules.common.utils.peak_filter import PeakFilter +from modules.common.component_type import ComponentType log = logging.getLogger(__name__) @@ -31,7 +32,7 @@ def initialize(self) -> None: self.sim_counter = SimCounter(self.__device_id, self.component_config.id, prefix="bezug") self.store = get_bat_value_store(self.component_config.id) self.fault_state = FaultState(ComponentInfo.from_component_config(self.component_config)) - self.peak_filter = PeakFilter("bat", self.component_config.id, self.fault_state) + self.peak_filter = PeakFilter(ComponentType.BAT, self.component_config.id, self.fault_state) def update(self) -> None: soc = self.__tcp_client.read_input_registers(1056, ModbusDataType.INT_32, unit=25) / 10 diff --git a/packages/modules/devices/sma/sma_sunny_boy/counter.py b/packages/modules/devices/sma/sma_sunny_boy/counter.py index c2605704af..5f14524d63 100644 --- a/packages/modules/devices/sma/sma_sunny_boy/counter.py +++ b/packages/modules/devices/sma/sma_sunny_boy/counter.py @@ -11,6 +11,7 @@ from modules.common.store import get_counter_value_store from modules.devices.sma.sma_sunny_boy.config import SmaSunnyBoyCounterSetup from modules.common.utils.peak_filter import PeakFilter +from modules.common.component_type import ComponentType class KwargsDict(TypedDict): @@ -29,7 +30,7 @@ def initialize(self) -> None: self.sim_counter = SimCounter(self.__device_id, self.component_config.id, prefix="bezug") self.store = get_counter_value_store(self.component_config.id) self.fault_state = FaultState(ComponentInfo.from_component_config(self.component_config)) - self.peak_filter = PeakFilter("counter", self.component_config.id, self.fault_state) + self.peak_filter = PeakFilter(ComponentType.COUNTER, self.component_config.id, self.fault_state) def update(self): unit = self.component_config.configuration.modbus_id diff --git a/packages/modules/devices/sma/sma_sunny_boy/inverter.py b/packages/modules/devices/sma/sma_sunny_boy/inverter.py index 907889c28d..39db80d84a 100644 --- a/packages/modules/devices/sma/sma_sunny_boy/inverter.py +++ b/packages/modules/devices/sma/sma_sunny_boy/inverter.py @@ -13,6 +13,7 @@ from modules.devices.sma.sma_sunny_boy.inv_version import SmaInverterVersion from modules.common.simcount import SimCounter from modules.common.utils.peak_filter import PeakFilter +from modules.common.component_type import ComponentType log = logging.getLogger(__name__) @@ -39,7 +40,7 @@ def initialize(self) -> None: self.store = get_inverter_value_store(self.component_config.id) self.fault_state = FaultState(ComponentInfo.from_component_config(self.component_config)) self.sim_counter = SimCounter(self.kwargs['device_id'], self.component_config.id, prefix="Wechselrichter") - self.peak_filter = PeakFilter("inverter", self.component_config.id, self.fault_state) + self.peak_filter = PeakFilter(ComponentType.INVERTER, self.component_config.id, self.fault_state) def update(self) -> None: self.store.set(self.read()) diff --git a/packages/modules/devices/sma/sma_sunny_island/bat.py b/packages/modules/devices/sma/sma_sunny_island/bat.py index 9720c7873c..7d866b303d 100644 --- a/packages/modules/devices/sma/sma_sunny_island/bat.py +++ b/packages/modules/devices/sma/sma_sunny_island/bat.py @@ -10,6 +10,7 @@ from modules.common.store import get_bat_value_store from modules.devices.sma.sma_sunny_island.config import SmaSunnyIslandBatSetup from modules.common.utils.peak_filter import PeakFilter +from modules.common.component_type import ComponentType class KwargsDict(TypedDict): @@ -25,7 +26,7 @@ def initialize(self) -> None: self.__tcp_client: modbus.ModbusTcpClient_ = self.kwargs['client'] self.store = get_bat_value_store(self.component_config.id) self.fault_state = FaultState(ComponentInfo.from_component_config(self.component_config)) - self.peak_filter = PeakFilter("bat", self.component_config.id, self.fault_state) + self.peak_filter = PeakFilter(ComponentType.BAT, self.component_config.id, self.fault_state) def read(self) -> BatState: unit = self.component_config.configuration.modbus_id diff --git a/packages/modules/devices/sma/sma_webbox/inverter.py b/packages/modules/devices/sma/sma_webbox/inverter.py index c98498193b..ff487f8788 100644 --- a/packages/modules/devices/sma/sma_webbox/inverter.py +++ b/packages/modules/devices/sma/sma_webbox/inverter.py @@ -9,6 +9,7 @@ from modules.common.store import get_inverter_value_store from modules.devices.sma.sma_webbox.config import SmaWebboxInverterSetup from modules.common.utils.peak_filter import PeakFilter +from modules.common.component_type import ComponentType class KwargsDict(TypedDict): @@ -24,7 +25,7 @@ def initialize(self) -> None: self.ip_address: str = self.kwargs['ip_address'] self.store = get_inverter_value_store(self.component_config.id) self.fault_state = FaultState(ComponentInfo.from_component_config(self.component_config)) - self.peak_filter = PeakFilter("inverter", self.component_config.id, self.fault_state) + self.peak_filter = PeakFilter(ComponentType.INVERTER, self.component_config.id, self.fault_state) def update(self) -> None: self.store.set(self.read()) diff --git a/packages/modules/devices/smart_me/smart_me/counter.py b/packages/modules/devices/smart_me/smart_me/counter.py index 75a107b9df..5a9be50ebf 100644 --- a/packages/modules/devices/smart_me/smart_me/counter.py +++ b/packages/modules/devices/smart_me/smart_me/counter.py @@ -10,6 +10,7 @@ from modules.common.store import get_counter_value_store from modules.devices.smart_me.smart_me.config import SmartMeCounterSetup from modules.common.utils.peak_filter import PeakFilter +from modules.common.component_type import ComponentType log = logging.getLogger(__name__) @@ -21,7 +22,7 @@ def __init__(self, component_config: SmartMeCounterSetup) -> None: def initialize(self) -> None: self.store = get_counter_value_store(self.component_config.id) self.fault_state = FaultState(ComponentInfo.from_component_config(self.component_config)) - self.peak_filter = PeakFilter("counter", self.component_config.id, self.fault_state) + self.peak_filter = PeakFilter(ComponentType.COUNTER, self.component_config.id, self.fault_state) def update(self, session: Session) -> None: def parse_phase_values(key: str) -> List[float]: diff --git a/packages/modules/devices/smart_me/smart_me/inverter.py b/packages/modules/devices/smart_me/smart_me/inverter.py index e14867c7c3..47eb34d90c 100644 --- a/packages/modules/devices/smart_me/smart_me/inverter.py +++ b/packages/modules/devices/smart_me/smart_me/inverter.py @@ -9,6 +9,7 @@ from modules.common.store import get_inverter_value_store from modules.devices.smart_me.smart_me.config import SmartMeInverterSetup from modules.common.utils.peak_filter import PeakFilter +from modules.common.component_type import ComponentType log = logging.getLogger(__name__) @@ -20,7 +21,7 @@ def __init__(self, component_config: SmartMeInverterSetup) -> None: def initialize(self) -> None: self.store = get_inverter_value_store(self.component_config.id) self.fault_state = FaultState(ComponentInfo.from_component_config(self.component_config)) - self.peak_filter = PeakFilter("inverter", self.component_config.id, self.fault_state) + self.peak_filter = PeakFilter(ComponentType.INVERTER, self.component_config.id, self.fault_state) def update(self, session: Session) -> None: response = session.get('https://smart-me.com:443/api/Devices/' + diff --git a/packages/modules/devices/smartfox/smartfox/counter.py b/packages/modules/devices/smartfox/smartfox/counter.py index 683bd13406..40ab8b147a 100644 --- a/packages/modules/devices/smartfox/smartfox/counter.py +++ b/packages/modules/devices/smartfox/smartfox/counter.py @@ -11,6 +11,7 @@ from modules.common.store import get_counter_value_store from modules.devices.smartfox.smartfox.config import SmartfoxCounterSetup from modules.common.utils.peak_filter import PeakFilter +from modules.common.component_type import ComponentType log = logging.getLogger(__name__) @@ -28,7 +29,7 @@ def initialize(self) -> None: self.ip_address: int = self.kwargs['ip_address'] self.store = get_counter_value_store(self.component_config.id) self.fault_state = FaultState(ComponentInfo.from_component_config(self.component_config)) - self.peak_filter = PeakFilter("counter", self.component_config.id, self.fault_state) + self.peak_filter = PeakFilter(ComponentType.COUNTER, self.component_config.id, self.fault_state) def update(self) -> None: def get_xml_text(attribute_value: str) -> str: diff --git a/packages/modules/devices/sofar/sofar/bat.py b/packages/modules/devices/sofar/sofar/bat.py index 76bb8779b4..c06c9ec0be 100644 --- a/packages/modules/devices/sofar/sofar/bat.py +++ b/packages/modules/devices/sofar/sofar/bat.py @@ -9,6 +9,7 @@ from modules.common.store import get_bat_value_store from modules.devices.sofar.sofar.config import SofarBatSetup from modules.common.utils.peak_filter import PeakFilter +from modules.common.component_type import ComponentType class KwargsDict(TypedDict): @@ -26,7 +27,7 @@ def initialize(self) -> None: self.__modbus_id: int = self.kwargs['modbus_id'] self.store = get_bat_value_store(self.component_config.id) self.fault_state = FaultState(ComponentInfo.from_component_config(self.component_config)) - self.peak_filter = PeakFilter("bat", self.component_config.id, self.fault_state) + self.peak_filter = PeakFilter(ComponentType.BAT, self.component_config.id, self.fault_state) def update(self) -> None: # 0x900D High 8 bits: the number of battery packs in parallel diff --git a/packages/modules/devices/sofar/sofar/counter.py b/packages/modules/devices/sofar/sofar/counter.py index ec9e28b997..bed82dc32c 100644 --- a/packages/modules/devices/sofar/sofar/counter.py +++ b/packages/modules/devices/sofar/sofar/counter.py @@ -9,6 +9,7 @@ from modules.common.component_state import CounterState from modules.common.abstract_device import AbstractCounter from modules.common.utils.peak_filter import PeakFilter +from modules.common.component_type import ComponentType class KwargsDict(TypedDict): @@ -26,7 +27,7 @@ def initialize(self) -> None: self.__modbus_id: int = self.kwargs['modbus_id'] self.store = get_counter_value_store(self.component_config.id) self.fault_state = FaultState(ComponentInfo.from_component_config(self.component_config)) - self.peak_filter = PeakFilter("counter", self.component_config.id, self.fault_state) + self.peak_filter = PeakFilter(ComponentType.COUNTER, self.component_config.id, self.fault_state) def update(self): # 0x0485 ActivePower_output_total Int16 in kW accuracy 0,01 discharge + charge - diff --git a/packages/modules/devices/sofar/sofar/inverter.py b/packages/modules/devices/sofar/sofar/inverter.py index 361778e056..253c066349 100644 --- a/packages/modules/devices/sofar/sofar/inverter.py +++ b/packages/modules/devices/sofar/sofar/inverter.py @@ -9,6 +9,7 @@ from modules.common.store import get_inverter_value_store from modules.devices.sofar.sofar.config import SofarInverterSetup from modules.common.utils.peak_filter import PeakFilter +from modules.common.component_type import ComponentType class KwargsDict(TypedDict): @@ -26,7 +27,7 @@ def initialize(self) -> None: self.__modbus_id: int = self.kwargs['modbus_id'] self.store = get_inverter_value_store(self.component_config.id) self.fault_state = FaultState(ComponentInfo.from_component_config(self.component_config)) - self.peak_filter = PeakFilter("inverter", self.component_config.id, self.fault_state) + self.peak_filter = PeakFilter(ComponentType.INVERTER, self.component_config.id, self.fault_state) def update(self) -> None: # 0x05C4 Power_PV_Total UINT16 in kW accuracy 0,1 diff --git a/packages/modules/devices/solakon/solakon_one/bat.py b/packages/modules/devices/solakon/solakon_one/bat.py index fbecb2a031..933c0bd339 100644 --- a/packages/modules/devices/solakon/solakon_one/bat.py +++ b/packages/modules/devices/solakon/solakon_one/bat.py @@ -9,6 +9,7 @@ from modules.common.store import get_bat_value_store from modules.devices.solakon.solakon_one.config import SolakonOneBatSetup from modules.common.utils.peak_filter import PeakFilter +from modules.common.component_type import ComponentType log = logging.getLogger(__name__) @@ -26,7 +27,7 @@ def initialize(self) -> None: self.client: ModbusTcpClient_ = self.kwargs['client'] self.store = get_bat_value_store(self.component_config.id) self.fault_state = FaultState(ComponentInfo.from_component_config(self.component_config)) - self.peak_filter = PeakFilter("bat", self.component_config.id, self.fault_state) + self.peak_filter = PeakFilter(ComponentType.BAT, self.component_config.id, self.fault_state) def update(self) -> None: unit = self.component_config.configuration.modbus_id diff --git a/packages/modules/devices/solakon/solakon_one/inverter.py b/packages/modules/devices/solakon/solakon_one/inverter.py index c6c0440c8b..72e60b53f9 100644 --- a/packages/modules/devices/solakon/solakon_one/inverter.py +++ b/packages/modules/devices/solakon/solakon_one/inverter.py @@ -9,6 +9,7 @@ from modules.common.store import get_inverter_value_store from modules.devices.solakon.solakon_one.config import SolakonOneInverterSetup from modules.common.utils.peak_filter import PeakFilter +from modules.common.component_type import ComponentType class KwargsDict(TypedDict): @@ -24,7 +25,7 @@ def initialize(self) -> None: self.client: ModbusTcpClient_ = self.kwargs['client'] self.store = get_inverter_value_store(self.component_config.id) self.fault_state = FaultState(ComponentInfo.from_component_config(self.component_config)) - self.peak_filter = PeakFilter("inverter", self.component_config.id, self.fault_state) + self.peak_filter = PeakFilter(ComponentType.INVERTER, self.component_config.id, self.fault_state) def update(self) -> None: unit = self.component_config.configuration.modbus_id diff --git a/packages/modules/devices/solar_log/solar_log/counter.py b/packages/modules/devices/solar_log/solar_log/counter.py index d8f2c702c3..f6a579a8d5 100644 --- a/packages/modules/devices/solar_log/solar_log/counter.py +++ b/packages/modules/devices/solar_log/solar_log/counter.py @@ -10,6 +10,7 @@ from modules.common.store import get_counter_value_store from modules.devices.solar_log.solar_log.config import SolarLogCounterSetup from modules.common.utils.peak_filter import PeakFilter +from modules.common.component_type import ComponentType log = logging.getLogger(__name__) @@ -28,7 +29,7 @@ def initialize(self) -> None: self.sim_counter = SimCounter(self.__device_id, self.component_config.id, prefix="bezug") self.store = get_counter_value_store(self.component_config.id) self.fault_state = FaultState(ComponentInfo.from_component_config(self.component_config)) - self.peak_filter = PeakFilter("counter", self.component_config.id, self.fault_state) + self.peak_filter = PeakFilter(ComponentType.COUNTER, self.component_config.id, self.fault_state) def update(self, response: Dict) -> None: self.store_values(self.get_power(response)) diff --git a/packages/modules/devices/solar_log/solar_log/inverter.py b/packages/modules/devices/solar_log/solar_log/inverter.py index de03bfc730..3be7553a8d 100644 --- a/packages/modules/devices/solar_log/solar_log/inverter.py +++ b/packages/modules/devices/solar_log/solar_log/inverter.py @@ -9,6 +9,7 @@ from modules.common.store import get_inverter_value_store from modules.devices.solar_log.solar_log.config import SolarLogInverterSetup from modules.common.utils.peak_filter import PeakFilter +from modules.common.component_type import ComponentType log = logging.getLogger(__name__) @@ -21,7 +22,7 @@ def __init__(self, def initialize(self) -> None: self.store = get_inverter_value_store(self.component_config.id) self.fault_state = FaultState(ComponentInfo.from_component_config(self.component_config)) - self.peak_filter = PeakFilter("inverter", self.component_config.id, self.fault_state) + self.peak_filter = PeakFilter(ComponentType.INVERTER, self.component_config.id, self.fault_state) def update(self, response: Dict) -> None: self.store.set(self.get_values(response)) diff --git a/packages/modules/devices/solar_view/solar_view/counter.py b/packages/modules/devices/solar_view/solar_view/counter.py index daef9fc444..fa550e98cb 100644 --- a/packages/modules/devices/solar_view/solar_view/counter.py +++ b/packages/modules/devices/solar_view/solar_view/counter.py @@ -9,6 +9,7 @@ from modules.devices.solar_view.solar_view.api import request from modules.devices.solar_view.solar_view.config import SolarViewCounterSetup from modules.common.utils.peak_filter import PeakFilter +from modules.common.component_type import ComponentType log = logging.getLogger(__name__) @@ -20,7 +21,7 @@ def __init__(self, component_config: SolarViewCounterSetup) -> None: def initialize(self) -> None: self.store = get_counter_value_store(self.component_config.id) self.fault_state = FaultState(ComponentInfo.from_component_config(self.component_config)) - self.peak_filter = PeakFilter("counter", self.component_config.id, self.fault_state) + self.peak_filter = PeakFilter(ComponentType.COUNTER, self.component_config.id, self.fault_state) def update(self, ip_address: str, port: int, timeout: int) -> None: exported_values = request(ip_address, port, timeout, '21*') diff --git a/packages/modules/devices/solar_view/solar_view/inverter.py b/packages/modules/devices/solar_view/solar_view/inverter.py index b354aef842..3de5290ced 100644 --- a/packages/modules/devices/solar_view/solar_view/inverter.py +++ b/packages/modules/devices/solar_view/solar_view/inverter.py @@ -9,6 +9,7 @@ from modules.devices.solar_view.solar_view.api import request from modules.devices.solar_view.solar_view.config import SolarViewInverterSetup from modules.common.utils.peak_filter import PeakFilter +from modules.common.component_type import ComponentType log = logging.getLogger(__name__) @@ -20,7 +21,7 @@ def __init__(self, component_config: SolarViewInverterSetup) -> None: def initialize(self) -> None: self.store = get_inverter_value_store(self.component_config.id) self.fault_state = FaultState(ComponentInfo.from_component_config(self.component_config)) - self.peak_filter = PeakFilter("inverter", self.component_config.id, self.fault_state) + self.peak_filter = PeakFilter(ComponentType.INVERTER, self.component_config.id, self.fault_state) def update(self, ip_address: str, port: int, timeout: int) -> None: values = request(ip_address, port, timeout, self.component_config.configuration.command) diff --git a/packages/modules/devices/solar_watt/solar_watt/bat.py b/packages/modules/devices/solar_watt/solar_watt/bat.py index 16b37d3862..c8ea85e889 100644 --- a/packages/modules/devices/solar_watt/solar_watt/bat.py +++ b/packages/modules/devices/solar_watt/solar_watt/bat.py @@ -11,6 +11,7 @@ from modules.devices.solar_watt.solar_watt.api import parse_value from modules.devices.solar_watt.solar_watt.config import SolarWattBatSetup from modules.common.utils.peak_filter import PeakFilter +from modules.common.component_type import ComponentType log = logging.getLogger(__name__) @@ -29,7 +30,7 @@ def initialize(self) -> None: self.sim_counter = SimCounter(self.__device_id, self.component_config.id, prefix="speicher") self.store = get_bat_value_store(self.component_config.id) self.fault_state = FaultState(ComponentInfo.from_component_config(self.component_config)) - self.peak_filter = PeakFilter("bat", self.component_config.id, self.fault_state) + self.peak_filter = PeakFilter(ComponentType.BAT, self.component_config.id, self.fault_state) def update(self, response: Dict, energy_manager: bool) -> None: if energy_manager: diff --git a/packages/modules/devices/solar_watt/solar_watt/counter.py b/packages/modules/devices/solar_watt/solar_watt/counter.py index fe15601cc9..8b7371e4eb 100644 --- a/packages/modules/devices/solar_watt/solar_watt/counter.py +++ b/packages/modules/devices/solar_watt/solar_watt/counter.py @@ -11,6 +11,7 @@ from modules.devices.solar_watt.solar_watt.api import parse_value from modules.devices.solar_watt.solar_watt.config import SolarWattCounterSetup from modules.common.utils.peak_filter import PeakFilter +from modules.common.component_type import ComponentType log = logging.getLogger(__name__) @@ -29,7 +30,7 @@ def initialize(self) -> None: self.sim_counter = SimCounter(self.__device_id, self.component_config.id, prefix="bezug") self.store = get_counter_value_store(self.component_config.id) self.fault_state = FaultState(ComponentInfo.from_component_config(self.component_config)) - self.peak_filter = PeakFilter("counter", self.component_config.id, self.fault_state) + self.peak_filter = PeakFilter(ComponentType.COUNTER, self.component_config.id, self.fault_state) def update(self, response: Dict, energy_manager: bool) -> None: if energy_manager: diff --git a/packages/modules/devices/solar_watt/solar_watt/inverter.py b/packages/modules/devices/solar_watt/solar_watt/inverter.py index e24d314031..dfe57453a7 100644 --- a/packages/modules/devices/solar_watt/solar_watt/inverter.py +++ b/packages/modules/devices/solar_watt/solar_watt/inverter.py @@ -11,6 +11,7 @@ from modules.devices.solar_watt.solar_watt.api import parse_value from modules.devices.solar_watt.solar_watt.config import SolarWattInverterSetup from modules.common.utils.peak_filter import PeakFilter +from modules.common.component_type import ComponentType log = logging.getLogger(__name__) @@ -29,7 +30,7 @@ def initialize(self) -> None: self.sim_counter = SimCounter(self.__device_id, self.component_config.id, prefix="pv") self.store = get_inverter_value_store(self.component_config.id) self.fault_state = FaultState(ComponentInfo.from_component_config(self.component_config)) - self.peak_filter = PeakFilter("inverter", self.component_config.id, self.fault_state) + self.peak_filter = PeakFilter(ComponentType.INVERTER, self.component_config.id, self.fault_state) def update(self, response: Dict) -> None: power = parse_value(response, "PowerProduced") * -1 diff --git a/packages/modules/devices/solar_world/solar_world/counter.py b/packages/modules/devices/solar_world/solar_world/counter.py index 1ff19b5ea0..5c832ad7b5 100644 --- a/packages/modules/devices/solar_world/solar_world/counter.py +++ b/packages/modules/devices/solar_world/solar_world/counter.py @@ -9,6 +9,7 @@ from modules.common.store import get_counter_value_store from modules.devices.solar_world.solar_world.config import SolarWorldCounterSetup from modules.common.utils.peak_filter import PeakFilter +from modules.common.component_type import ComponentType class KwargsDict(TypedDict): @@ -25,7 +26,7 @@ def initialize(self) -> None: self.sim_counter = SimCounter(self.__device_id, self.component_config.id, prefix="bezug") self.store = get_counter_value_store(self.component_config.id) self.fault_state = FaultState(ComponentInfo.from_component_config(self.component_config)) - self.peak_filter = PeakFilter("counter", self.component_config.id, self.fault_state) + self.peak_filter = PeakFilter(ComponentType.COUNTER, self.component_config.id, self.fault_state) def update(self, response): power = response["PowerIn"] - response["PowerOut"] diff --git a/packages/modules/devices/solar_world/solar_world/inverter.py b/packages/modules/devices/solar_world/solar_world/inverter.py index affd769e49..4b139efbee 100644 --- a/packages/modules/devices/solar_world/solar_world/inverter.py +++ b/packages/modules/devices/solar_world/solar_world/inverter.py @@ -9,6 +9,7 @@ from modules.common.store import get_inverter_value_store from modules.devices.solar_world.solar_world.config import SolarWorldInverterSetup from modules.common.utils.peak_filter import PeakFilter +from modules.common.component_type import ComponentType class KwargsDict(TypedDict): @@ -25,7 +26,7 @@ def initialize(self) -> None: self.sim_counter = SimCounter(self.__device_id, self.component_config.id, prefix="pv") self.store = get_inverter_value_store(self.component_config.id) self.fault_state = FaultState(ComponentInfo.from_component_config(self.component_config)) - self.peak_filter = PeakFilter("inverter", self.component_config.id, self.fault_state) + self.peak_filter = PeakFilter(ComponentType.INVERTER, self.component_config.id, self.fault_state) def update(self, response) -> None: try: diff --git a/packages/modules/devices/solaredge/solaredge/bat.py b/packages/modules/devices/solaredge/solaredge/bat.py index c9669abde6..ec88b4fe96 100644 --- a/packages/modules/devices/solaredge/solaredge/bat.py +++ b/packages/modules/devices/solaredge/solaredge/bat.py @@ -18,6 +18,7 @@ from modules.common.store import get_bat_value_store from modules.devices.solaredge.solaredge.config import SolaredgeBatSetup from modules.common.utils.peak_filter import PeakFilter +from modules.common.component_type import ComponentType log = logging.getLogger(__name__) @@ -60,7 +61,7 @@ def initialize(self) -> None: self.sim_counter = SimCounter(self.__device_id, self.component_config.id, prefix="speicher") self.store = get_bat_value_store(self.component_config.id) self.fault_state = FaultState(ComponentInfo.from_component_config(self.component_config)) - self.peak_filter = PeakFilter("bat", self.component_config.id, self.fault_state) + self.peak_filter = PeakFilter(ComponentType.BAT, self.component_config.id, self.fault_state) def update(self) -> None: self.store.set(self.read_state()) diff --git a/packages/modules/devices/solaredge/solaredge/counter.py b/packages/modules/devices/solaredge/solaredge/counter.py index 117d408af7..8ae83e2e33 100644 --- a/packages/modules/devices/solaredge/solaredge/counter.py +++ b/packages/modules/devices/solaredge/solaredge/counter.py @@ -13,6 +13,7 @@ from modules.devices.solaredge.solaredge.scale import scale_registers from modules.devices.solaredge.solaredge.meter import SolaredgeMeterRegisters, set_component_registers from modules.common.utils.peak_filter import PeakFilter +from modules.common.component_type import ComponentType log = logging.getLogger(__name__) @@ -32,7 +33,7 @@ def initialize(self) -> None: self.registers = SolaredgeMeterRegisters() self.store = get_counter_value_store(self.component_config.id) self.fault_state = FaultState(ComponentInfo.from_component_config(self.component_config)) - self.peak_filter = PeakFilter("counter", self.component_config.id, self.fault_state) + self.peak_filter = PeakFilter(ComponentType.COUNTER, self.component_config.id, self.fault_state) components = list(self.kwargs['components'].values()) components.append(self) diff --git a/packages/modules/devices/solaredge/solaredge/external_inverter.py b/packages/modules/devices/solaredge/solaredge/external_inverter.py index a8621b8796..3fd7deafc9 100644 --- a/packages/modules/devices/solaredge/solaredge/external_inverter.py +++ b/packages/modules/devices/solaredge/solaredge/external_inverter.py @@ -13,6 +13,7 @@ from modules.devices.solaredge.solaredge.scale import scale_registers from modules.devices.solaredge.solaredge.meter import SolaredgeMeterRegisters, set_component_registers from modules.common.utils.peak_filter import PeakFilter +from modules.common.component_type import ComponentType log = logging.getLogger(__name__) @@ -34,7 +35,7 @@ def initialize(self) -> None: self.registers = SolaredgeMeterRegisters(self.component_config.configuration.meter_id) self.store = get_inverter_value_store(self.component_config.id) self.fault_state = FaultState(ComponentInfo.from_component_config(self.component_config)) - self.peak_filter = PeakFilter("inverter", self.component_config.id, self.fault_state) + self.peak_filter = PeakFilter(ComponentType.INVERTER, self.component_config.id, self.fault_state) components = list(self.kwargs['components'].values()) components.append(self) diff --git a/packages/modules/devices/solaredge/solaredge/inverter.py b/packages/modules/devices/solaredge/solaredge/inverter.py index 0a17de1be4..45170cbc70 100644 --- a/packages/modules/devices/solaredge/solaredge/inverter.py +++ b/packages/modules/devices/solaredge/solaredge/inverter.py @@ -13,6 +13,7 @@ from modules.devices.solaredge.solaredge.scale import scale_registers from modules.common.simcount import SimCounter from modules.common.utils.peak_filter import PeakFilter +from modules.common.component_type import ComponentType class KwargsDict(TypedDict): @@ -54,7 +55,7 @@ def initialize(self) -> None: self.store = get_inverter_value_store(self.component_config.id) self.fault_state = FaultState(ComponentInfo.from_component_config(self.component_config)) self.sim_counter = SimCounter(self.kwargs['device_id'], self.component_config.id, prefix="Wechselrichter") - self.peak_filter = PeakFilter("inverter", self.component_config.id, self.fault_state) + self.peak_filter = PeakFilter(ComponentType.INVERTER, self.component_config.id, self.fault_state) def update(self) -> None: self.store.set(self.read_state()) diff --git a/packages/modules/devices/solarmax/solarmax/bat.py b/packages/modules/devices/solarmax/solarmax/bat.py index 944ec31129..0e39869f40 100644 --- a/packages/modules/devices/solarmax/solarmax/bat.py +++ b/packages/modules/devices/solarmax/solarmax/bat.py @@ -12,6 +12,7 @@ from modules.common.store import get_bat_value_store from modules.devices.solarmax.solarmax.config import SolarmaxBatSetup from modules.common.utils.peak_filter import PeakFilter +from modules.common.component_type import ComponentType log = logging.getLogger(__name__) @@ -32,7 +33,7 @@ def initialize(self) -> None: self.sim_counter = SimCounter(self.__device_id, self.component_config.id, prefix="speicher") self.store = get_bat_value_store(self.component_config.id) self.fault_state = FaultState(ComponentInfo.from_component_config(self.component_config)) - self.peak_filter = PeakFilter("bat", self.component_config.id, self.fault_state) + self.peak_filter = PeakFilter(ComponentType.BAT, self.component_config.id, self.fault_state) def update(self) -> None: unit = self.component_config.configuration.modbus_id diff --git a/packages/modules/devices/solarmax/solarmax/counter_maxstorage.py b/packages/modules/devices/solarmax/solarmax/counter_maxstorage.py index 33a3afeaf8..58805fef26 100644 --- a/packages/modules/devices/solarmax/solarmax/counter_maxstorage.py +++ b/packages/modules/devices/solarmax/solarmax/counter_maxstorage.py @@ -11,6 +11,7 @@ from modules.common.store import get_counter_value_store from modules.devices.solarmax.solarmax.config import SolarmaxMsCounterSetup from modules.common.utils.peak_filter import PeakFilter +from modules.common.component_type import ComponentType class KwargsDict(TypedDict): @@ -31,7 +32,7 @@ def initialize(self) -> None: self.sim_counter = SimCounter(self.__device_id, self.component_config.id, prefix="bezug") self.store = get_counter_value_store(self.component_config.id) self.fault_state = FaultState(ComponentInfo.from_component_config(self.component_config)) - self.peak_filter = PeakFilter("counter", self.component_config.id, self.fault_state) + self.peak_filter = PeakFilter(ComponentType.COUNTER, self.component_config.id, self.fault_state) def update(self) -> None: unit = self.component_config.configuration.modbus_id diff --git a/packages/modules/devices/solarmax/solarmax/inverter.py b/packages/modules/devices/solarmax/solarmax/inverter.py index a7f79328b6..a77c2766fe 100644 --- a/packages/modules/devices/solarmax/solarmax/inverter.py +++ b/packages/modules/devices/solarmax/solarmax/inverter.py @@ -10,6 +10,7 @@ from modules.common.store import get_inverter_value_store from modules.devices.solarmax.solarmax.config import SolarmaxInverterSetup from modules.common.utils.peak_filter import PeakFilter +from modules.common.component_type import ComponentType class KwargsDict(TypedDict): @@ -30,7 +31,7 @@ def initialize(self) -> None: self.sim_counter = SimCounter(self.__device_id, self.component_config.id, prefix="pv") self.store = get_inverter_value_store(self.component_config.id) self.fault_state = FaultState(ComponentInfo.from_component_config(self.component_config)) - self.peak_filter = PeakFilter("inverter", self.component_config.id, self.fault_state) + self.peak_filter = PeakFilter(ComponentType.INVERTER, self.component_config.id, self.fault_state) def update(self) -> None: power = self.client.read_holding_registers(4151, ModbusDataType.UINT_32, diff --git a/packages/modules/devices/solarmax/solarmax/inverter_maxstorage.py b/packages/modules/devices/solarmax/solarmax/inverter_maxstorage.py index 79cce5cd5d..d380ade120 100644 --- a/packages/modules/devices/solarmax/solarmax/inverter_maxstorage.py +++ b/packages/modules/devices/solarmax/solarmax/inverter_maxstorage.py @@ -11,6 +11,7 @@ from modules.common.store import get_inverter_value_store from modules.devices.solarmax.solarmax.config import SolarmaxMsInverterSetup from modules.common.utils.peak_filter import PeakFilter +from modules.common.component_type import ComponentType class KwargsDict(TypedDict): @@ -31,7 +32,7 @@ def initialize(self) -> None: self.sim_counter = SimCounter(self.__device_id, self.component_config.id, prefix="pv") self.store = get_inverter_value_store(self.component_config.id) self.fault_state = FaultState(ComponentInfo.from_component_config(self.component_config)) - self.peak_filter = PeakFilter("inverter", self.component_config.id, self.fault_state) + self.peak_filter = PeakFilter(ComponentType.INVERTER, self.component_config.id, self.fault_state) def update(self) -> None: unit = self.component_config.configuration.modbus_id diff --git a/packages/modules/devices/solax/solax/bat.py b/packages/modules/devices/solax/solax/bat.py index 75c25eb46a..c1cd62a371 100644 --- a/packages/modules/devices/solax/solax/bat.py +++ b/packages/modules/devices/solax/solax/bat.py @@ -11,6 +11,7 @@ from modules.common.store import get_bat_value_store from modules.devices.solax.solax.config import SolaxBatSetup, Solax from modules.common.utils.peak_filter import PeakFilter +from modules.common.component_type import ComponentType class KwargsDict(TypedDict): @@ -29,7 +30,7 @@ def initialize(self) -> None: self.sim_counter = SimCounter(self.device_config.id, self.component_config.id, prefix="speicher") self.store = get_bat_value_store(self.component_config.id) self.fault_state = FaultState(ComponentInfo.from_component_config(self.component_config)) - self.peak_filter = PeakFilter("bat", self.component_config.id, self.fault_state) + self.peak_filter = PeakFilter(ComponentType.BAT, self.component_config.id, self.fault_state) def update(self) -> None: unit = self.device_config.configuration.modbus_id diff --git a/packages/modules/devices/solax/solax/counter.py b/packages/modules/devices/solax/solax/counter.py index c792b76551..f42f6d2fc5 100644 --- a/packages/modules/devices/solax/solax/counter.py +++ b/packages/modules/devices/solax/solax/counter.py @@ -12,6 +12,7 @@ from modules.devices.solax.solax.config import SolaxCounterSetup, Solax from modules.devices.solax.solax.version import SolaxVersion from modules.common.utils.peak_filter import PeakFilter +from modules.common.component_type import ComponentType class KwargsDict(TypedDict): @@ -29,7 +30,7 @@ def initialize(self) -> None: self.device_config = self.kwargs['device_config'] self.store = get_counter_value_store(self.component_config.id) self.fault_state = FaultState(ComponentInfo.from_component_config(self.component_config)) - self.peak_filter = PeakFilter("counter", self.component_config.id, self.fault_state) + self.peak_filter = PeakFilter(ComponentType.COUNTER, self.component_config.id, self.fault_state) def update(self): unit = self.device_config.configuration.modbus_id diff --git a/packages/modules/devices/solax/solax/inverter.py b/packages/modules/devices/solax/solax/inverter.py index 9f9c7b992d..b84abce03c 100644 --- a/packages/modules/devices/solax/solax/inverter.py +++ b/packages/modules/devices/solax/solax/inverter.py @@ -12,6 +12,7 @@ from modules.devices.solax.solax.config import SolaxInverterSetup, Solax from modules.devices.solax.solax.version import SolaxVersion from modules.common.utils.peak_filter import PeakFilter +from modules.common.component_type import ComponentType class KwargsDict(TypedDict): @@ -29,7 +30,7 @@ def initialize(self) -> None: self.device_config = self.kwargs['device_config'] self.store = get_inverter_value_store(self.component_config.id) self.fault_state = FaultState(ComponentInfo.from_component_config(self.component_config)) - self.peak_filter = PeakFilter("inverter", self.component_config.id, self.fault_state) + self.peak_filter = PeakFilter(ComponentType.INVERTER, self.component_config.id, self.fault_state) def update(self) -> None: unit = self.device_config.configuration.modbus_id diff --git a/packages/modules/devices/solis/solis/bat.py b/packages/modules/devices/solis/solis/bat.py index d9ae1562e0..490fc6a8f5 100644 --- a/packages/modules/devices/solis/solis/bat.py +++ b/packages/modules/devices/solis/solis/bat.py @@ -10,6 +10,7 @@ from modules.common.store import get_bat_value_store from modules.devices.solis.solis.config import SolisBatSetup from modules.common.utils.peak_filter import PeakFilter +from modules.common.component_type import ComponentType log = logging.getLogger(__name__) @@ -27,7 +28,7 @@ def initialize(self) -> None: self.client: ModbusTcpClient_ = self.kwargs['client'] self.store = get_bat_value_store(self.component_config.id) self.fault_state = FaultState(ComponentInfo.from_component_config(self.component_config)) - self.peak_filter = PeakFilter("bat", self.component_config.id, self.fault_state) + self.peak_filter = PeakFilter(ComponentType.BAT, self.component_config.id, self.fault_state) def update(self) -> None: unit = self.component_config.configuration.modbus_id diff --git a/packages/modules/devices/solis/solis/counter.py b/packages/modules/devices/solis/solis/counter.py index b43271ba93..e5a17bf559 100644 --- a/packages/modules/devices/solis/solis/counter.py +++ b/packages/modules/devices/solis/solis/counter.py @@ -8,6 +8,7 @@ from modules.devices.solis.solis.config import SolisCounterSetup from modules.devices.solis.solis.version import SolisVersion from modules.common.utils.peak_filter import PeakFilter +from modules.common.component_type import ComponentType class KwargsDict(TypedDict): @@ -27,7 +28,7 @@ def initialize(self) -> None: self.fault_state = FaultState(ComponentInfo.from_component_config(self.component_config)) self.version = self.kwargs['version'] self.client = self.kwargs['client'] - self.peak_filter = PeakFilter("counter", self.component_config.id, self.fault_state) + self.peak_filter = PeakFilter(ComponentType.COUNTER, self.component_config.id, self.fault_state) def update(self): unit = self.component_config.configuration.modbus_id diff --git a/packages/modules/devices/solis/solis/inverter.py b/packages/modules/devices/solis/solis/inverter.py index 532af9d317..749829a57f 100644 --- a/packages/modules/devices/solis/solis/inverter.py +++ b/packages/modules/devices/solis/solis/inverter.py @@ -9,6 +9,7 @@ from modules.devices.solis.solis.config import SolisInverterSetup from modules.devices.solis.solis.version import SolisVersion from modules.common.utils.peak_filter import PeakFilter +from modules.common.component_type import ComponentType class KwargsDict(TypedDict): @@ -26,7 +27,7 @@ def initialize(self) -> None: self.version: SolisVersion = self.kwargs['version'] self.store = get_inverter_value_store(self.component_config.id) self.fault_state = FaultState(ComponentInfo.from_component_config(self.component_config)) - self.peak_filter = PeakFilter("inverter", self.component_config.id, self.fault_state) + self.peak_filter = PeakFilter(ComponentType.INVERTER, self.component_config.id, self.fault_state) def update(self) -> None: unit = self.component_config.configuration.modbus_id diff --git a/packages/modules/devices/sonnen/sonnenbatterie/api.py b/packages/modules/devices/sonnen/sonnenbatterie/api.py index a27adfc87c..524782d463 100644 --- a/packages/modules/devices/sonnen/sonnenbatterie/api.py +++ b/packages/modules/devices/sonnen/sonnenbatterie/api.py @@ -408,7 +408,7 @@ def update_inverter(self, sim_counter: SimCounter, peak_filter: PeakFilter) -> I _, inverter_state.exported = sim_counter.sim_count(inverter_state.power) return inverter_state - def update_consumption_counter(self, sim_counter: SimCounter) -> CounterState: + def update_consumption_counter(self, sim_counter: SimCounter, peak_filter: PeakFilter) -> CounterState: """ Updates the consumption counter state by reading data from the JSON API. Returns: @@ -417,6 +417,7 @@ def update_consumption_counter(self, sim_counter: SimCounter) -> CounterState: counter_state = self.__state_from_channel( self.__read_power_meter(direction=self.PowerMeterDirection.CONSUMPTION)[0]) # meter value is updated way too slow, so we use a sim counter to get the im-/exported energy + peak_filter.check_values(counter_state.power) counter_state.imported, counter_state.exported = sim_counter.sim_count(counter_state.power) return counter_state diff --git a/packages/modules/devices/sonnen/sonnenbatterie/bat.py b/packages/modules/devices/sonnen/sonnenbatterie/bat.py index c7520a9733..ab8e7caf4b 100644 --- a/packages/modules/devices/sonnen/sonnenbatterie/bat.py +++ b/packages/modules/devices/sonnen/sonnenbatterie/bat.py @@ -11,6 +11,7 @@ from modules.devices.sonnen.sonnenbatterie.api import JsonApi, JsonApiVersion, RestApi1, RestApi2 from modules.devices.sonnen.sonnenbatterie.config import SonnenbatterieBatSetup from modules.common.utils.peak_filter import PeakFilter +from modules.common.component_type import ComponentType log = logging.getLogger(__name__) @@ -46,7 +47,7 @@ def initialize(self) -> None: self.api = JsonApi(host=self.__device_address, api_version=JsonApiVersion.V2 if self.__device_variant == 3 else JsonApiVersion.V1, auth_token=self.__api_v2_token if self.__device_variant == 3 else None) - self.peak_filter = PeakFilter("bat", self.component_config.id, self.fault_state) + self.peak_filter = PeakFilter(ComponentType.BAT, self.component_config.id, self.fault_state) self.last_mode = 'Undefined' def update(self) -> None: diff --git a/packages/modules/devices/sonnen/sonnenbatterie/counter.py b/packages/modules/devices/sonnen/sonnenbatterie/counter.py index cf8625ffaa..b7ef688124 100644 --- a/packages/modules/devices/sonnen/sonnenbatterie/counter.py +++ b/packages/modules/devices/sonnen/sonnenbatterie/counter.py @@ -11,6 +11,7 @@ from modules.devices.sonnen.sonnenbatterie.api import JsonApi, RestApi2, JsonApiVersion from modules.devices.sonnen.sonnenbatterie.config import SonnenbatterieCounterSetup from modules.common.utils.peak_filter import PeakFilter +from modules.common.component_type import ComponentType log = logging.getLogger(__name__) @@ -45,7 +46,7 @@ def initialize(self) -> None: self.api = JsonApi(host=self.__device_address, api_version=JsonApiVersion.V2 if self.__device_variant == 3 else JsonApiVersion.V1, auth_token=self.__api_v2_token if self.__device_variant == 3 else None) - self.peak_filter = PeakFilter("counter", self.component_config.id, self.fault_state) + self.peak_filter = PeakFilter(ComponentType.COUNTER, self.component_config.id, self.fault_state) def update(self) -> None: self.store.set(self.api.update_grid_counter(sim_counter=self.sim_counter, peak_filter=self.peak_filter)) diff --git a/packages/modules/devices/sonnen/sonnenbatterie/counter_consumption.py b/packages/modules/devices/sonnen/sonnenbatterie/counter_consumption.py index a7e46f7163..b4876edefa 100644 --- a/packages/modules/devices/sonnen/sonnenbatterie/counter_consumption.py +++ b/packages/modules/devices/sonnen/sonnenbatterie/counter_consumption.py @@ -10,6 +10,8 @@ from modules.devices.sonnen.sonnenbatterie.api import JsonApi, JsonApiVersion from modules.devices.sonnen.sonnenbatterie.config import SonnenbatterieConsumptionCounterSetup +from modules.common.utils.peak_filter import PeakFilter +from modules.common.component_type import ComponentType log = logging.getLogger(__name__) @@ -40,9 +42,10 @@ def initialize(self) -> None: self.api = JsonApi(host=self.__device_address, api_version=JsonApiVersion.V2, auth_token=self.__api_v2_token) + self.peak_filter = PeakFilter(ComponentType.COUNTER, self.component_config.id, self.fault_state) def update(self) -> None: - self.store.set(self.api.update_consumption_counter(sim_counter=self.sim_counter)) + self.store.set(self.api.update_consumption_counter(sim_counter=self.sim_counter, peak_filter=self.peak_filter)) component_descriptor = ComponentDescriptor(configuration_factory=SonnenbatterieConsumptionCounterSetup) diff --git a/packages/modules/devices/sonnen/sonnenbatterie/inverter.py b/packages/modules/devices/sonnen/sonnenbatterie/inverter.py index 68679b3efc..7325dcbac0 100644 --- a/packages/modules/devices/sonnen/sonnenbatterie/inverter.py +++ b/packages/modules/devices/sonnen/sonnenbatterie/inverter.py @@ -11,6 +11,7 @@ from modules.devices.sonnen.sonnenbatterie.api import JsonApi, RestApi2, JsonApiVersion from modules.devices.sonnen.sonnenbatterie.config import SonnenbatterieInverterSetup from modules.common.utils.peak_filter import PeakFilter +from modules.common.component_type import ComponentType log = logging.getLogger(__name__) @@ -39,7 +40,7 @@ def initialize(self) -> None: self.sim_counter = SimCounter(self.__device_id, self.component_config.id, prefix="pv") self.store = get_inverter_value_store(self.component_config.id) self.fault_state = FaultState(ComponentInfo.from_component_config(self.component_config)) - self.peak_filter = PeakFilter("inverter", self.component_config.id, self.fault_state) + self.peak_filter = PeakFilter(ComponentType.INVERTER, self.component_config.id, self.fault_state) if self.__device_variant == 2: self.api = RestApi2(host=self.__device_address) else: diff --git a/packages/modules/devices/studer/studer/bat.py b/packages/modules/devices/studer/studer/bat.py index 730e90cd3a..a49cf4e1a9 100644 --- a/packages/modules/devices/studer/studer/bat.py +++ b/packages/modules/devices/studer/studer/bat.py @@ -10,6 +10,7 @@ from modules.common.store import get_bat_value_store from modules.devices.studer.studer.config import StuderBatSetup from modules.common.utils.peak_filter import PeakFilter +from modules.common.component_type import ComponentType class KwargsDict(TypedDict): @@ -25,7 +26,7 @@ def initialize(self) -> None: self.__tcp_client: modbus.ModbusTcpClient_ = self.kwargs['client'] self.store = get_bat_value_store(self.component_config.id) self.fault_state = FaultState(ComponentInfo.from_component_config(self.component_config)) - self.peak_filter = PeakFilter("bat", self.component_config.id, self.fault_state) + self.peak_filter = PeakFilter(ComponentType.BAT, self.component_config.id, self.fault_state) def update(self) -> None: unit = self.component_config.configuration.modbus_id diff --git a/packages/modules/devices/studer/studer/inverter.py b/packages/modules/devices/studer/studer/inverter.py index 7614f1b741..131b9f0a97 100644 --- a/packages/modules/devices/studer/studer/inverter.py +++ b/packages/modules/devices/studer/studer/inverter.py @@ -9,6 +9,7 @@ from modules.common.store import get_inverter_value_store from modules.devices.studer.studer.config import StuderInverterSetup from modules.common.utils.peak_filter import PeakFilter +from modules.common.component_type import ComponentType class KwargsDict(TypedDict): @@ -24,7 +25,7 @@ def initialize(self) -> None: self.__tcp_client: ModbusTcpClient_ = self.kwargs['client'] self.store = get_inverter_value_store(self.component_config.id) self.fault_state = FaultState(ComponentInfo.from_component_config(self.component_config)) - self.peak_filter = PeakFilter("inverter", self.component_config.id, self.fault_state) + self.peak_filter = PeakFilter(ComponentType.INVERTER, self.component_config.id, self.fault_state) def update(self) -> None: vc_count = self.component_config.configuration.vc_count diff --git a/packages/modules/devices/sungrow/sungrow_ihm/bat.py b/packages/modules/devices/sungrow/sungrow_ihm/bat.py index 49b227f2d8..2aa86da15b 100644 --- a/packages/modules/devices/sungrow/sungrow_ihm/bat.py +++ b/packages/modules/devices/sungrow/sungrow_ihm/bat.py @@ -11,6 +11,7 @@ from modules.common.store import get_bat_value_store from modules.devices.sungrow.sungrow_ihm.config import SungrowIHMBatSetup, SungrowIHM from modules.common.utils.peak_filter import PeakFilter +from modules.common.component_type import ComponentType log = logging.getLogger(__name__) @@ -31,7 +32,7 @@ def initialize(self) -> None: self.sim_counter = SimCounter(self.device_config.id, self.component_config.id, prefix="speicher") self.store = get_bat_value_store(self.component_config.id) self.fault_state = FaultState(ComponentInfo.from_component_config(self.component_config)) - self.peak_filter = PeakFilter("bat", self.component_config.id, self.fault_state) + self.peak_filter = PeakFilter(ComponentType.BAT, self.component_config.id, self.fault_state) self.last_mode = 'Undefined' def update(self) -> None: diff --git a/packages/modules/devices/sungrow/sungrow_ihm/counter.py b/packages/modules/devices/sungrow/sungrow_ihm/counter.py index 44bc946025..7a2289dade 100644 --- a/packages/modules/devices/sungrow/sungrow_ihm/counter.py +++ b/packages/modules/devices/sungrow/sungrow_ihm/counter.py @@ -10,6 +10,7 @@ from modules.common.store import get_counter_value_store from modules.devices.sungrow.sungrow_ihm.config import SungrowIHM, SungrowIHMCounterSetup from modules.common.utils.peak_filter import PeakFilter +from modules.common.component_type import ComponentType class KwargsDict(TypedDict): @@ -28,7 +29,7 @@ def initialize(self) -> None: self.sim_counter = SimCounter(self.device_config.id, self.component_config.id, prefix="evu") self.store = get_counter_value_store(self.component_config.id) self.fault_state = FaultState(ComponentInfo.from_component_config(self.component_config)) - self.peak_filter = PeakFilter("counter", self.component_config.id, self.fault_state) + self.peak_filter = PeakFilter(ComponentType.COUNTER, self.component_config.id, self.fault_state) def update(self): unit = self.device_config.configuration.modbus_id diff --git a/packages/modules/devices/sungrow/sungrow_ihm/inverter.py b/packages/modules/devices/sungrow/sungrow_ihm/inverter.py index 6a8f23b6e2..2b12ad5cd3 100644 --- a/packages/modules/devices/sungrow/sungrow_ihm/inverter.py +++ b/packages/modules/devices/sungrow/sungrow_ihm/inverter.py @@ -10,6 +10,7 @@ from modules.common.store import get_inverter_value_store from modules.devices.sungrow.sungrow_ihm.config import SungrowIHMInverterSetup, SungrowIHM from modules.common.utils.peak_filter import PeakFilter +from modules.common.component_type import ComponentType class KwargsDict(TypedDict): @@ -28,7 +29,7 @@ def initialize(self) -> None: self.sim_counter = SimCounter(self.device_config.id, self.component_config.id, prefix="pv") self.store = get_inverter_value_store(self.component_config.id) self.fault_state = FaultState(ComponentInfo.from_component_config(self.component_config)) - self.peak_filter = PeakFilter("inverter", self.component_config.id, self.fault_state) + self.peak_filter = PeakFilter(ComponentType.INVERTER, self.component_config.id, self.fault_state) def update(self) -> float: unit = self.device_config.configuration.modbus_id diff --git a/packages/modules/devices/sungrow/sungrow_micro/inverter.py b/packages/modules/devices/sungrow/sungrow_micro/inverter.py index 641c0c2969..b189c73f7a 100644 --- a/packages/modules/devices/sungrow/sungrow_micro/inverter.py +++ b/packages/modules/devices/sungrow/sungrow_micro/inverter.py @@ -10,6 +10,7 @@ from modules.common.store import get_inverter_value_store from modules.devices.sungrow.sungrow_micro.config import SungrowMicroInverterSetup, SungrowMicro from modules.common.utils.peak_filter import PeakFilter +from modules.common.component_type import ComponentType class KwargsDict(TypedDict): @@ -28,7 +29,7 @@ def initialize(self) -> None: self.sim_counter = SimCounter(self.device_config.id, self.component_config.id, prefix="pv") self.store = get_inverter_value_store(self.component_config.id) self.fault_state = FaultState(ComponentInfo.from_component_config(self.component_config)) - self.peak_filter = PeakFilter("inverter", self.component_config.id, self.fault_state) + self.peak_filter = PeakFilter(ComponentType.INVERTER, self.component_config.id, self.fault_state) def update(self) -> float: unit = self.device_config.configuration.modbus_id diff --git a/packages/modules/devices/sungrow/sungrow_sg/counter.py b/packages/modules/devices/sungrow/sungrow_sg/counter.py index b68b224d4c..e03c581109 100644 --- a/packages/modules/devices/sungrow/sungrow_sg/counter.py +++ b/packages/modules/devices/sungrow/sungrow_sg/counter.py @@ -10,6 +10,7 @@ from modules.common.store import get_counter_value_store from modules.devices.sungrow.sungrow_sg.config import SungrowSG, SungrowSGCounterSetup from modules.common.utils.peak_filter import PeakFilter +from modules.common.component_type import ComponentType class KwargsDict(TypedDict): @@ -31,7 +32,7 @@ def initialize(self) -> None: self.fault_text = "Dieser Sungrow Zähler liefert von Werk aus (entgegen der Dokumentation) "\ "keine Leistung der einzelnen Phasen. "\ "Das Lastmanagement ist daher nur anhand der Gesamtleistung (nicht phasenbasiert) möglich." - self.peak_filter = PeakFilter("counter", self.component_config.id, self.fault_state) + self.peak_filter = PeakFilter(ComponentType.COUNTER, self.component_config.id, self.fault_state) def update(self): unit = self.device_config.configuration.modbus_id diff --git a/packages/modules/devices/sungrow/sungrow_sg/inverter.py b/packages/modules/devices/sungrow/sungrow_sg/inverter.py index 6107686f0f..adefb5c4d1 100644 --- a/packages/modules/devices/sungrow/sungrow_sg/inverter.py +++ b/packages/modules/devices/sungrow/sungrow_sg/inverter.py @@ -10,6 +10,7 @@ from modules.common.store import get_inverter_value_store from modules.devices.sungrow.sungrow_sg.config import SungrowSGInverterSetup, SungrowSG from modules.common.utils.peak_filter import PeakFilter +from modules.common.component_type import ComponentType class KwargsDict(TypedDict): @@ -28,7 +29,7 @@ def initialize(self) -> None: self.sim_counter = SimCounter(self.device_config.id, self.component_config.id, prefix="pv") self.store = get_inverter_value_store(self.component_config.id) self.fault_state = FaultState(ComponentInfo.from_component_config(self.component_config)) - self.peak_filter = PeakFilter("inverter", self.component_config.id, self.fault_state) + self.peak_filter = PeakFilter(ComponentType.INVERTER, self.component_config.id, self.fault_state) def update(self) -> float: unit = self.device_config.configuration.modbus_id diff --git a/packages/modules/devices/sungrow/sungrow_sh/bat.py b/packages/modules/devices/sungrow/sungrow_sh/bat.py index 4a8a5572d5..c04eaefdde 100644 --- a/packages/modules/devices/sungrow/sungrow_sh/bat.py +++ b/packages/modules/devices/sungrow/sungrow_sh/bat.py @@ -12,6 +12,7 @@ from modules.devices.sungrow.sungrow_sh.config import SungrowSHBatSetup, SungrowSH from modules.devices.sungrow.sungrow_sh.registers import RegMode from modules.common.utils.peak_filter import PeakFilter +from modules.common.component_type import ComponentType log = logging.getLogger(__name__) @@ -34,7 +35,7 @@ def initialize(self) -> None: self.fault_state = FaultState(ComponentInfo.from_component_config(self.component_config)) self.last_mode = 'Undefined' self.register_check = self.detect_register_check() - self.peak_filter = PeakFilter("bat", self.component_config.id, self.fault_state) + self.peak_filter = PeakFilter(ComponentType.BAT, self.component_config.id, self.fault_state) def detect_register_check(self) -> RegMode: # Battery register availability test diff --git a/packages/modules/devices/sungrow/sungrow_sh/counter.py b/packages/modules/devices/sungrow/sungrow_sh/counter.py index 5bf10ffa5b..f7b37254a3 100644 --- a/packages/modules/devices/sungrow/sungrow_sh/counter.py +++ b/packages/modules/devices/sungrow/sungrow_sh/counter.py @@ -11,6 +11,7 @@ from modules.devices.sungrow.sungrow_sh.config import SungrowSH, SungrowSHCounterSetup from modules.devices.sungrow.sungrow_sh.version import Version from modules.common.utils.peak_filter import PeakFilter +from modules.common.component_type import ComponentType class KwargsDict(TypedDict): @@ -32,7 +33,7 @@ def initialize(self) -> None: self.fault_text = "Dieser Sungrow Zähler liefert von Werk aus (entgegen der Dokumentation) "\ "keine Leistung der einzelnen Phasen. "\ "Das Lastmanagement ist daher nur anhand der Gesamtleistung (nicht phasenbasiert) möglich." - self.peak_filter = PeakFilter("counter", self.component_config.id, self.fault_state) + self.peak_filter = PeakFilter(ComponentType.COUNTER, self.component_config.id, self.fault_state) def update(self): unit = self.device_config.configuration.modbus_id diff --git a/packages/modules/devices/sungrow/sungrow_sh/inverter.py b/packages/modules/devices/sungrow/sungrow_sh/inverter.py index 3a4dc26695..fab09d6f44 100644 --- a/packages/modules/devices/sungrow/sungrow_sh/inverter.py +++ b/packages/modules/devices/sungrow/sungrow_sh/inverter.py @@ -10,6 +10,7 @@ from modules.common.store import get_inverter_value_store from modules.devices.sungrow.sungrow_sh.config import SungrowSHInverterSetup, SungrowSH from modules.common.utils.peak_filter import PeakFilter +from modules.common.component_type import ComponentType class KwargsDict(TypedDict): @@ -28,7 +29,7 @@ def initialize(self) -> None: self.sim_counter = SimCounter(self.device_config.id, self.component_config.id, prefix="pv") self.store = get_inverter_value_store(self.component_config.id) self.fault_state = FaultState(ComponentInfo.from_component_config(self.component_config)) - self.peak_filter = PeakFilter("inverter", self.component_config.id, self.fault_state) + self.peak_filter = PeakFilter(ComponentType.INVERTER, self.component_config.id, self.fault_state) def update(self) -> float: unit = self.device_config.configuration.modbus_id diff --git a/packages/modules/devices/sunways/sunways/inverter.py b/packages/modules/devices/sunways/sunways/inverter.py index caf63c05ec..69109cb794 100644 --- a/packages/modules/devices/sunways/sunways/inverter.py +++ b/packages/modules/devices/sunways/sunways/inverter.py @@ -10,6 +10,7 @@ from modules.common.store import get_inverter_value_store from modules.devices.sunways.sunways.config import SunwaysInverterSetup from modules.common.utils.peak_filter import PeakFilter +from modules.common.component_type import ComponentType """Example Output for ajax.txt 109 W;103 W;111 VA;41 var;333.8;223.2;0.3;0.5;109.0;103.0;---;---;0.93 c;1.60;105.2;190.2;55342.2;132;0;0;NT 5000;1; @@ -33,7 +34,7 @@ def initialize(self) -> None: self.password: str = self.kwargs['password'] self.store = get_inverter_value_store(self.component_config.id) self.fault_state = FaultState(ComponentInfo.from_component_config(self.component_config)) - self.peak_filter = PeakFilter("inverter", self.component_config.id, self.fault_state) + self.peak_filter = PeakFilter(ComponentType.INVERTER, self.component_config.id, self.fault_state) def update(self) -> None: params = ( diff --git a/packages/modules/devices/tasmota/tasmota/bat.py b/packages/modules/devices/tasmota/tasmota/bat.py index 4aaf5852f2..72bd620c94 100644 --- a/packages/modules/devices/tasmota/tasmota/bat.py +++ b/packages/modules/devices/tasmota/tasmota/bat.py @@ -11,6 +11,7 @@ from modules.common import req from modules.common.component_state import BatState from modules.common.utils.peak_filter import PeakFilter +from modules.common.component_type import ComponentType log = logging.getLogger(__name__) @@ -33,7 +34,7 @@ def initialize(self) -> None: self.__phase: int = self.kwargs['phase'] self.store = get_bat_value_store(self.component_config.id) self.fault_state = FaultState(ComponentInfo.from_component_config(self.component_config)) - self.peak_filter = PeakFilter("bat", self.component_config.id, self.fault_state) + self.peak_filter = PeakFilter(ComponentType.BAT, self.component_config.id, self.fault_state) def update(self): url = "http://" + self.__ip_address + "/cm?cmnd=Status%208" diff --git a/packages/modules/devices/tasmota/tasmota/counter.py b/packages/modules/devices/tasmota/tasmota/counter.py index 04d598db7b..3c4a940ef4 100644 --- a/packages/modules/devices/tasmota/tasmota/counter.py +++ b/packages/modules/devices/tasmota/tasmota/counter.py @@ -11,6 +11,7 @@ from modules.common import req from modules.common.component_state import CounterState from modules.common.utils.peak_filter import PeakFilter +from modules.common.component_type import ComponentType log = logging.getLogger(__name__) @@ -33,7 +34,7 @@ def initialize(self) -> None: self.__phase: int = self.kwargs['phase'] self.store = get_counter_value_store(self.component_config.id) self.fault_state = FaultState(ComponentInfo.from_component_config(self.component_config)) - self.peak_filter = PeakFilter("counter", self.component_config.id, self.fault_state) + self.peak_filter = PeakFilter(ComponentType.COUNTER, self.component_config.id, self.fault_state) def update(self): url = "http://" + self.__ip_address + "/cm?cmnd=Status%208" diff --git a/packages/modules/devices/tasmota/tasmota/inverter.py b/packages/modules/devices/tasmota/tasmota/inverter.py index d1c0552490..0ab3e2ad8f 100644 --- a/packages/modules/devices/tasmota/tasmota/inverter.py +++ b/packages/modules/devices/tasmota/tasmota/inverter.py @@ -11,6 +11,7 @@ from modules.common import req from modules.common.component_state import InverterState from modules.common.utils.peak_filter import PeakFilter +from modules.common.component_type import ComponentType log = logging.getLogger(__name__) @@ -33,7 +34,7 @@ def initialize(self) -> None: self.__phase: int = self.kwargs['phase'] self.store = get_inverter_value_store(self.component_config.id) self.fault_state = FaultState(ComponentInfo.from_component_config(self.component_config)) - self.peak_filter = PeakFilter("inverter", self.component_config.id, self.fault_state) + self.peak_filter = PeakFilter(ComponentType.INVERTER, self.component_config.id, self.fault_state) def update(self): url = "http://" + self.__ip_address + "/cm?cmnd=Status%208" diff --git a/packages/modules/devices/thermia/thermia/counter.py b/packages/modules/devices/thermia/thermia/counter.py index 705041ac09..47dbf6cc56 100644 --- a/packages/modules/devices/thermia/thermia/counter.py +++ b/packages/modules/devices/thermia/thermia/counter.py @@ -10,6 +10,7 @@ from modules.devices.thermia.thermia.config import ThermiaCounterSetup from pymodbus.constants import Endian from modules.common.utils.peak_filter import PeakFilter +from modules.common.component_type import ComponentType class KwargsDict(TypedDict): @@ -30,7 +31,7 @@ def initialize(self) -> None: self.sim_counter = SimCounter(self.__device_id, self.component_config.id, prefix="bezug") self.store = get_counter_value_store(self.component_config.id) self.fault_state = FaultState(ComponentInfo.from_component_config(self.component_config)) - self.peak_filter = PeakFilter("counter", self.component_config.id, self.fault_state) + self.peak_filter = PeakFilter(ComponentType.COUNTER, self.component_config.id, self.fault_state) def update(self): with self.client: diff --git a/packages/modules/devices/upower/upower/bat.py b/packages/modules/devices/upower/upower/bat.py index 3968a15d1f..304cbf7bd9 100644 --- a/packages/modules/devices/upower/upower/bat.py +++ b/packages/modules/devices/upower/upower/bat.py @@ -12,6 +12,7 @@ from modules.devices.upower.upower.config import UPowerBatSetup from modules.devices.upower.upower.version import UPowerVersion from modules.common.utils.peak_filter import PeakFilter +from modules.common.component_type import ComponentType class UPowerBat(AbstractBat): @@ -28,7 +29,7 @@ def __init__(self, self.store = get_bat_value_store(self.component_config.id) self.fault_state = FaultState(ComponentInfo.from_component_config(self.component_config)) self.sim_counter = SimCounter(device_id, self.component_config.id, prefix="speicher") - self.peak_filter = PeakFilter("bat", self.component_config.id, self.fault_state) + self.peak_filter = PeakFilter(ComponentType.BAT, self.component_config.id, self.fault_state) def update(self) -> None: if self.version == UPowerVersion.GEN_1: diff --git a/packages/modules/devices/upower/upower/counter.py b/packages/modules/devices/upower/upower/counter.py index 4fada12951..818b62f50a 100644 --- a/packages/modules/devices/upower/upower/counter.py +++ b/packages/modules/devices/upower/upower/counter.py @@ -12,6 +12,7 @@ from modules.devices.upower.upower.config import UPowerCounterSetup from modules.devices.upower.upower.version import UPowerVersion from modules.common.utils.peak_filter import PeakFilter +from modules.common.component_type import ComponentType class UPowerCounter(AbstractCounter): @@ -28,7 +29,7 @@ def __init__(self, self.store = get_counter_value_store(self.component_config.id) self.fault_state = FaultState(ComponentInfo.from_component_config(self.component_config)) self.sim_counter = SimCounter(device_id, self.component_config.id, prefix="bezug") - self.peak_filter = PeakFilter("counter", self.component_config.id, self.fault_state) + self.peak_filter = PeakFilter(ComponentType.COUNTER, self.component_config.id, self.fault_state) def update(self): if self.version == UPowerVersion.GEN_1: diff --git a/packages/modules/devices/upower/upower/inverter.py b/packages/modules/devices/upower/upower/inverter.py index c7abf210c1..d09ef2fa92 100644 --- a/packages/modules/devices/upower/upower/inverter.py +++ b/packages/modules/devices/upower/upower/inverter.py @@ -11,6 +11,7 @@ from modules.devices.upower.upower.config import UPowerInverterSetup from modules.devices.upower.upower.version import UPowerVersion from modules.common.utils.peak_filter import PeakFilter +from modules.common.component_type import ComponentType class UPowerInverter(AbstractInverter): @@ -25,7 +26,7 @@ def __init__(self, self.client = client self.store = get_inverter_value_store(self.component_config.id) self.fault_state = FaultState(ComponentInfo.from_component_config(self.component_config)) - self.peak_filter = PeakFilter("inverter", self.component_config.id, self.fault_state) + self.peak_filter = PeakFilter(ComponentType.INVERTER, self.component_config.id, self.fault_state) def update(self) -> None: if self.version == UPowerVersion.GEN_1: diff --git a/packages/modules/devices/varta/varta/bat_modbus.py b/packages/modules/devices/varta/varta/bat_modbus.py index 0d374e301a..2ac4cab323 100644 --- a/packages/modules/devices/varta/varta/bat_modbus.py +++ b/packages/modules/devices/varta/varta/bat_modbus.py @@ -10,6 +10,7 @@ from modules.common.store import get_bat_value_store from modules.devices.varta.varta.config import VartaBatModbusSetup from modules.common.utils.peak_filter import PeakFilter +from modules.common.component_type import ComponentType class KwargsDict(TypedDict): @@ -30,7 +31,7 @@ def initialize(self) -> None: self.sim_counter = SimCounter(self.__device_id, self.component_config.id, prefix="speicher") self.store = get_bat_value_store(self.component_config.id) self.fault_state = FaultState(ComponentInfo.from_component_config(self.component_config)) - self.peak_filter = PeakFilter("bat", self.component_config.id, self.fault_state) + self.peak_filter = PeakFilter(ComponentType.BAT, self.component_config.id, self.fault_state) def update(self) -> None: self.set_state(self.get_state()) diff --git a/packages/modules/devices/varta/varta/counter.py b/packages/modules/devices/varta/varta/counter.py index 495d1c5e8a..3dd321010a 100644 --- a/packages/modules/devices/varta/varta/counter.py +++ b/packages/modules/devices/varta/varta/counter.py @@ -10,6 +10,7 @@ from modules.common.store import get_counter_value_store from modules.devices.varta.varta.config import VartaCounterSetup from modules.common.utils.peak_filter import PeakFilter +from modules.common.component_type import ComponentType class KwargsDict(TypedDict): @@ -30,7 +31,7 @@ def initialize(self) -> None: self.sim_counter = SimCounter(self.__device_id, self.component_config.id, prefix="bezug") self.store = get_counter_value_store(self.component_config.id) self.fault_state = FaultState(ComponentInfo.from_component_config(self.component_config)) - self.peak_filter = PeakFilter("counter", self.component_config.id, self.fault_state) + self.peak_filter = PeakFilter(ComponentType.COUNTER, self.component_config.id, self.fault_state) def update(self): power = self.client.read_holding_registers(1078, ModbusDataType.INT_16, unit=self.__modbus_id) * -1 diff --git a/packages/modules/devices/varta/varta/inverter.py b/packages/modules/devices/varta/varta/inverter.py index 704bdd0c42..5bba140ea2 100644 --- a/packages/modules/devices/varta/varta/inverter.py +++ b/packages/modules/devices/varta/varta/inverter.py @@ -9,6 +9,7 @@ from modules.common.store import get_inverter_value_store from modules.devices.varta.varta.config import VartaInverterSetup from modules.common.utils.peak_filter import PeakFilter +from modules.common.component_type import ComponentType class KwargsDict(TypedDict): @@ -29,7 +30,7 @@ def initialize(self) -> None: self.sim_counter = SimCounter(self.__device_id, self.component_config.id, prefix="pv") self.store = get_inverter_value_store(self.component_config.id) self.fault_state = FaultState(ComponentInfo.from_component_config(self.component_config)) - self.peak_filter = PeakFilter("inverter", self.component_config.id, self.fault_state) + self.peak_filter = PeakFilter(ComponentType.INVERTER, self.component_config.id, self.fault_state) def update(self): power = self.client.read_holding_registers(1102, ModbusDataType.UINT_16, unit=self.__modbus_id) * -1 diff --git a/packages/modules/devices/victron/victron/bat.py b/packages/modules/devices/victron/victron/bat.py index 4782034fe5..2d0cad9d07 100644 --- a/packages/modules/devices/victron/victron/bat.py +++ b/packages/modules/devices/victron/victron/bat.py @@ -12,6 +12,7 @@ from modules.common.store import get_bat_value_store from modules.devices.victron.victron.config import VictronBatSetup from modules.common.utils.peak_filter import PeakFilter +from modules.common.component_type import ComponentType log = logging.getLogger(__name__) @@ -33,7 +34,7 @@ def initialize(self) -> None: self.store = get_bat_value_store(self.component_config.id) self.fault_state = FaultState(ComponentInfo.from_component_config(self.component_config)) self.last_mode = 'Undefined' - self.peak_filter = PeakFilter("bat", self.component_config.id, self.fault_state) + self.peak_filter = PeakFilter(ComponentType.BAT, self.component_config.id, self.fault_state) def update(self) -> None: modbus_id = self.component_config.configuration.modbus_id diff --git a/packages/modules/devices/victron/victron/counter.py b/packages/modules/devices/victron/victron/counter.py index c91ac5ce1e..11da27e6ce 100644 --- a/packages/modules/devices/victron/victron/counter.py +++ b/packages/modules/devices/victron/victron/counter.py @@ -11,6 +11,7 @@ from modules.common.store import get_counter_value_store from modules.devices.victron.victron.config import VictronCounterSetup from modules.common.utils.peak_filter import PeakFilter +from modules.common.component_type import ComponentType class KwargsDict(TypedDict): @@ -29,7 +30,7 @@ def initialize(self) -> None: self.sim_counter = SimCounter(self.__device_id, self.component_config.id, prefix="bezug") self.store = get_counter_value_store(self.component_config.id) self.fault_state = FaultState(ComponentInfo.from_component_config(self.component_config)) - self.peak_filter = PeakFilter("counter", self.component_config.id, self.fault_state) + self.peak_filter = PeakFilter(ComponentType.COUNTER, self.component_config.id, self.fault_state) def update(self): unit = self.component_config.configuration.modbus_id diff --git a/packages/modules/devices/victron/victron/inverter.py b/packages/modules/devices/victron/victron/inverter.py index 31eea771cd..2b11b17f81 100644 --- a/packages/modules/devices/victron/victron/inverter.py +++ b/packages/modules/devices/victron/victron/inverter.py @@ -12,6 +12,7 @@ from modules.common.store import get_inverter_value_store from modules.devices.victron.victron.config import VictronInverterSetup from modules.common.utils.peak_filter import PeakFilter +from modules.common.component_type import ComponentType log = logging.getLogger(__name__) @@ -32,7 +33,7 @@ def initialize(self) -> None: self.sim_counter = SimCounter(self.__device_id, self.component_config.id, prefix="pv") self.store = get_inverter_value_store(self.component_config.id) self.fault_state = FaultState(ComponentInfo.from_component_config(self.component_config)) - self.peak_filter = PeakFilter("inverter", self.component_config.id, self.fault_state) + self.peak_filter = PeakFilter(ComponentType.INVERTER, self.component_config.id, self.fault_state) def update(self) -> None: modbus_id = self.component_config.configuration.modbus_id diff --git a/packages/modules/devices/victron/victron_3p75ct/counter.py b/packages/modules/devices/victron/victron_3p75ct/counter.py index bcd76e1388..fb7e074022 100644 --- a/packages/modules/devices/victron/victron_3p75ct/counter.py +++ b/packages/modules/devices/victron/victron_3p75ct/counter.py @@ -10,6 +10,7 @@ from modules.common.store import get_counter_value_store from modules.devices.victron.victron_3p75ct.config import VictronCounterSetup from modules.common.utils.peak_filter import PeakFilter +from modules.common.component_type import ComponentType class KwargsDict(TypedDict): @@ -26,7 +27,7 @@ def initialize(self) -> None: self.__udp_client = self.kwargs['client'] self.store = get_counter_value_store(self.component_config.id) self.fault_state = FaultState(ComponentInfo.from_component_config(self.component_config)) - self.peak_filter = PeakFilter("counter", self.component_config.id, self.fault_state) + self.peak_filter = PeakFilter(ComponentType.COUNTER, self.component_config.id, self.fault_state) def update(self): unit = 1 # Modbus ID ist immer 1 da Standalone Produkt diff --git a/packages/modules/devices/vzlogger/vzlogger/counter.py b/packages/modules/devices/vzlogger/vzlogger/counter.py index f9fef2ed2d..0ca9238777 100644 --- a/packages/modules/devices/vzlogger/vzlogger/counter.py +++ b/packages/modules/devices/vzlogger/vzlogger/counter.py @@ -10,6 +10,7 @@ from modules.devices.vzlogger.vzlogger.config import VZLoggerCounterSetup from modules.devices.vzlogger.vzlogger.utils import parse_line from modules.common.utils.peak_filter import PeakFilter +from modules.common.component_type import ComponentType class KwargsDict(TypedDict): @@ -26,7 +27,7 @@ def initialize(self) -> None: self.sim_counter = SimCounter(self.__device_id, self.component_config.id, prefix="bezug") self.store = get_counter_value_store(self.component_config.id) self.fault_state = FaultState(ComponentInfo.from_component_config(self.component_config)) - self.peak_filter = PeakFilter("counter", self.component_config.id, self.fault_state) + self.peak_filter = PeakFilter(ComponentType.COUNTER, self.component_config.id, self.fault_state) def update(self, response): config = self.component_config.configuration diff --git a/packages/modules/devices/vzlogger/vzlogger/inverter.py b/packages/modules/devices/vzlogger/vzlogger/inverter.py index ad71db01de..f8b81b9515 100644 --- a/packages/modules/devices/vzlogger/vzlogger/inverter.py +++ b/packages/modules/devices/vzlogger/vzlogger/inverter.py @@ -10,6 +10,7 @@ from modules.devices.vzlogger.vzlogger.config import VZLoggerInverterSetup from modules.devices.vzlogger.vzlogger.utils import parse_line from modules.common.utils.peak_filter import PeakFilter +from modules.common.component_type import ComponentType class KwargsDict(TypedDict): @@ -26,7 +27,7 @@ def initialize(self) -> None: self.sim_counter = SimCounter(self.__device_id, self.component_config.id, prefix="pv") self.store = get_inverter_value_store(self.component_config.id) self.fault_state = FaultState(ComponentInfo.from_component_config(self.component_config)) - self.peak_filter = PeakFilter("inverter", self.component_config.id, self.fault_state) + self.peak_filter = PeakFilter(ComponentType.INVERTER, self.component_config.id, self.fault_state) def update(self, response) -> None: config = self.component_config.configuration diff --git a/packages/modules/devices/youless/youless/inverter.py b/packages/modules/devices/youless/youless/inverter.py index 220d9cb169..3e7eb1e21e 100644 --- a/packages/modules/devices/youless/youless/inverter.py +++ b/packages/modules/devices/youless/youless/inverter.py @@ -6,6 +6,7 @@ from modules.common.store import get_inverter_value_store from modules.devices.youless.youless.config import YoulessInverterSetup from modules.common.utils.peak_filter import PeakFilter +from modules.common.component_type import ComponentType class YoulessInverter(AbstractInverter): @@ -15,7 +16,7 @@ def __init__(self, component_config: YoulessInverterSetup) -> None: def initialize(self) -> None: self.store = get_inverter_value_store(self.component_config.id) self.fault_state = FaultState(ComponentInfo.from_component_config(self.component_config)) - self.peak_filter = PeakFilter("inverter", self.component_config.id, self.fault_state) + self.peak_filter = PeakFilter(ComponentType.INVERTER, self.component_config.id, self.fault_state) def update(self, response) -> None: if self.component_config.configuration.source_s0: