Saltar al contenido

Secuencias en YAML: Un recurso esencial

15/05/2023
Secuencias en YAML
Índice

    Introducción a las secuencias en YAML

    ¿Qué son las secuencias en YAML?

    Las secuencias en YAML, se pueden entender como una lista de elementos ordenados. Es similar a hacer una lista de tareas pendientes o una lista de la compra, donde se enumeran diferentes ítems.

    Puedes ver la página principal del curso o el temario del tercer capítulo.

    Sintaxis básica de secuencias en YAML

    Para indicar que estamos creando una secuencia en YAML, utilizamos un guion (-) seguido de un espacio al comienzo de cada elemento en la lista. Aquí hay un ejemplo sencillo de una secuencia:

    - Manzanas- Naranjas
    - Plátanos
    

    En este caso, hemos creado una secuencia de tres elementos: «Manzanas», «Naranjas», y «Plátanos». Cada elemento se encuentra en una nueva línea y comienza con un guion y un espacio.

    Las secuencias no están limitadas a contener solo texto. También pueden contener números, valores verdaderos o falsos (true/false), y hasta otras secuencias. Veamos un ejemplo de una secuencia que incluye una variedad de estos elementos:

    - 10
    - "Hola Mundo"
    - false
    - 
      - Lunes
      - Martes
      - Miércoles
    

    En este ejemplo, la secuencia contiene un número (10), una frase («Hola Mundo»), un valor falso (false), y una secuencia adicional con los nombres de los primeros tres días de la semana.

    Las secuencias son una herramienta poderosa para organizar y representar datos de manera ordenada y legible.

    Ejemplos de secuencias en YAML para Home Assistant

    Configuración de dispositivos en Home Assistant

    En Home Assistant, las secuencias son útiles para configurar dispositivos, automatizaciones y otros componentes del sistema. Veamos un ejemplo de cómo se pueden utilizar secuencias en la configuración de dispositivos:

    light:
      - platform: hue
        host: 192.168.1.10
      - platform: tplink
        host: 192.168.1.11
    

    Automatizaciones en Home Assistant

    Las secuencias también se pueden utilizar en la configuración de automatizaciones en Home Assistant. Por ejemplo:

    automation:
      - alias: Encender luz al anochecer
        trigger:
          - platform: sun
            event: sunset
        action:
          - service: light.turn_on
            target:
              entity_id: light.living_room
    

    Uso avanzado de secuencias en YAML

    Secuencias anidadas

    Las secuencias también pueden anidarse dentro de otras secuencias u otros tipos de datos, como los mapeos:

    group:
      default_view:
        view: yes
        entities:
          - group.living_room
          - group.kitchen
      living_room:
        entities:
          - switch.living_room_tv
          - light.living_room_lamp
      kitchen:
        entities:
          - light.kitchen_ceiling
          - sensor.kitchen_temperature
    

    Control de flujo en secuencias de YAML

    También se admite el uso de corchetes ([ ]) para crear secuencias en una sola línea, lo que puede facilitar la lectura de la configuración en ciertos casos:

    scenes:
      - name: "Atardecer"
        entities:
          light.bedroom: [state: "on", brightness: 50]
          light.living_room: [state: "off"]
    

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

    Sígueme a YouTube

    Sígueme en YouTube - Secuencias en YAML