diff --git a/homeassistant/components/template/__init__.py b/homeassistant/components/template/__init__.py index de9d60feceb..0c205a0196c 100644 --- a/homeassistant/components/template/__init__.py +++ b/homeassistant/components/template/__init__.py @@ -1,60 +1 @@ """The template component.""" - -from itertools import chain -import logging - -from homeassistant.const import MATCH_ALL - -_LOGGER = logging.getLogger(__name__) - - -def initialise_templates(hass, templates, attribute_templates=None): - """Initialise templates and attribute templates.""" - if attribute_templates is None: - attribute_templates = {} - for template in chain(templates.values(), attribute_templates.values()): - if template is None: - continue - template.hass = hass - - -def extract_entities( - device_name, device_type, manual_entity_ids, templates, attribute_templates=None -): - """Extract entity ids from templates and attribute templates.""" - if attribute_templates is None: - attribute_templates = {} - entity_ids = set() - if manual_entity_ids is None: - invalid_templates = [] - for template_name, template in chain( - templates.items(), attribute_templates.items() - ): - if template is None: - continue - - template_entity_ids = template.extract_entities() - - if template_entity_ids != MATCH_ALL: - entity_ids |= set(template_entity_ids) - else: - invalid_templates.append(template_name.replace("_template", "")) - - entity_ids = list(entity_ids) - - if invalid_templates: - if not entity_ids: - entity_ids = MATCH_ALL - _LOGGER.warning( - "Template %s '%s' has no entity ids configured to track nor" - " were we able to extract the entities to track from the %s " - "template(s). This entity will only be able to be updated " - "manually", - device_type, - device_name, - ", ".join(invalid_templates), - ) - else: - entity_ids = manual_entity_ids - - return entity_ids