diff --git a/homeassistant/components/script/__init__.py b/homeassistant/components/script/__init__.py index b7586841eb7..e92ccb12bee 100644 --- a/homeassistant/components/script/__init__.py +++ b/homeassistant/components/script/__init__.py @@ -11,8 +11,11 @@ from homeassistant.const import ( ATTR_MODE, ATTR_NAME, CONF_ALIAS, + CONF_DEFAULT, CONF_ICON, CONF_MODE, + CONF_NAME, + CONF_SELECTOR, CONF_SEQUENCE, CONF_VARIABLES, SERVICE_RELOAD, @@ -35,6 +38,7 @@ from homeassistant.helpers.script import ( Script, make_script_schema, ) +from homeassistant.helpers.selector import validate_selector from homeassistant.helpers.service import async_set_service_schema from homeassistant.helpers.trace import trace_get, trace_path from homeassistant.loader import bind_hass @@ -49,9 +53,11 @@ ATTR_LAST_ACTION = "last_action" ATTR_LAST_TRIGGERED = "last_triggered" ATTR_VARIABLES = "variables" +CONF_ADVANCED = "advanced" CONF_DESCRIPTION = "description" CONF_EXAMPLE = "example" CONF_FIELDS = "fields" +CONF_REQUIRED = "required" ENTITY_ID_FORMAT = DOMAIN + ".{}" @@ -67,8 +73,13 @@ SCRIPT_ENTRY_SCHEMA = make_script_schema( vol.Optional(CONF_VARIABLES): cv.SCRIPT_VARIABLES_SCHEMA, vol.Optional(CONF_FIELDS, default={}): { cv.string: { + vol.Optional(CONF_ADVANCED, default=False): cv.boolean, + vol.Optional(CONF_DEFAULT): cv.match_all, vol.Optional(CONF_DESCRIPTION): cv.string, vol.Optional(CONF_EXAMPLE): cv.string, + vol.Optional(CONF_NAME): cv.string, + vol.Optional(CONF_REQUIRED, default=False): cv.boolean, + vol.Optional(CONF_SELECTOR): validate_selector, } }, },