Skip to content

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.

Índice de contenido

    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
    Ajustes