Saltar al contenido

Primeros Pasos con el Control de LEDs en Home Assistant: WLED, MQTT y Automatizaciones

Has construido un controlador WLED, soldado tu tira y ajustado tus segmentos en la interfaz web. La verdadera magia empieza cuando tus LEDs se unen a tu hogar inteligente: atenuándose al atardecer, parpadeando en rojo cuando se abre la puerta mientras estás fuera, siguiendo tu ritmo circadiano. Home Assistant convierte a WLED de un controlador independiente en un sistema de iluminación inteligente totalmente integrado.

Interfaz web de WLED mostrando integración con Home Assistant

Por Qué Home Assistant + WLED?

Home Assistant es la plataforma de hogar inteligente de código abierto líder: sin dependencia en la nube, todo se ejecuta localmente. WLED es el firmware LED de código abierto más popular, y sus desarrolladores han trabajado estrechamente con la comunidad de Home Assistant para hacer la integración perfecta.

La combinación te da:

  • Control por voz: Alexa, Google Home y HomeKit funcionan de fábrica
  • Horarios: activa presets al atardecer, amanecer o cualquier hora
  • Automatizaciones: luces activadas por movimiento, alertas de puerta, rutinas de despertar
  • Escenas: guarda y recupera estados de iluminación en múltiples controladores WLED
  • Cero dependencia en la nube: todo se ejecuta en tu LAN, no se requiere internet

Cada función de WLED —segmentos, presets, brillo, color, efectos, velocidad e intensidad— se expone como entidades nativas de Home Assistant. Sin puente, sin HACS, sin ajustes de YAML.

Instalación de la Integración WLED

La integración nativa de WLED se incluye en Home Assistant 2023.5+.

  1. Ve a Ajustes → Dispositivos y Servicios → Añadir Integración
  2. Busca WLED: descubre automáticamente instancias WLED en tu red mediante mDNS
  3. Haz clic para añadir: la integración se conecta automáticamente

No se necesita configuración manual. La integración lee todo por HTTP: IP, puerto, recuento de LEDs, definiciones de segmentos. Cada segmento WLED se convierte en una entidad de luz independiente:

light.wled_salon
light.wled_salon_segmento_1 # retroiluminación TV
light.wled_salon_segmento_2 # acento estantería

Múltiples controladores WLED aparecen cada uno como su propio dispositivo con luces por segmento y un interruptor a nivel de dispositivo para encender/apagar todo el controlador.

Configuración de MQTT (Opcional pero Potente)

La integración HTTP nativa consulta los cambios de estado. Añadir MQTT mejora a actualizaciones push instantáneas: cuando se produce una pulsación de botón físico en el controlador, Home Assistant lo ve inmediatamente.

Configuración de Mosquitto en un clic: instala el complemento del broker Mosquitto (Ajustes → Complementos → Tienda de Complementos), inícialo, luego configura la integración MQTT en Dispositivos y Servicios.

Habilita MQTT en WLED: Config → Interfaces de Sincronización → habilita MQTT, introduce la IP y puerto de tu broker (1883) y establece un Tema de Dispositivo único (por ejemplo, wled/salon).

Cada cambio de estado ahora se publica en tiempo real. La verdadera ventaja: otros dispositivos controlan WLED sin Home Assistant: un sensor de movimiento ESPHome puede publicar en wled/salon/seg/0/col y cambiar colores directamente. MQTT también expone presets WLED como entidades seleccionables como select.wled_salon_preset.

Automatizaciones Útiles

Cinco automatizaciones que convierten los LEDs de decorativos a genuinamente útiles.

Encendido al anochecer. Activa WLED al atardecer usando la entidad sun.sun: no se necesita programación horaria.

alias: "LEDs Encendidos al Atardecer"
trigger:
  platform: sun
  event: sunset
  offset: "-00:15:00"
action:
  - service: light.turn_on
    target:
      entity_id: light.wled_salon
    data:
      brightness_pct: 40
      color_temp: 400
      mode: single

