diff --git a/homeassistant/components/group/config_flow.py b/homeassistant/components/group/config_flow.py index 8b4bf20b0e5..83485bd16bf 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 e5c87e91889..aa9e6ad0b53 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 440ec7740ab..cc42e150447 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 57a24b0bdba..bb2b7ec8825 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 9c2657f0001..c9f5768fc8f 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", {}, {}, {}, {}), ), )