diff --git a/packages/modules/common/store/_inverter.py b/packages/modules/common/store/_inverter.py index 7acb3dcf9c..72e9d13197 100644 --- a/packages/modules/common/store/_inverter.py +++ b/packages/modules/common/store/_inverter.py @@ -17,8 +17,11 @@ def __init__(self, component_num: int) -> None: def set(self, inverter_state: InverterState): self.__pv.power.write(int(inverter_state.power)) - self.__pv.energy.write(inverter_state.exported) - self.__pv.energy_k.write(inverter_state.exported / 1000) + if inverter_state.exported is not None: + self.__pv.energy.write(inverter_state.exported) + self.__pv.energy_k.write(inverter_state.exported / 1000) + else: + log.debug("Kein gültiger Zählerstand. Wert wird nicht aktualisiert.") if inverter_state.currents: self.__pv.currents.write(inverter_state.currents) @@ -69,8 +72,11 @@ def fix_hybrid_values(self, state: InverterState) -> InverterState: for bat in hybrid: bat_get = data.data.bat_data[bat].data.get power -= bat_get.power - - exported += bat_get.imported - bat_get.exported - imported + if (bat_get.imported is not None and bat_get.exported is not None and + imported is not None and exported is not None): + exported += bat_get.imported - bat_get.exported - imported + else: + exported = None if state.dc_power is not None: # Manche Systeme werden auch aus dem Netz geladen, um einen Mindest-SoC zu halten. diff --git a/packages/modules/common/utils/peak_filter.py b/packages/modules/common/utils/peak_filter.py index 9ba10bf159..70957af5da 100644 --- a/packages/modules/common/utils/peak_filter.py +++ b/packages/modules/common/utils/peak_filter.py @@ -82,9 +82,6 @@ def check_total_energy( 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 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. " f"Differenz zum vorherigen Wert: {total_energy - previous_total_energy}Wh.")