@@ -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,32 +265,37 @@ 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
289293 if not (self ._rollover_consumption or self ._rollover_production ):
290- if self . _cons_pulsecounter_reset :
294+ if cons_pulsecounter_reset :
291295 _LOGGER .debug ("update_pulse_counter | rollover consumption" )
292296 self ._rollover_consumption = True
293297
294- if self . _prod_pulsecounter_reset :
298+ if prod_pulsecounter_reset :
295299 _LOGGER .debug ("update_pulse_counter | rollover production" )
296300 self ._rollover_production = True
297301
0 commit comments