From e18825ba201cf1440fd623efacf476fc24a8a458 Mon Sep 17 00:00:00 2001 From: Paulus Schoutsen Date: Sat, 1 Oct 2016 09:19:20 -0700 Subject: [PATCH] Automation: only call executor once when processing config --- homeassistant/components/automation/__init__.py | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/homeassistant/components/automation/__init__.py b/homeassistant/components/automation/__init__.py index 37102cd3863..76543f6e9a7 100644 --- a/homeassistant/components/automation/__init__.py +++ b/homeassistant/components/automation/__init__.py @@ -280,7 +280,7 @@ class AutomationEntity(ToggleEntity): @asyncio.coroutine def _async_process_config(hass, config, component): """Process config and add automations.""" - success = False + entities = [] for config_key in extract_domain_configs(config, DOMAIN): conf = config[config_key] @@ -307,13 +307,13 @@ def _async_process_config(hass, config, component): async_attach_triggers = partial( _async_process_trigger, hass, config, config_block.get(CONF_TRIGGER, []), name) - entity = AutomationEntity(name, async_attach_triggers, cond_func, - action, hidden) - yield from hass.loop.run_in_executor( - None, component.add_entities, [entity]) - success = True + entities.append(AutomationEntity(name, async_attach_triggers, + cond_func, action, hidden)) - return success + yield from hass.loop.run_in_executor( + None, component.add_entities, entities) + + return len(entities) > 0 def _async_get_action(hass, config, name):