Improve validation of device condition config (#27131)

* Improve validation of device condition config

* Fix typing
This commit is contained in:
Erik Montnemery 2019-10-03 00:58:14 +02:00 committed by Paulus Schoutsen
parent 363873dfcb
commit c43eeee62f
8 changed files with 269 additions and 21 deletions

View file

@ -7,10 +7,10 @@ import voluptuous as vol
from homeassistant.const import CONF_PLATFORM
from homeassistant.config import async_log_exception, config_without_domain
from homeassistant.exceptions import HomeAssistantError
from homeassistant.helpers import config_per_platform, script
from homeassistant.helpers import condition, config_per_platform, script
from homeassistant.loader import IntegrationNotFound
from . import CONF_ACTION, CONF_TRIGGER, DOMAIN, PLATFORM_SCHEMA
from . import CONF_ACTION, CONF_CONDITION, CONF_TRIGGER, DOMAIN, PLATFORM_SCHEMA
# mypy: allow-untyped-calls, allow-untyped-defs
# mypy: no-check-untyped-defs, no-warn-return-any
@ -33,6 +33,13 @@ async def async_validate_config_item(hass, config, full_config=None):
triggers.append(trigger)
config[CONF_TRIGGER] = triggers
if CONF_CONDITION in config:
conditions = []
for cond in config[CONF_CONDITION]:
cond = await condition.async_validate_condition_config(hass, cond)
conditions.append(cond)
config[CONF_CONDITION] = conditions
actions = []
for action in config[CONF_ACTION]:
action = await script.async_validate_action_config(hass, action)