@@ -434,14 +434,15 @@ def _update_energy_current_hour(self, _pulses_cur_hour):
434434 str (_pulses_cur_hour ),
435435 )
436436 _hour_rollover = False
437- if (
438- self ._energy_pulses_current_hour is None
439- or self ._energy_pulses_current_hour != _pulses_cur_hour
440- ):
441- if _pulses_cur_hour < self ._energy_pulses_current_hour :
442- _hour_rollover = True
437+ if self ._energy_pulses_current_hour is None :
443438 self ._energy_pulses_current_hour = _pulses_cur_hour
444439 self .do_callback (FEATURE_POWER_CONSUMPTION_CURRENT_HOUR ["id" ])
440+ else :
441+ if self ._energy_pulses_current_hour != _pulses_cur_hour :
442+ if _pulses_cur_hour < self ._energy_pulses_current_hour :
443+ _hour_rollover = True
444+ self ._energy_pulses_current_hour = _pulses_cur_hour
445+ self .do_callback (FEATURE_POWER_CONSUMPTION_CURRENT_HOUR ["id" ])
445446
446447 # Update today
447448 self ._update_energy_today_now (_hour_rollover , False , False )
@@ -501,11 +502,12 @@ def _update_energy_today_now(
501502 str (self ._energy_pulses_today_hourly ),
502503 str (self ._energy_pulses_current_hour ),
503504 )
504- if _pulses_today_now is not None :
505- if (
506- self ._energy_pulses_today_now is None
507- or self ._energy_pulses_today_now != _pulses_today_now
508- ):
505+ if self ._energy_pulses_today_now is None :
506+ self ._energy_pulses_today_now = _pulses_today_now
507+ if self ._energy_pulses_today_now is not None :
508+ self .do_callback (FEATURE_ENERGY_CONSUMPTION_TODAY ["id" ])
509+ else :
510+ if self ._energy_pulses_today_now != _pulses_today_now :
509511 self ._energy_pulses_today_now = _pulses_today_now
510512 self .do_callback (FEATURE_ENERGY_CONSUMPTION_TODAY ["id" ])
511513
@@ -519,12 +521,14 @@ def _update_energy_previous_hour(self, prev_hour: datetime):
519521 str (_pulses_prev_hour ),
520522 str (prev_hour ),
521523 )
522- if (
523- self ._energy_pulses_prev_hour is None
524- or self ._energy_pulses_prev_hour != _pulses_prev_hour
525- ):
524+ if self ._energy_pulses_prev_hour is None :
526525 self ._energy_pulses_prev_hour = _pulses_prev_hour
527- self .do_callback (FEATURE_POWER_CONSUMPTION_PREVIOUS_HOUR ["id" ])
526+ if self ._energy_pulses_prev_hour is not None :
527+ self .do_callback (FEATURE_POWER_CONSUMPTION_PREVIOUS_HOUR ["id" ])
528+ else :
529+ if self ._energy_pulses_prev_hour != _pulses_prev_hour :
530+ self ._energy_pulses_prev_hour = _pulses_prev_hour
531+ self .do_callback (FEATURE_POWER_CONSUMPTION_PREVIOUS_HOUR ["id" ])
528532
529533 def _update_energy_yesterday (
530534 self , start_yesterday : datetime , end_yesterday : datetime
@@ -539,12 +543,14 @@ def _update_energy_yesterday(
539543 str (start_yesterday ),
540544 str (end_yesterday ),
541545 )
542- if (
543- self ._energy_pulses_yesterday is None
544- or self ._energy_pulses_yesterday != _pulses_yesterday
545- ):
546+ if self ._energy_pulses_yesterday is None :
546547 self ._energy_pulses_yesterday = _pulses_yesterday
547- self .do_callback (FEATURE_POWER_CONSUMPTION_YESTERDAY ["id" ])
548+ if self ._energy_pulses_yesterday is not None :
549+ self .do_callback (FEATURE_POWER_CONSUMPTION_YESTERDAY ["id" ])
550+ else :
551+ if self ._energy_pulses_yesterday != _pulses_yesterday :
552+ self ._energy_pulses_yesterday = _pulses_yesterday
553+ self .do_callback (FEATURE_POWER_CONSUMPTION_YESTERDAY ["id" ])
548554
549555 def _update_energy_today_hourly (self , start_today : datetime , end_today : datetime ):
550556 """Update energy consumption (pulses) of today up to last hour"""
@@ -560,12 +566,14 @@ def _update_energy_today_hourly(self, start_today: datetime, end_today: datetime
560566 str (start_today ),
561567 str (end_today ),
562568 )
563- if (
564- self ._energy_pulses_today_hourly is None
565- or self ._energy_pulses_today_hourly != _pulses_today_hourly
566- ):
569+ if self ._energy_pulses_today_hourly is None :
567570 self ._energy_pulses_today_hourly = _pulses_today_hourly
568- self .do_callback (FEATURE_POWER_CONSUMPTION_TODAY ["id" ])
571+ if self ._energy_pulses_today_hourly is not None :
572+ self .do_callback (FEATURE_POWER_CONSUMPTION_TODAY ["id" ])
573+ else :
574+ if self ._energy_pulses_today_hourly != _pulses_today_hourly :
575+ self ._energy_pulses_today_hourly = _pulses_today_hourly
576+ self .do_callback (FEATURE_POWER_CONSUMPTION_TODAY ["id" ])
569577
570578 def request_energy_counters (self , log_address = None , callback = None ):
571579 """Request power log of specified address"""
0 commit comments