Saltar al contenido

Secuencias en YAML: Un recurso esencial

15/05/2023
Secuencias en YAML
Black Friday · Hasta un 40 % de descuento

Ofertas oficiales en domótica inteligente

Interruptores WiFi, relés, sensores, tiras LED y más, con descuentos en la tienda oficial Sonoff. Promoción activa hasta el 15 de diciembre.

Ver ofertas oficiales Enlace de afiliado · Tienda Sonoff

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