Qué es MQTT y Mosquitto Broker: Guía del Protocolo IoT [Explicado]
Descubre cómo funciona MQTT, el protocolo que conecta todos tus dispositivos inteligentes, y aprende a instalar Mosquitto Broker paso a paso para domótica real.
![Qué es MQTT y Mosquitto Broker: Guía del Protocolo IoT [Explicado]](/_astro/mqtt-mosquitto-broker-guia.CK8xgXI9.webp)
En este artículo:
- Qué es MQTT y por qué es el protocolo dominante en IoT
- Qué es un broker MQTT y qué papel juega Mosquitto
- Cómo instalar Mosquitto Broker en Home Assistant
- Cómo conectar dispositivos a MQTT: el flujo real
- MQTT y Zigbee2MQTT: la combinación más potente en domótica
- Errores comunes al configurar MQTT y cómo evitarlos
- MQTT con Node-RED: automatizaciones avanzadas
- Seguridad en MQTT: lo que nadie te cuenta
- Hardware recomendado para correr Mosquitto
- Matter vs MQTT en 2026: ¿Cuál usar en domótica y van a coexistir?
- Mejor opción según tu caso
- FAQ
- Conclusión: MQTT es el sistema nervioso de tu casa inteligente
Recuerdo perfectamente la primera vez que Javier intentó conectar un sensor DIY de temperatura al sistema de casa. Pasó dos tardes enteras mirando logs de conexión, convencido de que algo fallaba en el hardware. Al final el problema era mucho más básico: no entendía cómo fluía la información entre el sensor y Home Assistant. No había broker. No había MQTT configurado. Los datos simplemente no llegaban a ningún sitio.
Eso fue hace tres años. Hoy MQTT es el protocolo que une casi todo lo que tenemos automatizado en casa, desde los sensores de movimiento hasta el control del aire acondicionado. Y Mosquitto es el broker que lo hace posible. Si estás construyendo una instalación domótica seria, tarde o temprano vas a necesitar entender esto.
Esta guía existe para que no pierdas esas dos tardes.
⚠️ Importante: Esta guía es informativa. Configurar un broker MQTT implica riesgos de seguridad si no se hace correctamente. Siempre usa usuario y contraseña y no expongas el puerto 1883 a internet sin TLS o VPN.
Respuesta rápida: MQTT es un protocolo de mensajería ligero diseñado para dispositivos IoT que funciona con un sistema publicador/suscriptor a través de un servidor central llamado broker. Mosquitto es el broker MQTT más usado en domótica y se instala fácilmente en Raspberry Pi o como add-on de Home Assistant.
Qué es MQTT y por qué es el protocolo dominante en IoT
MQTT (Message Queuing Telemetry Transport) es un protocolo de comunicación diseñado específicamente para entornos donde los dispositivos tienen recursos limitados y la conexión de red puede ser inestable.
Fue desarrollado originalmente en los años 90 por IBM para monitorizar oleoductos vía satélite. Eso ya te dice algo: fue diseñado para funcionar con ancho de banda mínimo, en condiciones de conexión poco fiables y con dispositivos de bajo consumo. Exactamente lo que necesita un sensor de temperatura barato o un microcontrolador ESP32.
La diferencia fundamental con otros protocolos como HTTP es el modelo de comunicación. HTTP funciona con petición-respuesta: el cliente pregunta, el servidor responde. MQTT funciona con publicar-suscribir (pub/sub): los dispositivos publican mensajes en “temas” (topics), y otros dispositivos suscritos a esos temas los reciben automáticamente.

