mirror of
https://github.com/home-assistant/core.git
synced 2025-07-22 12:47:08 +00:00
Service validation for input_select component.
This commit is contained in:
parent
620d7a92f0
commit
bfdbbbddac
@ -6,7 +6,10 @@ at https://home-assistant.io/components/input_select/
|
|||||||
"""
|
"""
|
||||||
import logging
|
import logging
|
||||||
|
|
||||||
|
import voluptuous as vol
|
||||||
|
|
||||||
from homeassistant.const import ATTR_ENTITY_ID
|
from homeassistant.const import ATTR_ENTITY_ID
|
||||||
|
import homeassistant.helpers.config_validation as cv
|
||||||
from homeassistant.helpers.entity import Entity
|
from homeassistant.helpers.entity import Entity
|
||||||
from homeassistant.helpers.entity_component import EntityComponent
|
from homeassistant.helpers.entity_component import EntityComponent
|
||||||
from homeassistant.util import slugify
|
from homeassistant.util import slugify
|
||||||
@ -25,6 +28,11 @@ ATTR_OPTIONS = 'options'
|
|||||||
|
|
||||||
SERVICE_SELECT_OPTION = 'select_option'
|
SERVICE_SELECT_OPTION = 'select_option'
|
||||||
|
|
||||||
|
SERVICE_SELECT_OPTION_SCHEMA = vol.Schema({
|
||||||
|
vol.Optional(ATTR_ENTITY_ID): cv.entity_ids,
|
||||||
|
vol.Required(ATTR_OPTION): cv.string,
|
||||||
|
})
|
||||||
|
|
||||||
|
|
||||||
def select_option(hass, entity_id, option):
|
def select_option(hass, entity_id, option):
|
||||||
"""Set input_select to False."""
|
"""Set input_select to False."""
|
||||||
@ -79,10 +87,11 @@ def setup(hass, config):
|
|||||||
target_inputs = component.extract_from_service(call)
|
target_inputs = component.extract_from_service(call)
|
||||||
|
|
||||||
for input_select in target_inputs:
|
for input_select in target_inputs:
|
||||||
input_select.select_option(call.data.get(ATTR_OPTION))
|
input_select.select_option(call.data[ATTR_OPTION])
|
||||||
|
|
||||||
hass.services.register(DOMAIN, SERVICE_SELECT_OPTION,
|
hass.services.register(DOMAIN, SERVICE_SELECT_OPTION,
|
||||||
select_option_service)
|
select_option_service,
|
||||||
|
schema=SERVICE_SELECT_OPTION_SCHEMA)
|
||||||
|
|
||||||
component.add_entities(entities)
|
component.add_entities(entities)
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user