@@ -368,76 +368,64 @@ def should_refresh(self) -> bool:
368368 LOG .debug (
369369 f"Refresh mode is { other } , checking for other vehicle { self .vin } conditions"
370370 )
371- last_actual_poll = self .last_successful_refresh
372- if self .last_failed_refresh is not None :
373- last_actual_poll = max (last_actual_poll , self .last_failed_refresh )
374-
375- # Try refreshing even if we last failed as long as the last_car_activity is newer
376- if self .last_car_activity > last_actual_poll :
377- LOG .debug (
378- f"Polling vehicle { self .vin } as last_car_activity is newer than last_actual_poll."
379- f" { self .last_car_activity } > { last_actual_poll } "
380- )
381- return True
382-
383- if self .last_failed_refresh is not None :
384- threshold = datetime .datetime .now () - datetime .timedelta (
385- seconds = float (self .refresh_period_error )
386- )
387- result : bool = self .last_failed_refresh < threshold
388- LOG .debug (
389- f"Gateway failed refresh previously. Should refresh: { result } "
390- )
391- return result
392-
393- if self .is_charging and self .refresh_period_charging > 0 :
394- result = (
395- self .last_successful_refresh
396- < datetime .datetime .now ()
397- - datetime .timedelta (
398- seconds = float (self .refresh_period_charging )
399- )
400- )
401- LOG .debug (f"HV battery is charging. Should refresh: { result } " )
402- return result
403-
404- if self .hv_battery_active :
405- result = (
406- self .last_successful_refresh
407- < datetime .datetime .now ()
408- - datetime .timedelta (seconds = float (self .refresh_period_active ))
409- )
410- LOG .debug (f"HV battery is active. Should refresh: { result } " )
411- return result
412-
413- last_shutdown_plus_refresh = (
414- self .last_car_shutdown
415- + datetime .timedelta (
416- seconds = float (self .refresh_period_inactive_grace )
417- )
418- )
419- if last_shutdown_plus_refresh > datetime .datetime .now ():
420- result = (
421- self .last_successful_refresh
422- < datetime .datetime .now ()
423- - datetime .timedelta (
424- seconds = float (self .refresh_period_after_shutdown )
425- )
426- )
427- LOG .debug (
428- f"Refresh grace period after shutdown has not passed. Should refresh: { result } "
429- )
430- return result
431-
432- result = (
433- self .last_successful_refresh
434- < datetime .datetime .now ()
435- - datetime .timedelta (seconds = float (self .refresh_period_inactive ))
436- )
437- LOG .debug (
438- f"HV battery is inactive and refresh period after shutdown is over. Should refresh: { result } "
439- )
440- return result
371+ return self .__should_do_periodic_refresh ()
372+
373+ def __should_do_periodic_refresh (self ) -> bool :
374+ last_actual_poll = self .last_successful_refresh
375+ if self .last_failed_refresh is not None :
376+ last_actual_poll = max (last_actual_poll , self .last_failed_refresh )
377+ # Try refreshing even if we last failed as long as the last_car_activity is newer
378+ if self .last_car_activity > last_actual_poll :
379+ LOG .debug (
380+ f"Polling vehicle { self .vin } as last_car_activity is newer than last_actual_poll."
381+ f" { self .last_car_activity } > { last_actual_poll } "
382+ )
383+ return True
384+ if self .last_failed_refresh is not None :
385+ threshold = datetime .datetime .now () - datetime .timedelta (
386+ seconds = float (self .refresh_period_error )
387+ )
388+ result : bool = self .last_failed_refresh < threshold
389+ LOG .debug (f"Gateway failed refresh previously. Should refresh: { result } " )
390+ return result
391+ if self .is_charging and self .refresh_period_charging > 0 :
392+ result = (
393+ self .last_successful_refresh
394+ < datetime .datetime .now ()
395+ - datetime .timedelta (seconds = float (self .refresh_period_charging ))
396+ )
397+ LOG .debug (f"HV battery is charging. Should refresh: { result } " )
398+ return result
399+ if self .hv_battery_active :
400+ result = (
401+ self .last_successful_refresh
402+ < datetime .datetime .now ()
403+ - datetime .timedelta (seconds = float (self .refresh_period_active ))
404+ )
405+ LOG .debug (f"HV battery is active. Should refresh: { result } " )
406+ return result
407+ last_shutdown_plus_refresh = self .last_car_shutdown + datetime .timedelta (
408+ seconds = float (self .refresh_period_inactive_grace )
409+ )
410+ if last_shutdown_plus_refresh > datetime .datetime .now ():
411+ result = (
412+ self .last_successful_refresh
413+ < datetime .datetime .now ()
414+ - datetime .timedelta (seconds = float (self .refresh_period_after_shutdown ))
415+ )
416+ LOG .debug (
417+ f"Refresh grace period after shutdown has not passed. Should refresh: { result } "
418+ )
419+ return result
420+ result = (
421+ self .last_successful_refresh
422+ < datetime .datetime .now ()
423+ - datetime .timedelta (seconds = float (self .refresh_period_inactive ))
424+ )
425+ LOG .debug (
426+ f"HV battery is inactive and refresh period after shutdown is over. Should refresh: { result } "
427+ )
428+ return result
441429
442430 def mark_successful_refresh (self ) -> None :
443431 self .last_successful_refresh = datetime .datetime .now ()
0 commit comments