Skip to content

Commit 0442364

Browse files
committed
Use common _pulsecounter_reset to reset both counters while only one is active
1 parent 6060f5e commit 0442364

File tree

1 file changed

+12
-8
lines changed

1 file changed

+12
-8
lines changed

plugwise_usb/nodes/helpers/pulses.py

Lines changed: 12 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -83,8 +83,7 @@ def __init__(self, mac: str) -> None:
8383
self._first_log_production_slot: int | None = None
8484
self._next_log_production_timestamp: datetime | None = None
8585

86-
self._cons_pulsecounter_reset = False
87-
self._prod_pulsecounter_reset = False
86+
self._pulsecounter_reset = False
8887
self._rollover_consumption = False
8988
self._rollover_production = False
9089

@@ -223,7 +222,7 @@ def _collect_pulses_from_logs(
223222
return None
224223
if (
225224
from_timestamp > self._last_log_consumption_timestamp
226-
and self._cons_pulsecounter_reset
225+
and self._pulsecounter_reset
227226
):
228227
return 0
229228
else:
@@ -235,7 +234,7 @@ def _collect_pulses_from_logs(
235234
return None
236235
if (
237236
from_timestamp > self._last_log_production_timestamp
238-
and self._prod_pulsecounter_reset
237+
and self._pulsecounter_reset
239238
):
240239
return 0
241240

@@ -266,23 +265,28 @@ def update_pulse_counter(
266265
267266
Both device consumption and production counters reset after the beginning of a new hour.
268267
"""
269-
self._cons_pulsecounter_reset = False
270-
self._prod_pulsecounter_reset = False
268+
cons_pulsecounter_reset = False
269+
prod_pulsecounter_reset = False
271270
self._pulses_timestamp = timestamp
272271
self._update_rollover()
273272
if (
274273
self._pulses_consumption is not None
275274
and self._pulses_consumption > pulses_consumed
276275
):
277276
_LOGGER.debug("update_pulse_counter | consumption pulses reset")
278-
self._cons_pulsecounter_reset = True
277+
cons_pulsecounter_reset = True
279278

280279
if (
281280
self._pulses_production is not None
282281
and self._pulses_production < pulses_produced
283282
):
284283
_LOGGER.debug("update_pulse_counter | production pulses reset")
285-
self._prod_pulsecounter_reset = True
284+
prod_pulsecounter_reset = True
285+
286+
if cons_pulsecounter_reset or prod_pulsecounter_reset:
287+
self._pulsecounter_reset = True
288+
else:
289+
self._pulsecounter_reset = False
286290

287291
# No rollover based on time, check rollover based on counter reset
288292
# Required for special cases like nodes which have been powered off for several days

0 commit comments

Comments
 (0)