From 5bf3b2dd9f5eeb24247231ecf4213eb6b0f28389 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Daniel=20H=C3=B8yer=20Iversen?= Date: Wed, 23 Jan 2019 20:17:45 +0100 Subject: [PATCH] clean up of islamic_prayer_times (#20352) update_sensors was not awaited in async_track_point_in_time() --- .../components/sensor/islamic_prayer_times.py | 41 ++++++++++--------- 1 file changed, 21 insertions(+), 20 deletions(-) diff --git a/homeassistant/components/sensor/islamic_prayer_times.py b/homeassistant/components/sensor/islamic_prayer_times.py index a1ea5212461..50331435491 100644 --- a/homeassistant/components/sensor/islamic_prayer_times.py +++ b/homeassistant/components/sensor/islamic_prayer_times.py @@ -6,13 +6,15 @@ https://home-assistant.io/components/sensor.islamic_prayer_times/ """ import logging from datetime import datetime, timedelta + import voluptuous as vol -from homeassistant.components.sensor import PLATFORM_SCHEMA + import homeassistant.helpers.config_validation as cv -from homeassistant.helpers.entity import Entity import homeassistant.util.dt as dt_util -from homeassistant.helpers.event import async_track_point_in_time +from homeassistant.components.sensor import PLATFORM_SCHEMA from homeassistant.const import DEVICE_CLASS_TIMESTAMP +from homeassistant.helpers.entity import Entity +from homeassistant.helpers.event import async_track_point_in_time REQUIREMENTS = ['prayer_times_calculator==0.0.3'] @@ -118,27 +120,26 @@ async def schedule_future_update(hass, sensors, midnight_time, _LOGGER.debug("Next update scheduled for: %s", str(next_update_at)) + async def update_sensors(_): + """Update sensors with new prayer times.""" + # Update prayer times + prayer_times = prayer_times_data.get_new_prayer_times() + + _LOGGER.debug("New prayer times retrieved. Updating sensors.") + + # Update all prayer times sensors + for sensor in sensors: + sensor.async_schedule_update_ha_state(True) + + # Schedule next update + await schedule_future_update(hass, sensors, prayer_times['Midnight'], + prayer_times_data) + async_track_point_in_time(hass, - update_sensors(hass, sensors, prayer_times_data), + update_sensors, next_update_at) -async def update_sensors(hass, sensors, prayer_times_data): - """Update sensors with new prayer times.""" - # Update prayer times - prayer_times = prayer_times_data.get_new_prayer_times() - - _LOGGER.debug("New prayer times retrieved. Updating sensors.") - - # Update all prayer times sensors - for sensor in sensors: - sensor.async_schedule_update_ha_state(True) - - # Schedule next update - await schedule_future_update(hass, sensors, prayer_times['Midnight'], - prayer_times_data) - - class IslamicPrayerTimesData: """Data object for Islamic prayer times."""