Skip to content

Commit 0b3bc03

Browse files
Merge pull request #612 from WillCodeForCats/code-quality
Only log battery energy warning once per occurrence
2 parents 7bb24f7 + 557e788 commit 0b3bc03

File tree

1 file changed

+14
-2
lines changed
  • custom_components/solaredge_modbus_multi

1 file changed

+14
-2
lines changed

custom_components/solaredge_modbus_multi/sensor.py

Lines changed: 14 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1932,6 +1932,7 @@ def __init__(self, platform, config_entry, coordinator):
19321932

19331933
self._last = None
19341934
self._count = 0
1935+
self._log_once = None
19351936

19361937
@property
19371938
def unique_id(self) -> str:
@@ -1959,21 +1960,26 @@ def native_value(self):
19591960

19601961
if self._platform.decoded_model["B_Export_Energy_WH"] >= self._last:
19611962
self._last = self._platform.decoded_model["B_Export_Energy_WH"]
1963+
self._log_once = False
19621964

19631965
if self._platform.allow_battery_energy_reset:
19641966
self._count = 0
19651967

19661968
return self._platform.decoded_model["B_Export_Energy_WH"]
19671969

19681970
else:
1969-
if not self._platform.allow_battery_energy_reset:
1971+
if (
1972+
not self._platform.allow_battery_energy_reset
1973+
and not self._log_once
1974+
):
19701975
_LOGGER.warning(
19711976
(
19721977
"Battery Export Energy went backwards: Current value " # noqa: B950
19731978
f"{self._platform.decoded_model['B_Export_Energy_WH']} " # noqa: B950
19741979
f"is less than last value of {self._last}"
19751980
)
19761981
)
1982+
self._log_once = True
19771983

19781984
if self._platform.allow_battery_energy_reset:
19791985
self._count += 1
@@ -2015,6 +2021,7 @@ def __init__(self, platform, config_entry, coordinator):
20152021

20162022
self._last = None
20172023
self._count = 0
2024+
self._log_once = None
20182025

20192026
@property
20202027
def unique_id(self) -> str:
@@ -2042,21 +2049,26 @@ def native_value(self):
20422049

20432050
if self._platform.decoded_model["B_Import_Energy_WH"] >= self._last:
20442051
self._last = self._platform.decoded_model["B_Import_Energy_WH"]
2052+
self._log_once = False
20452053

20462054
if self._platform.allow_battery_energy_reset:
20472055
self._count = 0
20482056

20492057
return self._platform.decoded_model["B_Import_Energy_WH"]
20502058

20512059
else:
2052-
if not self._platform.allow_battery_energy_reset:
2060+
if (
2061+
not self._platform.allow_battery_energy_reset
2062+
and not self._log_once
2063+
):
20532064
_LOGGER.warning(
20542065
(
20552066
"Battery Import Energy went backwards: Current value " # noqa: B950
20562067
f"{self._platform.decoded_model['B_Import_Energy_WH']} " # noqa: B950
20572068
f"is less than last value of {self._last}"
20582069
)
20592070
)
2071+
self._log_once = True
20602072

20612073
if self._platform.allow_battery_energy_reset:
20622074
self._count += 1

0 commit comments

Comments
 (0)