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