@@ -277,8 +277,7 @@ def update_pulse_counter(
277277 self ._pulses_consumption = pulses_consumed
278278 self ._pulses_production = pulses_produced
279279
280- ######### still to finish
281- def _update_rollover (self ) -> None :
280+ def _update_rollover (self , consumption : bool ) -> None :
282281 """Update rollover states.
283282
284283 When the last found timestamp is outside the interval `_last_log_timestamp`
@@ -296,13 +295,13 @@ def _update_rollover(self) -> None:
296295 return
297296
298297 if self ._pulses_timestamp > self ._next_log_timestamp :
299- if CONSUMPTION : # TODO
298+ if consumption :
300299 self ._rollover_consumption = True
301300 _LOGGER .debug (
302301 "_update_rollover | %s | set consumption rollover => pulses newer" ,
303302 self ._mac ,
304303 )
305- if PRODUCTION : # TODO
304+ else :
306305 self ._rollover_production = True
307306 _LOGGER .debug (
308307 "_update_rollover | %s | set production rollover => pulses newer" ,
@@ -311,13 +310,13 @@ def _update_rollover(self) -> None:
311310 return
312311
313312 if self ._pulses_timestamp < self ._last_log_timestamp :
314- if CONSUMPTION : # TODO
313+ if consumption :
315314 self ._rollover_consumption = True
316315 _LOGGER .debug (
317316 "_update_rollover | %s | set consumption rollover => log newer" ,
318317 self ._mac ,
319318 )
320- if PRODUCTION : # TODO
319+ else :
321320 self ._rollover_production = True
322321 _LOGGER .debug (
323322 "_update_rollover | %s | reset production rollover => log newer" ,
@@ -326,13 +325,13 @@ def _update_rollover(self) -> None:
326325 return
327326
328327 # _last_log_timestamp <= _pulses_timestamp <= _next_log_timestamp
329- if CONSUMPTION : # TODO
328+ if consumption :
330329 if self ._rollover_consumption :
331- _LOGGER .debug ("_update_rollover | %s | reset consumption" , self ._mac )
330+ _LOGGER .debug ("_update_rollover | %s | reset consumption rollover " , self ._mac )
332331 self ._rollover_consumption = False
333- if PRODUCTION : # TODO
332+ else :
334333 if self ._rollover_production :
335- _LOGGER .debug ("_update_rollover | %s | reset production" , self ._mac )
334+ _LOGGER .debug ("_update_rollover | %s | reset production rollover " , self ._mac )
336335 self ._rollover_production = False
337336 return
338337
@@ -399,6 +398,7 @@ def add_log(
399398 return False
400399 self ._update_log_references (address , slot )
401400 self ._update_log_interval ()
401+ self ._update_rollover (direction )
402402 if not import_only :
403403 self .recalculate_missing_log_addresses ()
404404 return True
0 commit comments