@@ -71,6 +71,7 @@ def __init__(self, mac, address, message_sender):
7171 self ._energy_history_collecting_timestamp = datetime .now ()
7272 self ._energy_history = {}
7373 self ._energy_last_collected_timestamp = datetime (2000 , 1 , 1 )
74+ self ._energy_ratelimit_startup_collection_timestamp = datetime (2000 , 1 , 1 )
7475 self ._energy_last_rollover_timestamp = datetime (2000 , 1 , 1 )
7576 self ._energy_last_local_hour = datetime .now ().hour
7677 self ._energy_last_populated_slot = 0
@@ -222,15 +223,13 @@ def request_power_update(self, callback=None):
222223 minute = 0 , second = 0 , microsecond = 0
223224 ):
224225 self .request_energy_counters ()
225- self ._energy_last_collected_timestamp = datetime .utcnow ().replace (
226- second = 0 , microsecond = 0
227- )
228226 else :
229227 # No history collected yet, request energy history
230- self .request_energy_counters ()
231- self ._energy_last_collected_timestamp = datetime .utcnow ().replace (
228+ if self ._energy_ratelimit_startup_collection_timestamp < datetime .utcnow ().replace (
232229 second = 0 , microsecond = 0
233- )
230+ ):
231+ self ._energy_ratelimit_startup_collection_timestamp = datetime .utcnow ()
232+ self .request_energy_counters ()
234233
235234 def message_for_circle (self , message ):
236235 """Process received message
0 commit comments