Skip to content

¿Qué son las variables en YAML?

El lenguaje de serialización de datos YAML es conocido por su simplicidad y facilidad de lectura. Sin embargo, es importante entender que YAML no tiene un concepto directo de «variables» como lo conocemos en otros lenguajes de programación. En cambio, lo que comúnmente se refiere como «variables» en YAML son valores que se pueden reutilizar en el contexto de aplicaciones específicas o en combinación con otros lenguajes de programación.

A pesar de no ser una característica nativa de YAML, el concepto de «variables» puede ser implementado en ciertos contextos. Por ejemplo, al utilizar YAML para definir configuraciones en herramientas de orquestación de contenedores como Kubernetes, es posible definir valores que luego se pueden referenciar en múltiples partes de la configuración. Esto puede verse como un equivalente a una «variable».

Índice de contenido

    Beneficios de usar variables en YAML

    Utilizar variables en tus archivos YAML tiene varias ventajas:

    1. Reutilización de valores: Evita la necesidad de repetir constantemente valores en tu archivo de configuración. Si un valor cambia, solo tendrás que actualizar la variable correspondiente.
    2. Simplificación del mantenimiento: Facilita la actualización y el mantenimiento de tus archivos YAML, ya que solo tendrás que modificar un valor en lugar de múltiples instancias del mismo.
    3. Mejora la legibilidad: Al usar variables en lugar de valores literales, es más fácil entender el propósito y la función de cada elemento en tu archivo YAML.

    Sintaxis de definición de variables en YAML

    Para definir una variable en YAML, se utiliza la sintaxis de clave-valor, donde el nombre de la variable es la clave y el valor asignado es el valor. Por ejemplo:

    color_favorito: azul
    

    En este ejemplo, hemos creado una variable llamada «color_favorito» y le hemos asignado el valor «azul».

    Ejemplos de definición de variables en YAML en Home Assistant

    A continuación, mostramos un ejemplo práctico de cómo definir y utilizar variables en YAML en el contexto de Home Assistant.

    Supongamos que tienes varios dispositivos en tu hogar que utilizan el mismo tema de color. Podrías definir una variable para el tema de color y usarla en cada dispositivo:

    tema_color: "color_primario"
    
    light:
      - platform: hue
        name: "Luz sala"
        color_theme: !var tema_color
    
    switch:
      - platform: tplink
        name: "Enchufe cocina"
        color_theme: !var tema_color
    

    En este ejemplo, hemos creado una variable llamada «tema_color» y la hemos asignado al valor «color_primario». Luego, utilizamos la directiva !var para referenciar la variable en las configuraciones de luz y interruptor. De esta manera, si deseas cambiar el tema de color, solo tendrás que modificar la variable en lugar de cambiar cada instancia del valor en el archivo YAML.

    Cómo utilizar variables en YAML

    Una vez que hayas definido una variable en YAML, puedes utilizarla en otras partes de tu archivo de configuración o en otros archivos YAML, dependiendo del alcance de la variable.

    Sintaxis de uso de variables en YAML

    Para utilizar una variable en YAML, debes referenciarla con la directiva !var, seguida del nombre de la variable. Por ejemplo:

    nombre: "Sala de estar"
    descripcion: !var nombre
    

    En este ejemplo, hemos creado una variable llamada «nombre» y le hemos asignado el valor «Sala de estar». Luego, utilizamos la directiva !var para referenciar la variable en la clave «descripcion». Esto asigna el valor de la variable «nombre» a «descripcion».

    Ejemplos de uso de variables en Home Assistant

    Aquí hay otro ejemplo de cómo utilizar variables en YAML en el contexto de Home Assistant para automatizaciones:

    variables:
      temperatura_umbral: 25
    
    automation:
      - alias: "Ventilador encendido cuando la temperatura supera el umbral"
        trigger:
          - platform: numeric_state
            entity_id: sensor.temperatura_sala
            above: !var temperatura_umbral
        action:
          - service: switch.turn_on
            target:
              entity_id: switch.ventilador_sala
    
      - alias: "Ventilador apagado cuando la temperatura está por debajo del umbral"
        trigger:
          - platform: numeric_state
            entity_id: sensor.temperatura_sala
            below: !var temperatura_umbral
        action:
          - service: switch.turn_off
            target:
              entity_id: switch.ventilador_sala
    

    En este ejemplo, hemos creado una variable llamada «temperatura_umbral» y le hemos asignado el valor 25. Luego, utilizamos la directiva !var para referenciar la variable en los triggers de las automatizaciones. Si deseas cambiar el umbral de temperatura, solo tendrás que modificar la variable en lugar de cambiar cada instancia del valor en el archivo YAML.

    Índice del capítulo 4 | Capítulo anterior | Siguiente capítulo

    Sígueme a YouTube

    Sígueme en YouTube - Qué son las variables en YAML
    Ajustes