Temas relacionados
[AI Router] Instalación de MQTT Broker (Mosquitto)
MQTT [Transporte de Telemetría de Cola de Mensajes] es un protocolo de mensajería ligero comúnmente utilizado para la comunicación entre dispositivos IoT. En Home Assistant, MQTT se utiliza a menudo para la integración de automatizaciones. Por ejemplo, cuando usas Frigate para el análisis de video [como detectar a alguien entrando en un área específica], Frigate enviará un mensaje a Home Assistant a través de MQTT, lo que podrá activar otras automatizaciones [como encender las luces o enviar notificaciones].
Roles de MQTT:
¿Cuáles son los roles en el protocolo MQTT? Tomando el escenario de integrar cámaras IP Frigate con Home Assistant como ejemplo:
- Publisher: Frigate. Cuando Frigate detecta un evento [por ejemplo, alguien entra en una zona específica] a partir de la transmisión de la cámara IP, publica este evento como un mensaje al broker MQTT.
- Subscriber: Home Assistant. Se suscribe al tema específico publicado por Frigate. Cuando Home Assistant recibe el mensaje, puede activar automatizaciones [como encender luces o enviar notificaciones].
- Broker: Mosquitto. Actúa como intermediario, recibiendo mensajes de Frigate y reenviándolos a los suscriptores de Home Assistant. En este ejemplo, Frigate y Home Assistant no se comunican directamente, sino que intercambian mensajes a través del broker MQTT Mosquitto.
1. Requisitos previos
- Asegúrate de estar familiarizado con las operaciones básicas de Portainer. Puedes consultar la guía Entendiendo Docker, Imágenes, Contenedores y Portainer con el ejemplo de AdGuard Home.
- Necesitarás usar el editor de texto vi para algunos pasos. Si no estás familiarizado, busca un tutorial básico de vi en línea.
2. Instalar Mosquitto
2-1. Desplegar Mosquitto usando Portainer:
- Ve a la página [Stacks] en Portainer y haz clic en [Agregar Stack].
- Ponle nombre a este stack mosquitto.
- En el [Editor web], pega la siguiente configuración:

versión: "3.8" servicios: # --- MQTT Broker (Eclipse Mosquitto) --- mosquitto: imagen: eclipse-mosquitto:2 container_name: mosquitto restart: a menos que se detenga volumes: - mosquitto_config:/mosquitto/config - mosquitto_data:/mosquitto/data - mosquitto_log:/mosquitto/log
ports: - "1883:1883" # MQTT - "9001:9001" # WebSocket volúmenes: mosquitto_config: mosquitto_data: mosquitto_log: |
2-2. Haz clic en el botón [Desplegar la pila] para completar el despliegue.

3. Configurar Mosquitto
3-1. Ve a la página [Contenedores] en Portainer y busca mosquitto.
3-2. Haz clic en mosquitto para entrar en la página de detalles del contenedor, luego haz clic en la pestaña [Consola].

3-3. En el campo [Comando], ingresa /bin/sh y haz clic en [Conectar] para abrir la interfaz de línea de comandos del contenedor.

3-4. En la línea de comandos, introduce el siguiente comando para crear un archivo de contraseña:
mosquitto_passwd -c -b /mosquitto/config/passwd <usuario> <contraseña>
Reemplaza <usuario> y <contraseña> por el nombre de usuario y la contraseña que desees (usa solo letras y números, y no empieces con #). Para confirmar que el archivo fue creado: ejecuta ls /mosquitto/config para verificar que existan tanto mosquitto.conf como passwd.

3-5. Edita el archivo de configuración de Mosquitto mosquitto.conf ingresando:
vi /mosquitto/config/mosquitto.conf

3-6. En el mosquitto.conf, agrega los siguientes ajustes para especificar la ruta del archivo de contraseñas y deshabilitar el acceso anónimo: Presiona i para entrar en modo de inserción, luego añade el siguiente contenido al principio o final del archivo: Puedes usar ctrl + shift + v para pegar texto en el editor vi.
allow_anonymous false password_file /mosquitto/config/passwd listener 1883 0.0.0.0 socket_domain ipv4 |

3-7. Presiona Esc, escribe :wq, y presiona Enter para guardar y salir del editor. (Si quieres descartar los cambios, escribe :q! y presiona Enter )

3-8. Reinicia el contenedor Mosquitto para aplicar la configuración:
- Vuelve a la página de [Contenedores] en Portainer y busca mosquitto.
- Haz clic en mosquitto para entrar en la página de detalles del contenedor, luego haz clic en el botón [Reiniciar].

4. Configurar Integración MQTT en Home Assistant
4-1. En Home Assistant, ve a [Configuración] > [Dispositivos y Servicios] y haz clic en [Agregar Integración].
4-2. Busca y selecciona [MQTT].

4-3. En el cuadro de diálogo emergente, selecciona MQTT y introduce la siguiente información:
- Broker: localhost o la dirección IP de tu placa AI
- Puerto: 1883
- Nombre de usuario: El nombre de usuario que configuraste para Mosquitto
- Contraseña: La contraseña que configuraste para Mosquitto


4-4. Una vez finalizado, puedes usar un cliente MQTT para conectarte a Mosquitto.

¿Cómo obtener la [Utilidad / Firmware]?
Puedes descargar los controladores, software, firmware y manuales de usuario más recientes en el Centro de Descargas de ASUS.
Si necesitas más información sobre el Centro de Descargas ASUS, por favor consulte este enlace.