diff --git a/homeassistant/components/automation/event.py b/homeassistant/components/automation/event.py index d8c32fde86d..6f750245df9 100644 --- a/homeassistant/components/automation/event.py +++ b/homeassistant/components/automation/event.py @@ -36,11 +36,12 @@ def async_trigger(hass, config, action): @callback def handle_event(event): """Listen for events and calls the action when data matches.""" - try: - event_data_schema(event.data) - except vol.Invalid: - # If event data doesn't match requested schema, skip event - return + if event_data_schema: + try: + event_data_schema(event.data) + except vol.Invalid: + # If event data doesn't match requested schema, skip event + return hass.async_run_job(action, { 'trigger': { diff --git a/homeassistant/const.py b/homeassistant/const.py index ca438f35102..3a2ee824dda 100644 --- a/homeassistant/const.py +++ b/homeassistant/const.py @@ -2,7 +2,7 @@ """Constants used by Home Assistant components.""" MAJOR_VERSION = 0 MINOR_VERSION = 56 -PATCH_VERSION = '1' +PATCH_VERSION = '2' __short_version__ = '{}.{}'.format(MAJOR_VERSION, MINOR_VERSION) __version__ = '{}.{}'.format(__short_version__, PATCH_VERSION) REQUIRED_PYTHON_VER = (3, 4, 2) diff --git a/homeassistant/helpers/entity_component.py b/homeassistant/helpers/entity_component.py index f6e9c1da7f8..e805f277483 100644 --- a/homeassistant/helpers/entity_component.py +++ b/homeassistant/helpers/entity_component.py @@ -370,6 +370,12 @@ class EntityPlatform(object): def add_entities(self, new_entities, update_before_add=False): """Add entities for a single platform.""" + # That avoid deadlocks + if update_before_add: + self.component.logger.warning( + "Call 'add_entities' with update_before_add=True " + "only inside tests or you can run into a deadlock!") + run_coroutine_threadsafe( self.async_add_entities(list(new_entities), update_before_add), self.component.hass.loop).result()