Skip to content

Commit 7cec7b7

Browse files
committed
Restructure energy update helpers
1 parent c92196c commit 7cec7b7

File tree

1 file changed

+38
-31
lines changed

1 file changed

+38
-31
lines changed

plugwise/nodes/circle.py

Lines changed: 38 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -344,7 +344,7 @@ def _response_power_usage(self, message: CirclePowerUsageResponse):
344344
self.do_callback(FEATURE_POWER_CONSUMPTION_CURRENT_HOUR["id"])
345345

346346
# Update energy consumption today
347-
self._update_today_energy()
347+
self._update_energy_today_now()
348348

349349
# Power produced current hour
350350
if message.pulse_hour_produced.value == -1:
@@ -500,68 +500,75 @@ def _calc_todays_energy_pulses(self):
500500
)
501501
return _energy_use
502502

503-
def _update_today_energy(self):
504-
"""Update cumulative energy consumption (kWh) of today"""
505-
_new_energy_pulse_counter_today = self._calc_todays_energy_pulses()
503+
def _update_energy_today_now(self):
504+
"""Update energy consumption (kWh) of today up to now"""
505+
_pulses_today_now = self._calc_todays_energy_pulses()
506506
_LOGGER.debug(
507-
"_update_today_energy for %s | counter = %s, update= %s",
507+
"_update_energy_today_now for %s | counter = %s, update= %s",
508508
self.mac,
509509
str(self._energy_pulses_today_now),
510-
str(_new_energy_pulse_counter_today),
510+
str(_pulses_today_now),
511511
)
512512
if (
513513
self._energy_pulses_today_now is None
514-
or self._energy_pulses_today_now != _new_energy_pulse_counter_today
514+
or self._energy_pulses_today_now != _pulses_today_now
515515
):
516-
self._energy_pulses_today_now = _new_energy_pulse_counter_today
516+
self._energy_pulses_today_now = _pulses_today_now
517517
self.do_callback(FEATURE_ENERGY_CONSUMPTION_TODAY["id"])
518518

519-
def _update_previous_hour_power(self, prev_hour: datetime):
520-
"""Update energy consumption (kWh) of previous hour"""
521-
_prev_hour_pulses = self._collect_energy_pulses(prev_hour, prev_hour)
519+
def _update_energy_previous_hour(self, prev_hour: datetime):
520+
"""Update energy consumption (pulses) of previous hour"""
521+
_pulses_prev_hour = self._collect_energy_pulses(prev_hour, prev_hour)
522+
_LOGGER.debug(
523+
"_update_energy_previous_hour for %s | counter = %s, update= %s, timestamp %s",
524+
self.mac,
525+
str(self._energy_pulses_yesterday),
526+
str(_pulses_prev_hour),
527+
str(prev_hour),
528+
)
522529
if (
523530
self._energy_pulses_prev_hour is None
524-
or self._energy_pulses_prev_hour != _prev_hour_pulses
531+
or self._energy_pulses_prev_hour != _pulses_prev_hour
525532
):
526-
self._energy_pulses_prev_hour = _prev_hour_pulses
533+
self._energy_pulses_prev_hour = _pulses_prev_hour
527534
self.do_callback(FEATURE_POWER_CONSUMPTION_PREVIOUS_HOUR["id"])
528535

529-
def _update_yesterday_power(
536+
def _update_energy_yesterday(
530537
self, start_yesterday: datetime, end_yesterday: datetime
531538
):
532-
"""Update energy consumption (kWh) of yesterday"""
533-
_yesterday_pulses = self._collect_energy_pulses(start_yesterday, end_yesterday)
539+
"""Update energy consumption (pulses) of yesterday"""
540+
_pulses_yesterday = self._collect_energy_pulses(start_yesterday, end_yesterday)
534541
_LOGGER.debug(
535-
"_update_yesterday_power for %s | counter = %s, update= %s, range %s to %s",
542+
"_update_energy_yesterday for %s | counter = %s, update= %s, range %s to %s",
536543
self.mac,
537544
str(self._energy_pulses_yesterday),
538-
str(_yesterday_pulses),
545+
str(_pulses_yesterday),
539546
str(start_yesterday),
540547
str(end_yesterday),
541548
)
542549
if (
543550
self._energy_pulses_yesterday is None
544-
or self._energy_pulses_yesterday != _yesterday_pulses
551+
or self._energy_pulses_yesterday != _pulses_yesterday
545552
):
546-
self._energy_pulses_yesterday = _yesterday_pulses
553+
self._energy_pulses_yesterday = _pulses_yesterday
547554
self.do_callback(FEATURE_POWER_CONSUMPTION_YESTERDAY["id"])
548555

549-
def _update_today_power(self, start_today: datetime, end_today: datetime):
550-
"""Update energy consumption (kWh) of today"""
551-
_today_pulses = self._collect_energy_pulses(start_today, end_today)
556+
def _update_energy_today_hourly(self, start_today: datetime, end_today: datetime):
557+
"""Update energy consumption (pulses) of today up to last hour"""
558+
_pulses_today_hourly = self._collect_energy_pulses(start_today, end_today)
552559
_LOGGER.debug(
553-
"_update_today_power for %s | counter = %s, update= %s, range %s to %s",
560+
"_update_energy_today_hourly for %s | counter = %s, update= %s, range %s to %s",
554561
self.mac,
555562
str(self._energy_pulses_today_hourly),
556-
str(_today_pulses),
563+
str(_pulses_today_hourly),
557564
str(start_today),
558565
str(end_today),
559566
)
560567
if (
561568
self._energy_pulses_today_hourly is None
562-
or self._energy_pulses_today_hourly != _today_pulses
569+
or self._energy_pulses_today_hourly != _pulses_today_hourly
563570
):
564-
self._energy_pulses_today_hourly = _today_pulses
571+
self._energy_pulses_today_hourly = _pulses_today_hourly
565572
self.do_callback(FEATURE_POWER_CONSUMPTION_TODAY["id"])
566573

567574
def request_energy_counters(self, log_address=None, callback=None):
@@ -665,16 +672,16 @@ def _response_energy_counters(self, message: CircleEnergyCountersResponse):
665672

666673
# Update energy counters
667674
if not self._energy_counter_collect_in_progress:
668-
self._update_previous_hour_power(_utc_hour_timestamp)
669-
self._update_today_power(
675+
self._update_energy_previous_hour(_utc_hour_timestamp)
676+
self._update_energy_today_hourly(
670677
_utc_midnight_timestamp + timedelta(hours=1),
671678
_utc_hour_timestamp,
672679
)
673-
self._update_yesterday_power(
680+
self._update_energy_yesterday(
674681
_utc_midnight_timestamp - timedelta(hours=23),
675682
_utc_midnight_timestamp,
676683
)
677-
self._update_today_energy()
684+
self._update_energy_today_now()
678685

679686
# Cleanup energy history for more than 8 day's ago
680687
_8_days_ago = datetime.utcnow().replace(

0 commit comments

Comments
 (0)