Add custom integration action sections support to hassfest (#130148)

This commit is contained in:
Markus Jacobsen 2024-11-09 16:47:02 +01:00 committed by GitHub
parent 622682eb43
commit 928e5348e4
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -75,6 +75,14 @@ CUSTOM_INTEGRATION_FIELD_SCHEMA = CORE_INTEGRATION_FIELD_SCHEMA.extend(
}
)
CUSTOM_INTEGRATION_SECTION_SCHEMA = vol.Schema(
{
vol.Optional("collapsed"): bool,
vol.Required("fields"): vol.Schema({str: CUSTOM_INTEGRATION_FIELD_SCHEMA}),
}
)
CORE_INTEGRATION_SERVICE_SCHEMA = vol.Any(
vol.Schema(
{
@ -105,7 +113,17 @@ CUSTOM_INTEGRATION_SERVICE_SCHEMA = vol.Any(
vol.Optional("target"): vol.Any(
selector.TargetSelector.CONFIG_SCHEMA, None
),
vol.Optional("fields"): vol.Schema({str: CUSTOM_INTEGRATION_FIELD_SCHEMA}),
vol.Optional("fields"): vol.All(
vol.Schema(
{
str: vol.Any(
CUSTOM_INTEGRATION_FIELD_SCHEMA,
CUSTOM_INTEGRATION_SECTION_SCHEMA,
)
}
),
unique_field_validator,
),
}
),
None,