Activado por movimiento. Ilumina los LEDs al 80% durante 5 minutos cuando se activa el movimiento:

alias: "LEDs del Pasillo por Movimiento"
trigger:
  platform: state
  entity_id: binary_sensor.pasillo_movimiento
  to: "on"
action:
  - service: light.turn_on
    target:
      entity_id: light.wled_pasillo
    data:
      brightness_pct: 80
      rgb_color: [255, 220, 180]
  - delay: "00:05:00"
  - service: light.turn_off
    target:
      entity_id: light.wled_pasillo

Alerta de puerta. Parpadea los LEDs en rojo cuando se abre la puerta principal estando la alarma activada en modo ausencia:

alias: "Alerta de Puerta con LEDs"
trigger:
  platform: state
  entity_id: binary_sensor.puerta_principal
  to: "on"
condition:
  condition: state
  entity_id: alarm_control_panel.alarma_hogar
  state: armed_away
action:
  - service: light.turn_on
    target:
      entity_id: light.wled_salon
    data:
      rgb_color: [255, 0, 0]
      effect: "Blink"
      brightness_pct: 100

Luz de despertar. Ilumina gradualmente durante 15 minutos: más suave que cualquier alarma de teléfono:

alias: "Luz de Despertar"
trigger:
  platform: time
  at: "06:30:00"
action:
  - service: light.turn_on
    target:
      entity_id: light.wled_dormitorio
    data:
      brightness_pct: 1
      kelvin: 2700
  - service: light.turn_on
    target:
      entity_id: light.wled_dormitorio
    data:
      brightness_pct: 80
      transition: 900
      mode: single

Hora de la tele. Atenúa los LEDs al 10% cuando empieza a reproducirse contenido multimedia:

alias: "Atenuación para Hora de la Tele"
trigger:
  platform: state
  entity_id: media_player.tv_salon
  to: "playing"
action:
  - service: light.turn_on
    target:
      entity_id: light.wled_salon
    data:
      brightness_pct: 10
      rgb_color: [255, 100, 50]

Creación de Escenas

Los presets WLED se exponen automáticamente en Home Assistant como entidades similares a escenas. Guarda un preset en la interfaz WLED y aparece en Home Assistant inmediatamente.

  • Noche de cine: blanco cálido al 10%, retroiluminación detrás del televisor
  • Fiesta: brillo completo, ciclo de color, velocidad 200
  • Lectura: blanco cálido (2700K) al 50%

Actívalos desde paneles de control, etiquetas NFC en tu puerta, o inclúyelos en una rutina de Buenas Noches que apague luces, cierre puertas y active la alarma en un solo comando.

Control por Voz

Home Assistant expone WLED a Alexa, Google Home y Apple HomeKit mediante sus puentes en la nube o integraciones locales.

  • “Alexa, pon los LEDs del salón en azul”
  • “Hey Google, atenúa la tira de la cocina al 20%”

No se necesita configuración adicional de WLED. Expone segmentos individuales como luces separadas o todo el controlador como una sola luz. Para control por voz totalmente local, usa el pipeline Assist con un satélite de voz ESP32-S3: sin nube involucrada.

Horarios Astronómicos

La entidad sun.sun va más allá del simple encendido/apagado al atardecer. Usa los atributos de sun.sun para activar diferentes presets según la hora de la noche:

  • Crepúsculo civil (sol 6° por debajo del horizonte): blanco cálido al 40%
  • Noche (sol 12°+ por debajo): rojo tenue al 10% para visión nocturna
  • Amanecer astronómico: transición a colores matutinos antes del amanecer

Iluminación Adaptativa ajusta la temperatura de color a lo largo del día: 5000K frío al mediodía, 2200K cálido a medianoche. Habilítala para tus entidades WLED y seguirán la curva natural del sol automáticamente.

Para variedad, añade un script de aleatorización diaria que elija un preset de color diferente cada noche. Tus LEDs nunca se ven igual dos noches seguidas: un pequeño detalle que mantiene las instalaciones permanentes sintiéndose frescas.