Saltar al contenido

MQTT I: lo esencial

Qué es MQTT, cómo funcionan el broker y los temas, y cómo ponerlo en marcha en Home Assistant con la app Mosquitto en cuatro pasos.

  • Publicado el
  • mqtt
  • integraciones
  • primeros pasos
Sello MQTT I junto al titular «MQTT I: lo esencial»

MQTT es un protocolo de mensajes ligero que usan muchísimos aparatos domóticos para hablar con Home Assistant: Zigbee2MQTT, los enchufes con Tasmota, muchos Shelly, Frigate, robots con Valetudo o una placa ESP32 con tu propio programa. Si alguno de ellos está en tu casa, tarde o temprano vas a necesitar MQTT.

Este es el primer artículo de dos. Aquí verás qué es y cómo ponerlo en marcha. En MQTT II: a fondo entramos en el descubrimiento, los mensajes retenidos, la disponibilidad y la depuración.

Fuente: documentación oficial de la integración MQTT.

Cómo funciona

MQTT funciona como un tablón de anuncios. Los aparatos publican mensajes en un tema y quien esté suscrito a ese tema los recibe. En medio hay un programa, el broker, que recibe todos los mensajes y los reparte. Nadie habla con nadie directamente.

Esquema: un sensor Zigbee, un enchufe Tasmota y una placa ESP32 publican en el broker Mosquitto, que reparte los mensajes a Home Assistant y a otros suscriptores
Publicadores, broker y suscriptores.

Cuatro palabras y ya lo tienes:

Cómo se lee un tema

El tema zigbee2mqtt/salon/sensor_puerta dividido en niveles: quién publica, dónde y qué dispositivo. Comodines: + para un nivel cualquiera y # para todo lo que cuelga
Los temas se organizan en niveles, como carpetas.

Los temas distinguen mayúsculas y minúsculas y no hace falta crearlos: existen en cuanto alguien publica en ellos. Los comodines + y # solo sirven para escuchar varios temas a la vez, nunca para publicar.

Ponerlo en marcha

Cuatro pasos: instalar la app Mosquitto broker, añadir la integración MQTT, conectar el aparato con la IP de Home Assistant, el puerto 1883 y un usuario, y los dispositivos aparecen solos
Con Home Assistant OS no hace falta tocar YAML.
  1. Instala el broker. En Ajustes → Aplicaciones, busca Mosquitto broker en la tienda, instálalo y arráncalo. La documentación oficial lo llama el método de instalación recomendado.
  2. Añade la integración MQTT. Normalmente aparece sola como descubierta en Ajustes → Dispositivos y servicios: pulsa Configurar. Home Assistant crea las credenciales que necesita.
  3. Conecta el aparato. En la configuración de Zigbee2MQTT, Tasmota o Shelly, escribe la IP de Home Assistant, el puerto 1883 y un usuario y contraseña. Crea en Home Assistant un usuario solo para esto (Ajustes → Personas → Usuarios) y no uses el tuyo.
  4. Listo. Con el descubrimiento activado (viene así de serie), los dispositivos aparecen en Ajustes → Dispositivos y servicios → MQTT.

Si usas Home Assistant Container, no hay apps: instala Mosquitto u otro broker compatible por tu cuenta y añade la integración a mano con su dirección, puerto y usuario.

Comprobar que llega

La integración trae una herramienta para ver los mensajes en directo: Ajustes → Dispositivos y servicios → MQTT → Configurar.

Si escuchas # y no aparece nada, el aparato no está conectado al broker: revisa la IP, el puerto y el usuario.

¿MQTT o integración directa?

SituaciónQué elegir
Zigbee con muchos dispositivos de marcas variadasZigbee2MQTT (usa MQTT) o ZHA (sin MQTT); los dos son buenas opciones
Enchufes con Tasmota, robots con Valetudo, FrigateMQTT: es su forma natural de hablar
ShellyLa integración Shelly directa es lo más fácil; MQTT si ya lo usas para todo
ESPHomeSu integración nativa: MQTT es opcional
Un sensor hecho por ti con un ESP32MQTT, con descubrimiento (ver MQTT II)

Siguiente paso

Consulta siempre la fuente oficial: integración MQTT en home-assistant.io.

Infografías: NODARA, a partir de la documentación oficial de Home Assistant.

Volver a Artículos