
Este artículo puede contener enlaces de afiliado. Si compras desde estos enlaces, el precio para ti es el mismo y la tienda me paga una pequeña comisión que ayuda a mantener Tecnoyfoto.
Revisión técnica: 27 de octubre de 2026. Esta es una guía complementaria procedente del curso anterior, no un capítulo numerado del nuevo. Para seguir el itinerario, consulta el curso actual de YAML en Home Assistant.
Reutilizar valores reduce repeticiones y facilita el mantenimiento, pero YAML no tiene variables de programación. En esta guía distinguimos sus anclas y alias de las variables que implementan aplicaciones como Home Assistant. Se han corregido los ejemplos que atribuían a los alias concatenaciones y acceso automático entre archivos.
Qué hacen realmente & y *
Un ancla identifica un nodo ya definido; un alias referencia ese nodo. Puede ser un texto, número, lista o mapa. No es una caja mutable, una macro ni un motor de sustitución. El nombre de la clave y el nombre del ancla son cosas distintas:
mi_variable: &valor_variable 42
otra_variable: *valor_variableAquí mi_variable es la clave; valor_variable es el ancla. El valor de ambas claves es 42. El alias debe aparecer después del ancla en el mismo documento. No supongas que una ancla declarada en un archivo incluido por separado será visible en otro.
Ejemplo 1: reutilizar rutas sin falsas concatenaciones
Este es un documento YAML genérico para explicar la reutilización de un valor; no son claves para pegar en configuration.yaml:
ruta_base: &base "/mi-aplicacion"
componentes:
- nombre: "web"
directorio: *base
- nombre: "worker"
directorio: *baseAmbos directorios reciben el texto completo /mi-aplicacion. Escribir *base/inicio no añade /inicio al valor: no es concatenación de YAML. Si necesitas construir rutas, debe hacerlo la aplicación, por ejemplo con una plantilla Jinja en un campo que la admita. Si no existe ese mecanismo, escribe la ruta completa.
Ejemplo 2: parámetros compartidos
base_datos:
host: &host_db "db.example.test"
puerto: &puerto_db 5432
componente_1:
host: *host_db
puerto: *puerto_db
componente_2:
host: *host_db
puerto: *puerto_dbEste ejemplo es de datos genéricos. Home Assistant no acepta automáticamente claves como componente_1 o base_datos: cada integración define su propio esquema. Centralizar un valor no cifra los datos; evita incluir contraseñas reales en ejemplos, repositorios o validadores externos.
Variables de Home Assistant: otra capa distinta
Para calcular un texto o una decisión usa las variables y plantillas de Home Assistant en sus campos admitidos. Este script individual se puede probar en la vista YAML del editor de scripts:
alias: "Ejemplo de valores reutilizados"
sequence:
- variables:
ubicacion: "salón"
temperatura_objetivo: 21
- action: persistent_notification.create
data:
title: "Comprobación"
message: "Objetivo para el {{ ubicacion }}: {{ temperatura_objetivo }} °C"Las llaves son Jinja; no una sintaxis nativa de YAML. La variable existe en el contexto del script, no como constante global en todos los archivos. Tampoco se referencia con una etiqueta !var.
Cuándo usar cada mecanismo
Usa anclas para repetir nodos estáticos en un documento, scripts para reutilizar acciones, plantillas para calcular valores e inclusiones para organizar archivos. No uses una de estas técnicas como sustituta automática de las demás. Una configuración corta y explícita puede ser más fácil de mantener que una red de referencias.
Para profundizar, consulta anclas y alias y el capítulo actual sobre YAML y Jinja. La decisión final sobre esta URL queda pendiente del capítulo de variables del nuevo curso.
Continúa leyendo
Siguiente guía relacionada · 3 min de lectura
Variables en YAML: Guía 2026 para reutilizar código
Revisión técnica: 27 de octubre de 2026. Esta es una guía complementaria procedente del curso anterior, no un capítulo numerado del nuevo. Para seguir…
Continuar con este artículo