Esto tiene implicaciones enormes en domótica. Un sensor de movimiento no necesita saber que existe Home Assistant. Solo publica en casa/salon/movimiento. Home Assistant, suscrito a ese topic, recibe el dato al instante. Si mañana añades un segundo sistema que también quiera ese dato, simplemente se suscribe al mismo topic. Sin cambiar nada en el sensor.
Por qué MQTT gana frente a otras alternativas
Cuando comparamos protocolos para IoT doméstico, MQTT destaca en tres aspectos concretos:
| Característica | MQTT | HTTP REST | CoAP | WebSocket |
|---|---|---|---|---|
| Peso del protocolo | Muy ligero (~2 bytes header) | Pesado | Ligero | Medio |
| Modelo | Pub/Sub asíncrono | Request/Response | Request/Response | Bidireccional |
| Ideal para | Sensores IoT / domótica | APIs web | Redes de sensores | Apps en tiempo real |
| Soporte en Home Assistant | Nativo y completo | Parcial vía REST API | Limitado | Parcial |
| Consumo energético dispositivo | Mínimo | Alto | Bajo | Medio |
| Fiabilidad en red inestable | Alta (QoS configurable) | Baja | Media | Baja |
Javier lo resume así cuando alguien le pregunta: “HTTP es como enviar una carta y esperar respuesta. MQTT es como una emisora de radio: publicas en una frecuencia y quien quiere escuchar, escucha.”
Qué es un broker MQTT y qué papel juega Mosquitto
Un broker MQTT es el servidor central que recibe todos los mensajes publicados y los distribuye a los suscriptores correspondientes. Sin broker, no hay MQTT. Es el intermediario imprescindible.
Mosquitto es el broker MQTT open source más extendido del mundo, mantenido por la Eclipse Foundation. Es ligero, estable, lleva más de una década en producción y funciona perfectamente en una Raspberry Pi con 512 MB de RAM.
Hay otras opciones como EMQX o HiveMQ, pero para domótica doméstica Mosquitto es la elección práctica casi universal. María lo llama “el nginx del mundo IoT”: no es el más vistoso, pero hace su trabajo sin fallos y sin consumir recursos.

Cómo fluye la información en MQTT: topics y QoS
Los topics son las rutas jerárquicas donde se publican los mensajes. Se estructuran con barras como carpetas:
casa/salon/temperatura→ temperatura del salóncasa/dormitorio/luces/estado→ estado de las luces del dormitoriocasa/jardin/riego/activo→ si el riego está funcionando
El broker recibe el mensaje en ese topic y lo reenvía a todos los dispositivos suscritos. Simple y elegante.
El QoS (Quality of Service) determina la fiabilidad de entrega:
- QoS 0: El mensaje se envía una vez, sin confirmación. Válido para datos frecuentes como temperatura.
- QoS 1: El broker confirma la recepción. Para acciones donde importa que llegue.
- QoS 2: Entrega garantizada exactamente una vez. Para comandos críticos.
En domótica doméstica, QoS 1 es el equilibrio habitual. Para temperaturas que se actualizan cada 30 segundos, QoS 0 sobra.
Cómo instalar Mosquitto Broker en Home Assistant
La forma más sencilla si usas Home Assistant OS o Supervised es instalar el add-on oficial. Si trabajas con Raspberry Pi de forma independiente, lo instalas directamente en el sistema operativo.
Opción 1: Add-on de Home Assistant (recomendada para la mayoría)
Instalar Mosquitto Broker como add-on en Home Assistant
Configura tu propio broker MQTT local en Home Assistant en menos de 5 minutos, sin necesidad de línea de comandos.
Accede a los add-ons
En Home Assistant, ve a Configuración → Add-ons → Tienda de complementos. Busca 'Mosquitto broker' en el buscador.
Instala el add-on
Haz clic en 'Mosquitto broker' y pulsa Instalar. Espera a que se complete la instalación (puede tardar 1-2 minutos).
Crea un usuario MQTT
Ve a Configuración → Personas → Añadir persona. Crea un usuario específico para MQTT (por ejemplo, 'mqtt_user'). Este usuario no necesita acceso a la interfaz de HA.
Configura y arranca el add-on
Vuelve al add-on de Mosquitto. En la pestaña Configuración, puedes dejar los valores por defecto para uso doméstico. Activa 'Inicio automático' y 'Watchdog', luego pulsa Iniciar.
Integra con Home Assistant
Ve a Configuración → Dispositivos y Servicios. Home Assistant debería detectar automáticamente el broker y ofrecerte configurar la integración MQTT. Acepta y usa las credenciales del usuario creado.
Opción 2: Instalación directa en Raspberry Pi (Debian/Ubuntu)
Para quienes prefieren control total o tienen Home Assistant en Docker:
# Actualizar repositorios
sudo apt update && sudo apt upgrade -y
# Instalar Mosquitto
sudo apt install mosquitto mosquitto-clients -y
# Habilitar e iniciar el servicio
sudo systemctl enable mosquitto
sudo systemctl start mosquittoDespués edita el archivo de configuración:
sudo nano /etc/mosquitto/mosquitto.confAñade estas líneas para habilitar autenticación:
listener 1883
allow_anonymous false
password_file /etc/mosquitto/passwdCrea el archivo de contraseñas:
sudo mosquitto_passwd -c /etc/mosquitto/passwd mqtt_userReinicia el servicio para aplicar todos los cambios:
sudo systemctl restart mosquittoCómo conectar dispositivos a MQTT: el flujo real
Lucía recuerda que cuando conectó sus primeros sensores ESPHome a MQTT, lo que más la confundió fue entender que el ESP32 no “habla” con Home Assistant directamente. Habla con el broker. Home Assistant escucha al broker.
El flujo es:
- Sensor (ESP32 con ESPHome) → publica
casa/salon/temperatura: 22.5en el broker Mosquitto - Broker Mosquitto → distribuye el mensaje a todos los suscriptores de ese topic
- Home Assistant → recibe el valor y lo actualiza como entidad de sensor
Para sensores DIY con ESPHome, la integración MQTT es directa desde el YAML de configuración. Si usas ESPHome para sensores DIY, el protocolo MQTT es una de las formas nativas de enviar datos a Home Assistant.
Para dispositivos Zigbee, la integración Zigbee2MQTT hace exactamente eso: convierte los mensajes Zigbee al formato MQTT estándar y los publica en el broker. Es una de las razones por las que muchos prefieren Zigbee2MQTT frente a ZHA.

