Skip to content

Commit 806c8d6

Browse files
committed
Reset log_pulses when the pulsecounter resets.
1 parent 0f9cc1b commit 806c8d6

File tree

1 file changed

+13
-17
lines changed

1 file changed

+13
-17
lines changed

plugwise_usb/nodes/helpers/pulses.py

Lines changed: 13 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -182,12 +182,6 @@ def collected_pulses(
182182
if self._log_production is None or not self._log_production:
183183
return (None, None)
184184

185-
if (
186-
log_pulses := self._collect_pulses_from_logs(from_timestamp, is_consumption)
187-
) is None:
188-
_LOGGER.debug("collected_pulses | %s | log_pulses:None", self._mac)
189-
return (None, None)
190-
191185
pulses: int | None = None
192186
timestamp: datetime | None = None
193187
if is_consumption and self._pulses_consumption is not None:
@@ -205,6 +199,13 @@ def collected_pulses(
205199
is_consumption,
206200
)
207201
return (None, None)
202+
203+
if (
204+
log_pulses := self._collect_pulses_from_logs(from_timestamp, is_consumption)
205+
) is None:
206+
_LOGGER.debug("collected_pulses | %s | log_pulses:None", self._mac)
207+
return (None, None)
208+
208209
_LOGGER.debug(
209210
"collected_pulses | pulses=%s | log_pulses=%s | consumption=%s at timestamp=%s",
210211
pulses,
@@ -236,7 +237,7 @@ def _collect_pulses_from_logs(
236237
timestamp = self._last_log_consumption_timestamp
237238
if (
238239
from_timestamp > timestamp
239-
and self._pulsecounter_reset
240+
and self._cons_pulsecounter_reset
240241
):
241242
_LOGGER.debug("_collect_pulses_from_logs | resetting log_pulses to 0")
242243
return 0
@@ -251,7 +252,7 @@ def _collect_pulses_from_logs(
251252
timestamp = self._last_log_production_timestamp
252253
if (
253254
from_timestamp > timestamp
254-
and self._pulsecounter_reset
255+
and self._prod_pulsecounter_reset
255256
):
256257
_LOGGER.debug("_collect_pulses_from_logs | resetting log_pulses to 0")
257258
return 0
@@ -290,8 +291,8 @@ def update_pulse_counter(
290291
291292
Both device consumption and production counters reset after the beginning of a new hour.
292293
"""
293-
cons_pulsecounter_reset = False
294-
prod_pulsecounter_reset = False
294+
self._cons_pulsecounter_reset = False
295+
self._prod_pulsecounter_reset = False
295296
self._pulses_timestamp = timestamp
296297
self._update_rollover()
297298
if (
@@ -304,7 +305,7 @@ def update_pulse_counter(
304305
"update_pulse_counter | consumption hourly_reset_time=%s",
305306
self.cons_last_hourly_reset,
306307
)
307-
cons_pulsecounter_reset = True
308+
self._cons_pulsecounter_reset = True
308309

309310
if (
310311
self._pulses_production is not None
@@ -316,12 +317,7 @@ def update_pulse_counter(
316317
"update_pulse_counter | production hourly_reset_time=%s",
317318
self.prod_last_hourly_reset,
318319
)
319-
prod_pulsecounter_reset = True
320-
321-
if cons_pulsecounter_reset or prod_pulsecounter_reset:
322-
self._pulsecounter_reset = True
323-
else:
324-
self._pulsecounter_reset = False
320+
self._prod_pulsecounter_reset = True
325321

326322
# No rollover based on time, check rollover based on counter reset
327323
# Required for special cases like nodes which have been powered off for several days

0 commit comments

Comments
 (0)