@@ -93,6 +93,7 @@ def __init__(self, mac: str) -> None:
9393 self ._prev_pulses_consumption : int = 0
9494 self ._pulses_consumption : int | None = None
9595 self ._prev_pulses_production : int = 0
96+ self ._prev_timestamp : datetime | None = None
9697 self ._pulses_production : int | None = None
9798 self ._pulses_timestamp : datetime | None = None
9899
@@ -188,9 +189,13 @@ def collected_pulses(
188189 timestamp : datetime | None = None
189190 if is_consumption and self ._pulses_consumption is not None :
190191 timestamp = self ._pulses_timestamp
192+ if self ._prev_timestamp == timestamp :
193+ return
194+
191195 delta_cons_pulses = self ._pulses_consumption - self ._prev_pulses_consumption
192196 pulses = self ._prev_pulses_consumption + delta_cons_pulses
193197 self ._prev_pulses_consumption = pulses
198+ self ._prev_timestamp = timestamp
194199 if reset :
195200 pulses = delta_cons_pulses
196201 self ._prev_pulses_consumption = 0
@@ -203,6 +208,7 @@ def collected_pulses(
203208 delta_prod_pulses = self ._pulses_production - self ._prev_pulses_production
204209 pulses = self ._prev_pulses_production + delta_prod_pulses
205210 self ._prev_pulses_production = pulses
211+ self ._prev_timestamp = timestamp
206212 if reset :
207213 pulses = delta_prod_pulses
208214 self ._prev_pulses_production = 0
0 commit comments