Verificar que MQTT funciona: comandos de diagnóstico
Antes de depurar problemas en Home Assistant, conviene verificar que el broker recibe mensajes correctamente. Los comandos mosquitto_sub y mosquitto_pub son tus mejores aliados:
# Suscribirse a todos los topics (para monitorizar tráfico)
mosquitto_sub -h localhost -u mqtt_user -P tu_password -t "#" -v
# Publicar un mensaje de prueba
mosquitto_pub -h localhost -u mqtt_user -P tu_password -t "test/prueba" -m "hola_mundo"Si ves el mensaje aparecer en el suscriptor, el broker funciona. Si no aparece, el problema está en la red o las credenciales, no en tus dispositivos.
MQTT y Zigbee2MQTT: la combinación más potente en domótica
Zigbee2MQTT es probablemente el caso de uso más extendido de MQTT en domótica doméstica. Actúa como puente entre la red Zigbee y el broker MQTT, permitiendo integrar en Home Assistant dispositivos de cualquier fabricante sin depender de sus hubs propietarios.
Sergio lleva años usando esta combinación y tiene claro el motivo: “Con Zigbee2MQTT tengo más de 40 dispositivos de 8 marcas diferentes, todos en Home Assistant, todos sin depender de ninguna nube. Eso no lo consigues con las apps de los fabricantes.”
Para profundizar en Zigbee vs WiFi como protocolos domóticos, tienes que entender que MQTT es la capa de transporte que une todo esto.
La integración de Zigbee2MQTT con Home Assistant requiere tener el broker Mosquitto funcionando antes de configurar Zigbee2MQTT, ya que este último publica todos sus datos en el broker.
Errores comunes al configurar MQTT y cómo evitarlos
Error 1: No crear usuario y dejar allow_anonymous true (o sin configurar) en producción
El error más frecuente. Durante las pruebas iniciales, muchos dejan el broker sin autenticación. Eso significa que cualquier dispositivo en tu red local puede publicar o leer mensajes. En el archivo nativo de Mosquitto (mosquitto.conf) el parámetro exacto es allow_anonymous false, que debes incluir siempre junto con un archivo de contraseñas. En una red doméstica con VLANs para IoT esto es especialmente importante: crea siempre usuarios y contraseñas.
Error 2: Confundir el puerto del broker
Mosquitto escucha por defecto en el puerto 1883 (sin TLS) o 8883 (con TLS). Si usas el add-on de Home Assistant y tienes un firewall, asegúrate de que el puerto 1883 está accesible desde los dispositivos que quieren conectarse.
Error 3: Topics mal estructurados que complican las automatizaciones
Lucía lo aprendió a las malas: empezar con una estructura de topics desordenada hace que después sea muy difícil crear automatizaciones coherentes. Define una jerarquía desde el principio:
{ubicacion}/{habitacion}/{dispositivo}/{propiedad}
casa/salon/termostato/temperatura
casa/cocina/sensor_agua/deteccionError 4: No activar el retain en mensajes de estado
Sin el flag retain, cuando Home Assistant se reinicia no conoce el estado de los dispositivos hasta que estos publican un nuevo mensaje. Activar retain hace que el broker guarde el último mensaje de cada topic y lo entregue inmediatamente a nuevos suscriptores.
Error 5: Olvidar que Mosquitto necesita reiniciarse tras cambiar la config
Si editas /etc/mosquitto/mosquitto.conf directamente, el broker no aplica los cambios automáticamente. Siempre ejecuta sudo systemctl restart mosquitto después de cualquier cambio.
MQTT con Node-RED: automatizaciones avanzadas
Una vez tienes MQTT funcionando, Node-RED abre un mundo completamente diferente. Los nodos MQTT de Node-RED permiten crear flujos que reaccionan a mensajes en tiempo real sin pasar por las automatizaciones de Home Assistant.
Si quieres ver cómo combinar Node-RED con MQTT para automatizaciones complejas, nuestra guía de instalación y configuración de Node-RED cubre los nodos MQTT con detalle. Y si ya tienes tu primer flujo funcionando, el siguiente paso es el flujo complejo con switch y lógica.
Javier usa Node-RED para procesar los datos MQTT de sus sensores de consumo antes de enviarlos a InfluxDB y Grafana para visualización histórica. El dato bruto llega por MQTT, Node-RED lo transforma y lo almacena. Home Assistant solo ve la entidad final.
Seguridad en MQTT: lo que nadie te cuenta
MQTT en texto plano (puerto 1883) es perfectamente válido en una red local confiable. Pero si expones tu broker a internet, necesitas TLS obligatoriamente.
Para acceso remoto seguro, la opción más sencilla es un túnel Cloudflare o Nginx Proxy Manager que gestione el cifrado sin tocar la configuración de Mosquitto. Alternativamente, WireGuard o Tailscale te dan acceso a tu red local completa, incluyendo el broker, sin exponerlo directamente a internet.
Para instalaciones con varios usuarios o acceso desde múltiples puntos, configura ACLs (listas de control de acceso) en Mosquitto. Permiten definir qué usuario puede publicar o suscribirse a qué topics específicos.
Hardware recomendado para correr Mosquitto
Para la mayoría de instalaciones domésticas, Mosquitto corre sin problemas como add-on de Home Assistant en cualquier hardware razonable. Pero si buscas hardware dedicado o quieres una instalación más robusta:

