mirror of
https://github.com/home-assistant/core.git
synced 2025-07-30 02:38:10 +02:00
Add support for subentries to config entries (#117355)
* Add support for subentries to config entries * Improve error handling and test coverage * Include subentry_id in subentry containers * Auto-generate subentry_id and add optional unique_id * Tweak * Update tests * Fix stale docstring * Address review comments * Typing tweaks * Add methods to ConfigEntries to add and remove subentry * Improve ConfigSubentryData typed dict * Update test snapshots * Adjust tests * Fix unique_id logic * Allow multiple subentries with None unique_id * Add number of subentries to config entry JSON representation * Add subentry translation support * Allow integrations to implement multiple subentry flows * Update translations schema * Adjust exception text * Change subentry flow init step to user * Prevent creating a subentry with colliding unique_id * Update tests * Address review comments * Remove duplicaetd unique_id collision check * Remove change from the future * Improve test coverage * Add default value for unique_id
This commit is contained in:
@ -285,6 +285,15 @@ def gen_strings_schema(config: Config, integration: Integration) -> vol.Schema:
|
||||
"user" if integration.integration_type == "helper" else None
|
||||
),
|
||||
),
|
||||
vol.Optional("config_subentries"): cv.schema_with_slug_keys(
|
||||
gen_data_entry_schema(
|
||||
config=config,
|
||||
integration=integration,
|
||||
flow_title=REQUIRED,
|
||||
require_step_title=False,
|
||||
),
|
||||
slug_validator=vol.Any("_", cv.slug),
|
||||
),
|
||||
vol.Optional("options"): gen_data_entry_schema(
|
||||
config=config,
|
||||
integration=integration,
|
||||
|
Reference in New Issue
Block a user