Skip to content

Commit

Permalink
Migrate template to register reload service on async_setup (#48273)
Browse files Browse the repository at this point in the history
  • Loading branch information
balloob committed Mar 24, 2021
1 parent b58dd7d commit 3dec394
Show file tree
Hide file tree
Showing 14 changed files with 132 additions and 174 deletions.
21 changes: 6 additions & 15 deletions homeassistant/components/template/__init__.py
@@ -1,20 +1,11 @@
"""The template component."""
from homeassistant.const import SERVICE_RELOAD
from homeassistant.helpers.reload import async_reload_integration_platforms
from homeassistant.helpers.reload import async_setup_reload_service

from .const import DOMAIN, EVENT_TEMPLATE_RELOADED, PLATFORMS
from .const import DOMAIN, PLATFORMS


async def async_setup_reload_service(hass):
"""Create the reload service for the template domain."""
if hass.services.has_service(DOMAIN, SERVICE_RELOAD):
return
async def async_setup(hass, config):
"""Set up the template integration."""
await async_setup_reload_service(hass, DOMAIN, PLATFORMS)

async def _reload_config(call):
"""Reload the template platform config."""
await async_reload_integration_platforms(hass, DOMAIN, PLATFORMS)
hass.bus.async_fire(EVENT_TEMPLATE_RELOADED, context=call.context)

hass.helpers.service.async_register_admin_service(
DOMAIN, SERVICE_RELOAD, _reload_config
)
return True
3 changes: 0 additions & 3 deletions homeassistant/components/template/alarm_control_panel.py
Expand Up @@ -32,10 +32,8 @@
from homeassistant.exceptions import TemplateError
import homeassistant.helpers.config_validation as cv
from homeassistant.helpers.entity import async_generate_entity_id
from homeassistant.helpers.reload import async_setup_reload_service
from homeassistant.helpers.script import Script

from .const import DOMAIN, PLATFORMS
from .template_entity import TemplateEntity

_LOGGER = logging.getLogger(__name__)
Expand Down Expand Up @@ -113,7 +111,6 @@ async def _async_create_entities(hass, config):

async def async_setup_platform(hass, config, async_add_entities, discovery_info=None):
"""Set up the Template Alarm Control Panels."""
await async_setup_reload_service(hass, DOMAIN, PLATFORMS)
async_add_entities(await _async_create_entities(hass, config))


Expand Down
4 changes: 1 addition & 3 deletions homeassistant/components/template/binary_sensor.py
Expand Up @@ -22,10 +22,9 @@
import homeassistant.helpers.config_validation as cv
from homeassistant.helpers.entity import async_generate_entity_id
from homeassistant.helpers.event import async_call_later
from homeassistant.helpers.reload import async_setup_reload_service
from homeassistant.helpers.template import result_as_boolean

from .const import CONF_AVAILABILITY_TEMPLATE, DOMAIN, PLATFORMS
from .const import CONF_AVAILABILITY_TEMPLATE
from .template_entity import TemplateEntity

CONF_DELAY_ON = "delay_on"
Expand Down Expand Up @@ -97,7 +96,6 @@ async def _async_create_entities(hass, config):

async def async_setup_platform(hass, config, async_add_entities, discovery_info=None):
"""Set up the template binary sensors."""
await async_setup_reload_service(hass, DOMAIN, PLATFORMS)
async_add_entities(await _async_create_entities(hass, config))


Expand Down
2 changes: 0 additions & 2 deletions homeassistant/components/template/const.py
Expand Up @@ -6,8 +6,6 @@

PLATFORM_STORAGE_KEY = "template_platforms"

EVENT_TEMPLATE_RELOADED = "event_template_reloaded"

PLATFORMS = [
"alarm_control_panel",
"binary_sensor",
Expand Down
4 changes: 1 addition & 3 deletions homeassistant/components/template/cover.py
Expand Up @@ -38,10 +38,9 @@
from homeassistant.exceptions import TemplateError
import homeassistant.helpers.config_validation as cv
from homeassistant.helpers.entity import async_generate_entity_id
from homeassistant.helpers.reload import async_setup_reload_service
from homeassistant.helpers.script import Script

from .const import CONF_AVAILABILITY_TEMPLATE, DOMAIN, PLATFORMS
from .const import CONF_AVAILABILITY_TEMPLATE
from .template_entity import TemplateEntity

_LOGGER = logging.getLogger(__name__)
Expand Down Expand Up @@ -160,7 +159,6 @@ async def _async_create_entities(hass, config):

async def async_setup_platform(hass, config, async_add_entities, discovery_info=None):
"""Set up the Template cover."""
await async_setup_reload_service(hass, DOMAIN, PLATFORMS)
async_add_entities(await _async_create_entities(hass, config))


Expand Down
4 changes: 1 addition & 3 deletions homeassistant/components/template/fan.py
Expand Up @@ -36,10 +36,9 @@
from homeassistant.exceptions import TemplateError
import homeassistant.helpers.config_validation as cv
from homeassistant.helpers.entity import async_generate_entity_id
from homeassistant.helpers.reload import async_setup_reload_service
from homeassistant.helpers.script import Script

from .const import CONF_AVAILABILITY_TEMPLATE, DOMAIN, PLATFORMS
from .const import CONF_AVAILABILITY_TEMPLATE
from .template_entity import TemplateEntity

_LOGGER = logging.getLogger(__name__)
Expand Down Expand Up @@ -163,7 +162,6 @@ async def _async_create_entities(hass, config):

async def async_setup_platform(hass, config, async_add_entities, discovery_info=None):
"""Set up the template fans."""
await async_setup_reload_service(hass, DOMAIN, PLATFORMS)
async_add_entities(await _async_create_entities(hass, config))


Expand Down
4 changes: 1 addition & 3 deletions homeassistant/components/template/light.py
Expand Up @@ -31,10 +31,9 @@
import homeassistant.helpers.config_validation as cv
from homeassistant.helpers.config_validation import PLATFORM_SCHEMA
from homeassistant.helpers.entity import async_generate_entity_id
from homeassistant.helpers.reload import async_setup_reload_service
from homeassistant.helpers.script import Script

from .const import CONF_AVAILABILITY_TEMPLATE, DOMAIN, PLATFORMS
from .const import CONF_AVAILABILITY_TEMPLATE
from .template_entity import TemplateEntity

_LOGGER = logging.getLogger(__name__)
Expand Down Expand Up @@ -137,7 +136,6 @@ async def _async_create_entities(hass, config):

async def async_setup_platform(hass, config, async_add_entities, discovery_info=None):
"""Set up the template lights."""
await async_setup_reload_service(hass, DOMAIN, PLATFORMS)
async_add_entities(await _async_create_entities(hass, config))


Expand Down
4 changes: 1 addition & 3 deletions homeassistant/components/template/lock.py
Expand Up @@ -13,10 +13,9 @@
from homeassistant.core import callback
from homeassistant.exceptions import TemplateError
import homeassistant.helpers.config_validation as cv
from homeassistant.helpers.reload import async_setup_reload_service
from homeassistant.helpers.script import Script

from .const import CONF_AVAILABILITY_TEMPLATE, DOMAIN, PLATFORMS
from .const import CONF_AVAILABILITY_TEMPLATE
from .template_entity import TemplateEntity

CONF_LOCK = "lock"
Expand Down Expand Up @@ -60,7 +59,6 @@ async def _async_create_entities(hass, config):

async def async_setup_platform(hass, config, async_add_entities, discovery_info=None):
"""Set up the template lock."""
await async_setup_reload_service(hass, DOMAIN, PLATFORMS)
async_add_entities(await _async_create_entities(hass, config))


Expand Down
4 changes: 1 addition & 3 deletions homeassistant/components/template/sensor.py
Expand Up @@ -25,9 +25,8 @@
from homeassistant.exceptions import TemplateError
import homeassistant.helpers.config_validation as cv
from homeassistant.helpers.entity import async_generate_entity_id
from homeassistant.helpers.reload import async_setup_reload_service

from .const import CONF_AVAILABILITY_TEMPLATE, DOMAIN, PLATFORMS
from .const import CONF_AVAILABILITY_TEMPLATE
from .template_entity import TemplateEntity

CONF_ATTRIBUTE_TEMPLATES = "attribute_templates"
Expand Down Expand Up @@ -96,7 +95,6 @@ async def _async_create_entities(hass, config):

async def async_setup_platform(hass, config, async_add_entities, discovery_info=None):
"""Set up the template sensors."""
await async_setup_reload_service(hass, DOMAIN, PLATFORMS)
async_add_entities(await _async_create_entities(hass, config))


Expand Down
4 changes: 1 addition & 3 deletions homeassistant/components/template/switch.py
Expand Up @@ -22,11 +22,10 @@
from homeassistant.exceptions import TemplateError
import homeassistant.helpers.config_validation as cv
from homeassistant.helpers.entity import async_generate_entity_id
from homeassistant.helpers.reload import async_setup_reload_service
from homeassistant.helpers.restore_state import RestoreEntity
from homeassistant.helpers.script import Script

from .const import CONF_AVAILABILITY_TEMPLATE, DOMAIN, PLATFORMS
from .const import CONF_AVAILABILITY_TEMPLATE
from .template_entity import TemplateEntity

_VALID_STATES = [STATE_ON, STATE_OFF, "true", "false"]
Expand Down Expand Up @@ -90,7 +89,6 @@ async def _async_create_entities(hass, config):

async def async_setup_platform(hass, config, async_add_entities, discovery_info=None):
"""Set up the template switches."""
await async_setup_reload_service(hass, DOMAIN, PLATFORMS)
async_add_entities(await _async_create_entities(hass, config))


Expand Down
4 changes: 1 addition & 3 deletions homeassistant/components/template/vacuum.py
Expand Up @@ -41,10 +41,9 @@
from homeassistant.exceptions import TemplateError
import homeassistant.helpers.config_validation as cv
from homeassistant.helpers.entity import async_generate_entity_id
from homeassistant.helpers.reload import async_setup_reload_service
from homeassistant.helpers.script import Script

from .const import CONF_AVAILABILITY_TEMPLATE, DOMAIN, PLATFORMS
from .const import CONF_AVAILABILITY_TEMPLATE
from .template_entity import TemplateEntity

_LOGGER = logging.getLogger(__name__)
Expand Down Expand Up @@ -147,7 +146,6 @@ async def _async_create_entities(hass, config):

async def async_setup_platform(hass, config, async_add_entities, discovery_info=None):
"""Set up the template vacuums."""
await async_setup_reload_service(hass, DOMAIN, PLATFORMS)
async_add_entities(await _async_create_entities(hass, config))


Expand Down
3 changes: 0 additions & 3 deletions homeassistant/components/template/weather.py
Expand Up @@ -24,9 +24,7 @@
import homeassistant.helpers.config_validation as cv
from homeassistant.helpers.config_validation import PLATFORM_SCHEMA
from homeassistant.helpers.entity import async_generate_entity_id
from homeassistant.helpers.reload import async_setup_reload_service

from .const import DOMAIN, PLATFORMS
from .template_entity import TemplateEntity

CONDITION_CLASSES = {
Expand Down Expand Up @@ -71,7 +69,6 @@

async def async_setup_platform(hass, config, async_add_entities, discovery_info=None):
"""Set up the Template weather."""
await async_setup_reload_service(hass, DOMAIN, PLATFORMS)

name = config[CONF_NAME]
condition_template = config[CONF_CONDITION_TEMPLATE]
Expand Down

0 comments on commit 3dec394

Please sign in to comment.