From 454466574949fd700c667713b100fc0c3f71e830 Mon Sep 17 00:00:00 2001 From: Franck Nijhof Date: Thu, 16 Jan 2020 18:25:39 +0100 Subject: [PATCH] Deprecate states UI options in group integration (#30831) --- homeassistant/components/group/__init__.py | 56 ++++++++++++++-------- 1 file changed, 35 insertions(+), 21 deletions(-) diff --git a/homeassistant/components/group/__init__.py b/homeassistant/components/group/__init__.py index 92d811c06fb..fc37f904e0d 100644 --- a/homeassistant/components/group/__init__.py +++ b/homeassistant/components/group/__init__.py @@ -73,15 +73,19 @@ def _conf_preprocess(value): return value -GROUP_SCHEMA = vol.Schema( - { - vol.Optional(CONF_ENTITIES): vol.Any(cv.entity_ids, None), - CONF_VIEW: cv.boolean, - CONF_NAME: cv.string, - CONF_ICON: cv.icon, - CONF_CONTROL: CONTROL_TYPES, - CONF_ALL: cv.boolean, - } +GROUP_SCHEMA = vol.All( + cv.deprecated(CONF_CONTROL, invalidation_version="0.107.0"), + cv.deprecated(CONF_VIEW, invalidation_version="0.107.0"), + vol.Schema( + { + vol.Optional(CONF_ENTITIES): vol.Any(cv.entity_ids, None), + CONF_VIEW: cv.boolean, + CONF_NAME: cv.string, + CONF_ICON: cv.icon, + CONF_CONTROL: CONTROL_TYPES, + CONF_ALL: cv.boolean, + } + ), ) CONFIG_SCHEMA = vol.Schema( @@ -317,18 +321,23 @@ async def async_setup(hass, config): DOMAIN, SERVICE_SET, locked_service_handler, - schema=vol.Schema( - { - vol.Required(ATTR_OBJECT_ID): cv.slug, - vol.Optional(ATTR_NAME): cv.string, - vol.Optional(ATTR_VIEW): cv.boolean, - vol.Optional(ATTR_ICON): cv.string, - vol.Optional(ATTR_CONTROL): CONTROL_TYPES, - vol.Optional(ATTR_VISIBLE): cv.boolean, - vol.Optional(ATTR_ALL): cv.boolean, - vol.Exclusive(ATTR_ENTITIES, "entities"): cv.entity_ids, - vol.Exclusive(ATTR_ADD_ENTITIES, "entities"): cv.entity_ids, - } + schema=vol.All( + cv.deprecated(ATTR_CONTROL, invalidation_version="0.107.0"), + cv.deprecated(ATTR_VIEW, invalidation_version="0.107.0"), + cv.deprecated(ATTR_VISIBLE, invalidation_version="0.107.0"), + vol.Schema( + { + vol.Required(ATTR_OBJECT_ID): cv.slug, + vol.Optional(ATTR_NAME): cv.string, + vol.Optional(ATTR_VIEW): cv.boolean, + vol.Optional(ATTR_ICON): cv.string, + vol.Optional(ATTR_CONTROL): CONTROL_TYPES, + vol.Optional(ATTR_VISIBLE): cv.boolean, + vol.Optional(ATTR_ALL): cv.boolean, + vol.Exclusive(ATTR_ENTITIES, "entities"): cv.entity_ids, + vol.Exclusive(ATTR_ADD_ENTITIES, "entities"): cv.entity_ids, + } + ), ), ) @@ -343,6 +352,11 @@ async def async_setup(hass, config): """Change visibility of a group.""" visible = service.data.get(ATTR_VISIBLE) + _LOGGER.warning( + "The group.set_visibility service has been deprecated and will" + "be removed in Home Assistant 0.107.0." + ) + tasks = [] for group in await component.async_extract_from_service( service, expand_group=False