Skip to content

Commit a764a1c

Browse files
committed
Update _update_log_interval()
1 parent 382b49f commit a764a1c

File tree

1 file changed

+15
-52
lines changed

1 file changed

+15
-52
lines changed

plugwise_usb/nodes/helpers/pulses.py

Lines changed: 15 additions & 52 deletions
Original file line numberDiff line numberDiff line change
@@ -390,67 +390,30 @@ def _update_log_interval(self) -> None:
390390
)
391391
return
392392

393-
last_cons_address, last_cons_slot = self._last_log_reference(
394-
is_consumption=True
395-
)
396-
if last_cons_address is None or last_cons_slot is None:
393+
last_address, last_slot = self._last_log_reference()
394+
if last_address is None or last_slot is None:
397395
return
398396

399-
# Update interval of consumption
400-
last_cons_timestamp = self._logs[last_cons_address][last_cons_slot].timestamp
401-
address, slot = calc_log_address(last_cons_address, last_cons_slot, -1)
397+
last_timestamp = self._logs[last_address][last__slot].timestamp
398+
address, slot = calc_log_address(last_address, last_slot, -1)
402399
while self._log_exists(address, slot):
403-
if self._logs[address][slot].is_consumption:
404-
delta1: timedelta = (
405-
last_cons_timestamp - self._logs[address][slot].timestamp
406-
)
407-
self._log_interval_consumption = int(
408-
delta1.total_seconds() / MINUTE_IN_SECONDS
409-
)
410-
break
411-
412-
address, slot = calc_log_address(address, slot, -1)
413-
414-
if (
415-
self._log_interval_consumption is not None
416-
and self._last_log_consumption_timestamp is not None
417-
):
418-
self._next_log_consumption_timestamp = (
419-
self._last_log_consumption_timestamp
420-
+ timedelta(minutes=self._log_interval_consumption)
400+
delta: timedelta = (
401+
last_timestamp - self._logs[address][slot].timestamp
421402
)
422-
423-
if not self._log_production:
424-
return
425-
426-
# Update interval of production
427-
last_prod_address, last_prod_slot = self._last_log_reference(
428-
is_consumption=False
429-
)
430-
if last_prod_address is None or last_prod_slot is None:
431-
return
432-
433-
last_prod_timestamp = self._logs[last_prod_address][last_prod_slot].timestamp
434-
address, slot = calc_log_address(last_prod_address, last_prod_slot, -1)
435-
while self._log_exists(address, slot):
436-
if not self._logs[address][slot].is_consumption:
437-
delta2: timedelta = (
438-
last_prod_timestamp - self._logs[address][slot].timestamp
439-
)
440-
self._log_interval_production = int(
441-
delta2.total_seconds() / MINUTE_IN_SECONDS
442-
)
443-
break
403+
self._log_interval = int(
404+
delta.total_seconds() / MINUTE_IN_SECONDS
405+
)
406+
break
444407

445408
address, slot = calc_log_address(address, slot, -1)
446409

447410
if (
448-
self._log_interval_production is not None
449-
and self._last_log_production_timestamp is not None
411+
self._log_interval is not None
412+
and self._last_log_timestamp is not None
450413
):
451-
self._next_log_production_timestamp = (
452-
self._last_log_production_timestamp
453-
+ timedelta(minutes=self._log_interval_production)
414+
self._next_log_timestamp = (
415+
self._last_log_timestamp
416+
+ timedelta(minutes=self._log_interval)
454417
)
455418

456419
def _log_exists(self, address: int, slot: int) -> bool:

0 commit comments

Comments
 (0)