Raspberry Pi 4 Model B 4GB - Servidor domótico completo
Suficiente para correr Home Assistant, Mosquitto, Zigbee2MQTT y Node-RED simultáneamente. La elección clásica para instalaciones medianas con 20-50 dispositivos.
Si ya tienes Home Assistant funcionando y solo necesitas añadir el broker, no necesitas hardware adicional. El comparativo entre Home Assistant Green y Raspberry Pi puede ayudarte a elegir la plataforma base.
Para instalaciones con más de 100 dispositivos MQTT o procesamiento intensivo de datos, considera un servidor NUC o equivalente donde correr todo virtualizado con Proxmox.
Matter vs MQTT en 2026: ¿Cuál usar en domótica y van a coexistir?
Una pregunta que aparece cada vez más: ¿Matter va a reemplazar a MQTT en domótica?
La respuesta corta es no, al menos no en el corto y medio plazo.
Matter y Thread están diseñados para la capa de interoperabilidad entre ecosistemas de consumo (Alexa, Google Home, Apple HomeKit). MQTT opera en una capa diferente: es el protocolo de transporte que usan los dispositivos DIY, los sensores custom y las integraciones avanzadas.
En la práctica, un sistema domótico avanzado en 2026 puede perfectamente tener Matter para los dispositivos de consumo y MQTT para todos los sensores DIY, relés Shelly y automatizaciones complejas. No son excluyentes.
Mejor opción según tu caso
Si empiezas desde cero con Home Assistant: Instala el add-on de Mosquitto. Es la opción más rápida, se integra automáticamente y no requiere configuración adicional para la mayoría de casos.
Si usas Zigbee2MQTT: Mosquitto es imprescindible. Sin broker no hay Zigbee2MQTT. Instala primero Mosquitto, luego Zigbee2MQTT.
Si tienes sensores DIY con ESPHome: MQTT es una de las dos opciones de integración nativa (la otra es la API nativa de HA). Para sensores que publican frecuentemente, MQTT suele ser más eficiente.
Si quieres máximo control y seguridad: Instala Mosquitto directamente en el sistema operativo, configura TLS y ACLs desde el principio. Más trabajo inicial, más robustez a largo plazo.

