Move remove all light option from group config flow (#68609)

This commit is contained in:
Franck Nijhof 2022-03-24 12:17:52 +01:00 committed by GitHub
parent 61cc8e32f3
commit eca5fb5d54
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
5 changed files with 41 additions and 35 deletions

View File

@ -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")
),

View File

@ -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)]

View File

@ -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%]"
}
}
}

View File

@ -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"
},
"cover_options": {
"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": {
"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"
},
"media_player_options": {
"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": {
"data": {
"entities": "Members"
"entities": "Members",
"hide_members": "Hide members"
}
}
}

View File

@ -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", {}, {}, {}, {}),
),
)