Mapeos en YAML

Mapeos en YAML

¿Qué son los mapeos en YAML?

Los mapeos son una característica fundamental de YAML que permite la representación de datos estructurados de manera similar a los objetos en JavaScript o los diccionarios en Python. En términos simples, un mapeo es una colección de pares clave-valor, en la que cada clave única se asocia con un valor particular. Esta estructura de datos es extremadamente útil para organizar y estructurar información de manera eficiente y legible.

Sintaxis básica de mapeos

En un mapeo YAML, la clave y el valor están separados por dos puntos (:), y cada par clave-valor se encuentra en una nueva línea. Por ejemplo, si quisiéramos representar información sobre una persona, podríamos hacerlo con un mapeo YAML de la siguiente manera:

nombre: Juan
edad: 30
ciudad: Madrid

En este ejemplo, «nombre», «edad» y «ciudad» son las claves, y «Juan», «30» y «Madrid» son los valores correspondientes. Fíjate en el uso de los dos puntos y el espacio para separar las claves y los valores.

Los mapeos son especialmente útiles en configuraciones como Home Assistant, donde es necesario estructurar una gran cantidad de datos de manera ordenada. Por ejemplo, para configurar un interruptor de luz en Home Assistant, podríamos usar un mapeo YAML para especificar los detalles de la configuración:

switch:
  - platform: tplink
    host: 192.168.1.100
    name: Luz de la sala

Aquí, «switch» es la clave principal y su valor es una lista de configuraciones de interruptores. Cada configuración es un mapeo que contiene claves como «platform», «host» y «name» con sus valores correspondientes.

Los mapeos en YAML no se limitan a valores simples. Los valores pueden ser otras secuencias o incluso otros mapeos, lo que permite crear estructuras de datos complejas y versátiles. En resumen, los mapeos son una herramienta esencial para trabajar con YAML, especialmente cuando se trata de representar y organizar información estructurada y compleja.

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

Ejemplos de mapeos para Home Assistant

Configuración de dispositivos en Home Assistant

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

switch:
  - platform: tplink
    host: 192.168.1.20
    name: "Smart Plug"
    icon: mdi:power-socket

Automatizaciones en Home Assistant

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

automation:
  alias: "Luz encendida al detectar movimiento"
  trigger:
    platform: state
    entity_id: binary_sensor.motion_sensor
    to: "on"
  action:
    service: light.turn_on
    target:
      entity_id: light.living_room
    data:
      brightness: 255
      color_name: "blue"

Uso avanzado de mapeos en YAML

Mapeos anidados

Los mapeos también pueden anidarse dentro de otros mapeos o dentro de secuencias:

climate:
  - platform: ecobee
    name: "Thermostat"
    sensors:
      temperature:
        name: "Temperature Sensor"
        unit_of_measurement: "°F"
      humidity:
        name: "Humidity Sensor"
        unit_of_measurement: "%"

Control de flujo en mapeos de YAML

Se admite el uso de llaves ({ }) para crear mapeos en una sola línea, lo que puede facilitar la lectura de la configuración en ciertos casos:

sensor:
  - platform: template
    sensors:
      outdoor_temperature: {friendly_name: "Outdoor Temperature", unit_of_measurement: "°F", value_template: "{{ states('weather.home') }}"}

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

Sígueme a YouTube

Sígueme en YouTube - Mapeos en YAML
(Visited 306 times, 1 visits today)
Ads Blocker Image Powered by Code Help Pro

¡Hemos detectado un bloqueador de anuncios!

Parece que estás utilizando un bloqueador de anuncios. Nunca vamos a cobrar para ofrecer el contenido, pero sí dependemos de la publicidad para financiar y mantener activo este sitio web. Si disfrutas del contenido que ofrecemos, por favor, añade tecnoyfoto.com a la lista blanca de tu bloqueador de anuncios para seguir accediendo a nuestro contenido.

¡Gracias por tu apoyo!