FAQ
¿Puedo usar MQTT sin Home Assistant?
Sí, completamente. MQTT es un protocolo independiente de cualquier plataforma. Puedes usar Mosquitto con Node-RED solo, con scripts Python, con cualquier aplicación que soporte el protocolo. Home Assistant es una de las plataformas que mejor integra MQTT, pero no es la única opción.
¿Cuántos dispositivos aguanta Mosquitto en una Raspberry Pi?
En pruebas reales con una Raspberry Pi 4, Mosquitto gestiona sin problemas 200-300 dispositivos conectados simultáneamente con mensajes frecuentes. Para instalaciones domésticas estándar de 20-80 dispositivos, el consumo de recursos es prácticamente insignificante. El cuello de botella suele ser la red WiFi o el almacenamiento, no el broker.
¿Necesito abrir puertos en el router para que MQTT funcione?
No, si todos tus dispositivos están en la red local. El broker Mosquitto escucha en el puerto 1883 internamente. Solo necesitas abrir puertos si quieres acceder al broker desde fuera de tu red doméstica, lo que en general no es recomendable sin TLS. Para acceso remoto, usa VPN (WireGuard, Tailscale) o un túnel seguro.
¿Qué diferencia hay entre MQTT y MQTT over WebSocket?
MQTT estándar corre sobre TCP en el puerto 1883. MQTT over WebSocket usa el protocolo WebSocket (puerto 9001 por defecto) y permite que aplicaciones web en el navegador se conecten directamente al broker sin intermediarios. Para domótica doméstica estándar, MQTT sobre TCP es lo que necesitas. WebSocket se usa principalmente para dashboards web que se conectan directamente al broker.
¿Es seguro tener el broker MQTT en la misma máquina que Home Assistant?
Para uso doméstico, sí es perfectamente válido y es la configuración más habitual. Mosquitto consume muy pocos recursos y no interfiere con el funcionamiento de Home Assistant. Si quieres máxima resiliencia, puedes tener el broker en una máquina separada para que un reinicio de HA no interrumpa los mensajes MQTT, pero esto es optimización avanzada que la mayoría no necesita.
Conclusión: MQTT es el sistema nervioso de tu casa inteligente
Después de años trabajando con domótica, la conclusión es clara: si quieres una instalación seria, local, independiente de nubes y realmente flexible, necesitas entender MQTT. No hace falta ser experto en redes. Hace falta entender el modelo pub/sub, instalar Mosquitto y conectar tus dispositivos.
Lo que más nos impresionó cuando lo pusimos en marcha fue la inmediatez. Los sensores publican, Home Assistant reacciona. Sin polling, sin esperas, sin dependencias de servidores externos. Eso es exactamente lo que debe ser la domótica: tu infraestructura, bajo tu control.
Hay recursos que complementan perfectamente lo aprendido aquí. Si quieres automatizar de verdad, explora cómo crear automatizaciones con Node-RED, integra notificaciones accionables con Telegram o aprende a virtualizar todo tu stack con Proxmox para máxima resiliencia.
Tu misión esta semana: instala el add-on de Mosquitto en Home Assistant, crea un usuario MQTT y usa mosquitto_sub -t "#" -v para ver en tiempo real todos los mensajes que ya circulan por tu instalación. Lo que verás te va a sorprender.
Referencias técnicas: Especificación oficial MQTT 5.0 (OASIS) | Documentación Mosquitto - Eclipse Foundation | Wikipedia: MQTT Protocol
