From d273a92a19e8a242d573105a8bf851d9e65b7265 Mon Sep 17 00:00:00 2001 From: Petro31 <35082313+Petro31@users.noreply.github.com> Date: Wed, 14 May 2025 09:54:40 -0400 Subject: [PATCH] Refactor template optional configuration attributes (#144887) --- .../components/template/template_entity.py | 32 +++++++++++++------ 1 file changed, 22 insertions(+), 10 deletions(-) diff --git a/homeassistant/components/template/template_entity.py b/homeassistant/components/template/template_entity.py index 88708278758..41ebf5bc1be 100644 --- a/homeassistant/components/template/template_entity.py +++ b/homeassistant/components/template/template_entity.py @@ -76,23 +76,35 @@ TEMPLATE_ENTITY_ICON_SCHEMA = vol.Schema( } ) -TEMPLATE_ENTITY_COMMON_SCHEMA = vol.Schema( +TEMPLATE_ENTITY_ATTRIBUTES_SCHEMA = vol.Schema( { vol.Optional(CONF_ATTRIBUTES): vol.Schema({cv.string: cv.template}), - vol.Optional(CONF_AVAILABILITY): cv.template, - vol.Optional(CONF_VARIABLES): cv.SCRIPT_VARIABLES_SCHEMA, } -).extend(TEMPLATE_ENTITY_BASE_SCHEMA.schema) +) + +TEMPLATE_ENTITY_COMMON_SCHEMA = ( + vol.Schema( + { + vol.Optional(CONF_AVAILABILITY): cv.template, + vol.Optional(CONF_VARIABLES): cv.SCRIPT_VARIABLES_SCHEMA, + } + ) + .extend(TEMPLATE_ENTITY_BASE_SCHEMA.schema) + .extend(TEMPLATE_ENTITY_ATTRIBUTES_SCHEMA.schema) +) def make_template_entity_common_schema(default_name: str) -> vol.Schema: """Return a schema with default name.""" - return vol.Schema( - { - vol.Optional(CONF_ATTRIBUTES): vol.Schema({cv.string: cv.template}), - vol.Optional(CONF_AVAILABILITY): cv.template, - } - ).extend(make_template_entity_base_schema(default_name).schema) + return ( + vol.Schema( + { + vol.Optional(CONF_AVAILABILITY): cv.template, + } + ) + .extend(make_template_entity_base_schema(default_name).schema) + .extend(TEMPLATE_ENTITY_ATTRIBUTES_SCHEMA.schema) + ) TEMPLATE_ENTITY_ATTRIBUTES_SCHEMA_LEGACY = vol.Schema(