Skip to content

Commit 23897d5

Browse files
committed
Sync the daily reset time with the device pulsecounter(s) reset
1 parent 5a39062 commit 23897d5

File tree

1 file changed

+19
-1
lines changed

1 file changed

+19
-1
lines changed

plugwise_usb/nodes/helpers/counter.py

Lines changed: 19 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -284,9 +284,27 @@ def update(
284284
"""Get pulse update."""
285285
last_reset = datetime.now(tz=LOCAL_TIMEZONE)
286286
if self._energy_id in ENERGY_HOUR_COUNTERS:
287+
# No syncing needed for the hour-counters, they reset when the device pulsecounter(s) reset
287288
last_reset = last_reset.replace(minute=0, second=0, microsecond=0)
288289
if self._energy_id in ENERGY_DAY_COUNTERS:
289-
last_reset = last_reset.replace(hour=0, minute=0, second=0, microsecond=0)
290+
# Sync the daily reset time with the device pulsecounter(s) reset time
291+
if self._is_consumption:
292+
if self._pulse_collection.consumption_last_hourly_reset is not None:
293+
last_reset = last_reset.replace(
294+
hour=0,
295+
minute=self._pulse_collection.consumption_last_hourly_reset.minutes,
296+
second=self._pulse_collection.consumption_last_hourly_reset.seconds,
297+
microsecond=self._pulse_collection.consumption_last_hourly_reset.microseconds,
298+
)
299+
elif self._pulse_collection.production_last_hourly_reset is not None:
300+
last_reset = last_reset.replace(
301+
hour=0,
302+
minute=self._pulse_collection.production_last_hourly_reset.minutes,
303+
second=self._pulse_collection.production_last_hourly_reset.seconds,
304+
microsecond=self._pulse_collection.production_last_hourly_reset.microseconds,
305+
)
306+
else:
307+
last_reset = last_reset.replace(hour=0, minute=0, second=0, microsecond=0)
290308

291309
pulses, last_update = pulse_collection.collected_pulses(
292310
last_reset, self._is_consumption

0 commit comments

Comments
 (0)