From 382ac5c3b56659c1b8721e3fdb422e045c325b32 Mon Sep 17 00:00:00 2001 From: Pascal Vizeli Date: Sun, 6 Nov 2016 01:01:03 +0100 Subject: [PATCH] Async cleanups with new handling and executor (#4234) --- homeassistant/components/binary_sensor/template.py | 4 ++-- homeassistant/components/sensor/min_max.py | 6 +++--- homeassistant/components/sensor/random.py | 3 +-- homeassistant/components/sensor/statistics.py | 6 +++--- homeassistant/components/sensor/template.py | 4 ++-- homeassistant/components/sensor/time_date.py | 2 +- homeassistant/components/sensor/worldclock.py | 3 +-- homeassistant/components/switch/template.py | 4 ++-- 8 files changed, 15 insertions(+), 17 deletions(-) diff --git a/homeassistant/components/binary_sensor/template.py b/homeassistant/components/binary_sensor/template.py index 6d470f335e3..e097c7c0ea4 100644 --- a/homeassistant/components/binary_sensor/template.py +++ b/homeassistant/components/binary_sensor/template.py @@ -63,7 +63,7 @@ def async_setup_platform(hass, config, async_add_devices, discovery_info=None): _LOGGER.error('No sensors added') return False - hass.loop.create_task(async_add_devices(sensors, True)) + yield from async_add_devices(sensors, True) return True @@ -84,7 +84,7 @@ class BinarySensorTemplate(BinarySensorDevice): @callback def template_bsensor_state_listener(entity, old_state, new_state): """Called when the target device changes state.""" - hass.loop.create_task(self.async_update_ha_state(True)) + hass.async_add_job(self.async_update_ha_state, True) async_track_state_change( hass, entity_ids, template_bsensor_state_listener) diff --git a/homeassistant/components/sensor/min_max.py b/homeassistant/components/sensor/min_max.py index 9fd8cad4c38..b41966ac861 100644 --- a/homeassistant/components/sensor/min_max.py +++ b/homeassistant/components/sensor/min_max.py @@ -58,8 +58,8 @@ def async_setup_platform(hass, config, async_add_devices, discovery_info=None): name = config.get(CONF_NAME) sensor_type = config.get(CONF_TYPE) - hass.loop.create_task(async_add_devices( - [MinMaxSensor(hass, entity_ids, name, sensor_type)], True)) + yield from async_add_devices( + [MinMaxSensor(hass, entity_ids, name, sensor_type)], True) return True @@ -100,7 +100,7 @@ class MinMaxSensor(Entity): _LOGGER.warning("Unable to store state. " "Only numerical states are supported") - hass.loop.create_task(self.async_update_ha_state(True)) + hass.async_add_job(self.async_update_ha_state, True) async_track_state_change( hass, entity_ids, async_min_max_sensor_state_listener) diff --git a/homeassistant/components/sensor/random.py b/homeassistant/components/sensor/random.py index 5a48ea40863..a495c4ddb8b 100644 --- a/homeassistant/components/sensor/random.py +++ b/homeassistant/components/sensor/random.py @@ -36,8 +36,7 @@ def async_setup_platform(hass, config, async_add_devices, discovery_info=None): minimum = config.get(CONF_MINIMUM) maximum = config.get(CONF_MAXIMUM) - hass.loop.create_task(async_add_devices( - [RandomSensor(name, minimum, maximum)], True)) + yield from async_add_devices([RandomSensor(name, minimum, maximum)], True) return True diff --git a/homeassistant/components/sensor/statistics.py b/homeassistant/components/sensor/statistics.py index e5672f3a510..15184fbbc11 100644 --- a/homeassistant/components/sensor/statistics.py +++ b/homeassistant/components/sensor/statistics.py @@ -50,8 +50,8 @@ def async_setup_platform(hass, config, async_add_devices, discovery_info=None): name = config.get(CONF_NAME) sampling_size = config.get(CONF_SAMPLING_SIZE) - hass.loop.create_task(async_add_devices( - [StatisticsSensor(hass, entity_id, name, sampling_size)], True)) + yield from async_add_devices( + [StatisticsSensor(hass, entity_id, name, sampling_size)], True) return True @@ -90,7 +90,7 @@ class StatisticsSensor(Entity): except ValueError: self.count = self.count + 1 - hass.loop.create_task(self.async_update_ha_state(True)) + hass.async_add_job(self.async_update_ha_state, True) async_track_state_change( hass, entity_id, async_stats_sensor_state_listener) diff --git a/homeassistant/components/sensor/template.py b/homeassistant/components/sensor/template.py index 4262eb3d55f..44c6d2e08ea 100644 --- a/homeassistant/components/sensor/template.py +++ b/homeassistant/components/sensor/template.py @@ -61,7 +61,7 @@ def async_setup_platform(hass, config, async_add_devices, discovery_info=None): _LOGGER.error("No sensors added") return False - hass.loop.create_task(async_add_devices(sensors, True)) + yield from async_add_devices(sensors, True) return True @@ -82,7 +82,7 @@ class SensorTemplate(Entity): @callback def template_sensor_state_listener(entity, old_state, new_state): """Called when the target device changes state.""" - hass.loop.create_task(self.async_update_ha_state(True)) + hass.async_add_job(self.async_update_ha_state, True) async_track_state_change( hass, entity_ids, template_sensor_state_listener) diff --git a/homeassistant/components/sensor/time_date.py b/homeassistant/components/sensor/time_date.py index 79127c60063..04bd8a5aa0f 100644 --- a/homeassistant/components/sensor/time_date.py +++ b/homeassistant/components/sensor/time_date.py @@ -46,7 +46,7 @@ def async_setup_platform(hass, config, async_add_devices, discovery_info=None): for variable in config[CONF_DISPLAY_OPTIONS]: devices.append(TimeDateSensor(variable)) - hass.loop.create_task(async_add_devices(devices, True)) + yield from async_add_devices(devices, True) return True diff --git a/homeassistant/components/sensor/worldclock.py b/homeassistant/components/sensor/worldclock.py index 22bedfcd21c..bce4895e408 100644 --- a/homeassistant/components/sensor/worldclock.py +++ b/homeassistant/components/sensor/worldclock.py @@ -35,8 +35,7 @@ def async_setup_platform(hass, config, async_add_devices, discovery_info=None): name = config.get(CONF_NAME) time_zone = dt_util.get_time_zone(config.get(CONF_TIME_ZONE)) - hass.loop.create_task(async_add_devices( - [WorldClockSensor(time_zone, name)], True)) + yield from async_add_devices([WorldClockSensor(time_zone, name)], True) return True diff --git a/homeassistant/components/switch/template.py b/homeassistant/components/switch/template.py index 5383caf7f54..83bd1aff9b1 100644 --- a/homeassistant/components/switch/template.py +++ b/homeassistant/components/switch/template.py @@ -70,7 +70,7 @@ def async_setup_platform(hass, config, async_add_devices, discovery_info=None): _LOGGER.error("No switches added") return False - hass.loop.create_task(async_add_devices(switches, True)) + yield from async_add_devices(switches, True) return True @@ -92,7 +92,7 @@ class SwitchTemplate(SwitchDevice): @callback def template_switch_state_listener(entity, old_state, new_state): """Called when the target device changes state.""" - hass.loop.create_task(self.async_update_ha_state(True)) + hass.async_add_job(self.async_update_ha_state, True) async_track_state_change( hass, entity_ids, template_switch_state_listener)