diff --git a/homeassistant/components/recorder/__init__.py b/homeassistant/components/recorder/__init__.py index df19f0125ef..e9b08941b83 100644 --- a/homeassistant/components/recorder/__init__.py +++ b/homeassistant/components/recorder/__init__.py @@ -260,15 +260,12 @@ class Recorder(threading.Thread): notify_hass_started) if self.keep_days and self.purge_interval: - async_track_point_in_time = \ - self.hass.helpers.event.async_track_point_in_time - @callback def async_purge(now): """Trigger the purge and schedule the next run.""" self.queue.put(PurgeTask(self.keep_days)) - async_track_point_in_time(async_purge, now + timedelta( - days=self.purge_interval)) + self.hass.helpers.event.async_track_point_in_time( + async_purge, now + timedelta(days=self.purge_interval)) earliest = dt_util.utcnow() + timedelta(minutes=30) run = latest = dt_util.utcnow() + \ @@ -277,12 +274,11 @@ class Recorder(threading.Thread): event = session.query(Events).first() if event is not None: session.expunge(event) - run = dt_util.UTC.localize(event.time_fired) + \ + run = dt_util.as_utc(event.time_fired) + \ timedelta(days=self.keep_days+self.purge_interval) run = min(latest, max(run, earliest)) - - _LOGGER.debug("Scheduling purge run for %s", run) - async_track_point_in_time(async_purge, run) + self.hass.helpers.event.async_track_point_in_time( + async_purge, run) self.hass.add_job(register) result = hass_started.result()