From eca5fb5d54f50e7a103338ba74a94ff7ee0882db Mon Sep 17 00:00:00 2001 From: Franck Nijhof Date: Thu, 24 Mar 2022 12:17:52 +0100 Subject: [PATCH] Move remove all light option from group config flow (#68609) --- homeassistant/components/group/config_flow.py | 9 ++--- homeassistant/components/group/light.py | 2 +- homeassistant/components/group/strings.json | 29 +++++++++------- .../components/group/translations/en.json | 33 +++++++++++-------- tests/components/group/test_config_flow.py | 3 +- 5 files changed, 41 insertions(+), 35 deletions(-) diff --git a/homeassistant/components/group/config_flow.py b/homeassistant/components/group/config_flow.py index 8b4bf20b0e52..83485bd16bf6 100644 --- a/homeassistant/components/group/config_flow.py +++ b/homeassistant/components/group/config_flow.py @@ -57,11 +57,6 @@ BINARY_SENSOR_CONFIG_SCHEMA = vol.Schema( {vol.Required("name"): selector.selector({"text": {}})} ).extend(BINARY_SENSOR_OPTIONS_SCHEMA.schema) -LIGHT_CONFIG_SCHEMA = vol.Schema( - {vol.Required("name"): selector.selector({"text": {}})} -).extend(LIGHT_OPTIONS_SCHEMA.schema) - - GROUP_TYPES = ["binary_sensor", "cover", "fan", "light", "media_player"] @@ -91,7 +86,9 @@ CONFIG_FLOW: dict[str, HelperFlowFormStep | HelperFlowMenuStep] = { basic_group_config_schema("cover"), set_group_type("cover") ), "fan": HelperFlowFormStep(basic_group_config_schema("fan"), set_group_type("fan")), - "light": HelperFlowFormStep(LIGHT_CONFIG_SCHEMA, set_group_type("light")), + "light": HelperFlowFormStep( + basic_group_config_schema("light"), set_group_type("light") + ), "media_player": HelperFlowFormStep( basic_group_config_schema("media_player"), set_group_type("media_player") ), diff --git a/homeassistant/components/group/light.py b/homeassistant/components/group/light.py index e5c87e918891..aa9e6ad0b539 100644 --- a/homeassistant/components/group/light.py +++ b/homeassistant/components/group/light.py @@ -109,7 +109,7 @@ async def async_setup_entry( entities = er.async_validate_entity_ids( registry, config_entry.options[CONF_ENTITIES] ) - mode = config_entry.options[CONF_ALL] + mode = config_entry.options.get(CONF_ALL, False) async_add_entities( [LightGroup(config_entry.entry_id, config_entry.title, entities, mode)] diff --git a/homeassistant/components/group/strings.json b/homeassistant/components/group/strings.json index 440ec7740aba..cc42e150447d 100644 --- a/homeassistant/components/group/strings.json +++ b/homeassistant/components/group/strings.json @@ -40,10 +40,8 @@ } }, "light": { - "description": "[%key:component::group::config::step::binary_sensor::description%]", "title": "[%key:component::group::config::step::user::title%]", "data": { - "all": "[%key:component::group::config::step::binary_sensor::data::all%]", "entities": "[%key:component::group::config::step::binary_sensor::data::entities%]", "hide_members": "[%key:component::group::config::step::binary_sensor::data::hide_members%]", "name": "[%key:component::group::config::step::binary_sensor::data::name%]" @@ -61,31 +59,38 @@ }, "options": { "step": { - "binary_sensor_options": { + "binary_sensor": { + "description": "[%key:component::group::config::step::binary_sensor::description%]", "data": { "all": "[%key:component::group::config::step::binary_sensor::data::all%]", - "entities": "[%key:component::group::config::step::binary_sensor::data::entities%]" + "entities": "[%key:component::group::config::step::binary_sensor::data::entities%]", + "hide_members": "[%key:component::group::config::step::binary_sensor::data::hide_members%]" } }, - "cover_options": { + "cover": { "data": { - "entities": "[%key:component::group::config::step::binary_sensor::data::entities%]" + "entities": "[%key:component::group::config::step::binary_sensor::data::entities%]", + "hide_members": "[%key:component::group::config::step::binary_sensor::data::hide_members%]" } }, - "fan_options": { + "fan": { "data": { - "entities": "[%key:component::group::config::step::binary_sensor::data::entities%]" + "entities": "[%key:component::group::config::step::binary_sensor::data::entities%]", + "hide_members": "[%key:component::group::config::step::binary_sensor::data::hide_members%]" } }, - "light_options": { + "light": { + "description": "[%key:component::group::config::step::binary_sensor::description%]", "data": { "all": "[%key:component::group::config::step::binary_sensor::data::all%]", - "entities": "[%key:component::group::config::step::binary_sensor::data::entities%]" + "entities": "[%key:component::group::config::step::binary_sensor::data::entities%]", + "hide_members": "[%key:component::group::config::step::binary_sensor::data::hide_members%]" } }, - "media_player_options": { + "media_player": { "data": { - "entities": "[%key:component::group::config::step::binary_sensor::data::entities%]" + "entities": "[%key:component::group::config::step::binary_sensor::data::entities%]", + "hide_members": "[%key:component::group::config::step::binary_sensor::data::hide_members%]" } } } diff --git a/homeassistant/components/group/translations/en.json b/homeassistant/components/group/translations/en.json index 57a24b0bdbae..bb2b7ec88252 100644 --- a/homeassistant/components/group/translations/en.json +++ b/homeassistant/components/group/translations/en.json @@ -29,12 +29,10 @@ }, "light": { "data": { - "all": "All entities", "entities": "Members", "hide_members": "Hide members", "name": "Name" }, - "description": "If \"all entities\" is enabled, the group's state is on only if all members are on. If \"all entities\" is disabled, the group's state is on if any member is on.", "title": "New Group" }, "media_player": { @@ -60,31 +58,38 @@ }, "options": { "step": { - "binary_sensor_options": { + "binary_sensor": { "data": { "all": "All entities", - "entities": "Members" - } + "entities": "Members", + "hide_members": "Hide members" + }, + "description": "If \"all entities\" is enabled, the group's state is on only if all members are on. If \"all entities\" is disabled, the group's state is on if any member is on." }, - "cover_options": { + "cover": { "data": { - "entities": "Members" + "entities": "Members", + "hide_members": "Hide members" } }, - "fan_options": { + "fan": { "data": { - "entities": "Members" + "entities": "Members", + "hide_members": "Hide members" } }, - "light_options": { + "light": { "data": { "all": "All entities", - "entities": "Members" - } + "entities": "Members", + "hide_members": "Hide members" + }, + "description": "If \"all entities\" is enabled, the group's state is on only if all members are on. If \"all entities\" is disabled, the group's state is on if any member is on." }, - "media_player_options": { + "media_player": { "data": { - "entities": "Members" + "entities": "Members", + "hide_members": "Hide members" } } } diff --git a/tests/components/group/test_config_flow.py b/tests/components/group/test_config_flow.py index 9c2657f00019..c9f5768fc8f4 100644 --- a/tests/components/group/test_config_flow.py +++ b/tests/components/group/test_config_flow.py @@ -23,8 +23,7 @@ from tests.common import MockConfigEntry ("binary_sensor", "on", "on", {}, {"all": True}, {"all": True}, {}), ("cover", "open", "open", {}, {}, {}, {}), ("fan", "on", "on", {}, {}, {}, {}), - ("light", "on", "on", {}, {}, {"all": False}, {}), - ("light", "on", "on", {}, {"all": True}, {"all": True}, {}), + ("light", "on", "on", {}, {}, {}, {}), ("media_player", "on", "on", {}, {}, {}, {}), ), )