Skip to content

Commit 5b29903

Browse files
committed
Use the pulse_counter_reset event to update the daily last_reset
1 parent 9d1acff commit 5b29903

File tree

2 files changed

+7
-9
lines changed

2 files changed

+7
-9
lines changed

plugwise_usb/nodes/helpers/counter.py

Lines changed: 3 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -283,15 +283,9 @@ def update(
283283
# No syncing needed for the hour-counters, they reset when the device pulsecounter(s) reset
284284
last_reset = last_reset.replace(minute=0, second=0, microsecond=0)
285285
if self._energy_id in ENERGY_DAY_COUNTERS:
286-
# Sync the daily reset time with the device pulsecounter(s) reset time
287-
last_reset = last_reset.replace(hour=0, minute=0, second=0, microsecond=0)
288-
if pulse_collection.hourly_reset_time is not None:
289-
last_reset = last_reset.replace(
290-
hour=0,
291-
minute=pulse_collection.hourly_reset_time.minute,
292-
second=pulse_collection.hourly_reset_time.second,
293-
microsecond=pulse_collection.hourly_reset_time.microsecond,
294-
)
286+
# Postpone the daily reset time change until the device pulsecounter(s) reset
287+
if pulse_collection.pulse_counter_reset:
288+
last_reset = last_reset.replace(hour=0, minute=0, second=0, microsecond=0)
295289

296290
pulses, last_update = pulse_collection.collected_pulses(
297291
last_reset, self._is_consumption

plugwise_usb/nodes/helpers/pulses.py

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -165,6 +165,10 @@ def last_update(self) -> datetime | None:
165165
"""Return timestamp of last update."""
166166
return self._pulses_timestamp
167167

168+
def pulse_counter_reset(self) -> bool:
169+
"""Return a pulse_counter reset."""
170+
return self._cons_pulsecounter_reset or self._prod_pulsecounter_reset
171+
168172
def collected_pulses(
169173
self, from_timestamp: datetime, is_consumption: bool
170174
) -> tuple[int | None, datetime | None]:

0 commit comments

Comments
 (0)