From 8e4a234bbf80e49b9af829feb4fbac3fa7291846 Mon Sep 17 00:00:00 2001 From: Aaron Bach Date: Tue, 23 Jul 2019 13:38:20 -0600 Subject: [PATCH] Add area support to input select service schemas (#25432) --- .../components/input_select/__init__.py | 22 +++++-------------- 1 file changed, 6 insertions(+), 16 deletions(-) diff --git a/homeassistant/components/input_select/__init__.py b/homeassistant/components/input_select/__init__.py index fd3e4335c33..eec365e4111 100644 --- a/homeassistant/components/input_select/__init__.py +++ b/homeassistant/components/input_select/__init__.py @@ -3,8 +3,9 @@ import logging import voluptuous as vol -from homeassistant.const import ATTR_ENTITY_ID, CONF_ICON, CONF_NAME +from homeassistant.const import CONF_ICON, CONF_NAME import homeassistant.helpers.config_validation as cv +from homeassistant.helpers.config_validation import ENTITY_SERVICE_SCHEMA from homeassistant.helpers.entity_component import EntityComponent from homeassistant.helpers.restore_state import RestoreEntity @@ -21,28 +22,17 @@ ATTR_OPTIONS = 'options' SERVICE_SELECT_OPTION = 'select_option' -SERVICE_SELECT_OPTION_SCHEMA = vol.Schema({ - vol.Optional(ATTR_ENTITY_ID): cv.entity_ids, +SERVICE_SELECT_OPTION_SCHEMA = ENTITY_SERVICE_SCHEMA.extend({ vol.Required(ATTR_OPTION): cv.string, }) SERVICE_SELECT_NEXT = 'select_next' -SERVICE_SELECT_NEXT_SCHEMA = vol.Schema({ - vol.Optional(ATTR_ENTITY_ID): cv.entity_ids, -}) - SERVICE_SELECT_PREVIOUS = 'select_previous' -SERVICE_SELECT_PREVIOUS_SCHEMA = vol.Schema({ - vol.Optional(ATTR_ENTITY_ID): cv.entity_ids, -}) - - SERVICE_SET_OPTIONS = 'set_options' -SERVICE_SET_OPTIONS_SCHEMA = vol.Schema({ - vol.Required(ATTR_ENTITY_ID): cv.entity_ids, +SERVICE_SET_OPTIONS_SCHEMA = ENTITY_SERVICE_SCHEMA.extend({ vol.Required(ATTR_OPTIONS): vol.All(cv.ensure_list, vol.Length(min=1), [cv.string]), }) @@ -93,12 +83,12 @@ async def async_setup(hass, config): ) component.async_register_entity_service( - SERVICE_SELECT_NEXT, SERVICE_SELECT_NEXT_SCHEMA, + SERVICE_SELECT_NEXT, ENTITY_SERVICE_SCHEMA, lambda entity, call: entity.async_offset_index(1) ) component.async_register_entity_service( - SERVICE_SELECT_PREVIOUS, SERVICE_SELECT_PREVIOUS_SCHEMA, + SERVICE_SELECT_PREVIOUS, ENTITY_SERVICE_SCHEMA, lambda entity, call: entity.async_offset_index(-1) )