@@ -286,29 +286,29 @@ def update_pulse_counter(
286286 self ._prod_pulsecounter_reset = False
287287 self ._pulses_timestamp = timestamp
288288 self ._update_rollover ()
289- if self . _pulses_consumption is not None :
290- self ._pulses_consumption = pulses_consumed
291- _LOGGER . debug ( "update_pulse_counter | consumption pulses=%s" , self ._pulses_consumption )
292- if self . _pulses_consumption > pulses_consumed :
293- self ._cons_pulsecounter_reset = True
294- _LOGGER .debug ("update_pulse_counter | consumption pulses reset" )
295- self ._cons_last_hourly_reset = timestamp
296- _LOGGER .debug (
297- "update_pulse_counter | consumption hourly_reset_time=%s" ,
298- self ._cons_last_hourly_reset ,
299- )
289+ if (
290+ self ._pulses_consumption is not None
291+ and self ._pulses_consumption > pulses_consumed
292+ ) :
293+ self ._cons_pulsecounter_reset = True
294+ _LOGGER .debug ("update_pulse_counter | consumption pulses reset" )
295+ self ._cons_last_hourly_reset = timestamp
296+ _LOGGER .debug (
297+ "update_pulse_counter | consumption hourly_reset_time=%s" ,
298+ self ._cons_last_hourly_reset ,
299+ )
300300
301- if self . _pulses_production is not None :
302- self ._pulses_production = pulses_produced
303- _LOGGER . debug ( "update_pulse_counter | production pulses=%s" , self ._pulses_production )
304- if self . _pulses_production < pulses_produced :
305- self ._prod_pulsecounter_reset = True
306- _LOGGER .debug ("update_pulse_counter | production pulses reset" )
307- self .prod_last_hourly_reset = timestamp
308- _LOGGER .debug (
309- "update_pulse_counter | production hourly_reset_time=%s" ,
310- self .prod_last_hourly_reset ,
311- )
301+ if (
302+ self ._pulses_production is not None
303+ and self ._pulses_production < pulses_produced
304+ ) :
305+ self ._prod_pulsecounter_reset = True
306+ _LOGGER .debug ("update_pulse_counter | production pulses reset" )
307+ self .prod_last_hourly_reset = timestamp
308+ _LOGGER .debug (
309+ "update_pulse_counter | production hourly_reset_time=%s" ,
310+ self .prod_last_hourly_reset ,
311+ )
312312
313313 # No rollover based on time, check rollover based on counter reset
314314 # Required for special cases like nodes which have been powered off for several days
@@ -321,6 +321,11 @@ def update_pulse_counter(
321321 _LOGGER .debug ("update_pulse_counter | rollover production" )
322322 self ._rollover_production = True
323323
324+ self ._pulses_consumption = pulses_consumed
325+ _LOGGER .debug ("update_pulse_counter | consumption pulses=%s" , self ._pulses_consumption )
326+ self ._pulses_production = pulses_produced
327+ _LOGGER .debug ("update_pulse_counter | production pulses=%s" , self ._pulses_production )
328+
324329 def _update_rollover (self ) -> None :
325330 """Update rollover states.
326331
0 commit comments