¡Hola a todos! Estamos emocionados de presentarles una revisión de la guía para instalar y configurar MQTT en su Home Assistant. MQTT es un protocolo de mensajería ligero diseñado para dispositivos con recursos limitados y es fundamental para la comunicación entre dispositivos en un sistema de domótica.
En primer lugar, ¿qué es Mosquitto?
En primer lugar, es crucial entender qué es Mosquitto. En términos sencillos, Mosquitto es un protocolo de comunicación entre dispositivos, siendo especialmente adecuado para el Internet de las Cosas (IoT) debido a su bajo impacto en los equipos en los que se instala.
En primer lugar debemos copiar y pegar los siguientes comandos en tu terminal SSH:
Obtenemos la key del repo de mosquitto y la instalamos:
1 2 3 |
wget http://repo.mosquitto.org/debian/mosquitto-repo.gpg.key sudo apt-key add mosquitto-repo.gpg.key |
Añadimos la lista a la paquetería y actualizamos:
1 2 3 4 5 |
cd /etc/apt/sources.list.d/ sudo wget http://repo.mosquitto.org/debian/mosquitto-stretch.list sudo apt-get update |
Instalamos mosquitto y sus herramientas:
1 |
sudo apt-get install -y mosquitto mosquitto-clients |
Comprobamos que esté correctamente instalado y funcionando con el siguiente comando:
1 |
sudo systemctl status mosquitto |
Si ves "active (running)" en verde está todo correcto.
Continuamos con las comprobaciones de funcionamiento:
Para comprobar que está bien instalado abre dos terminales y en uno de ellos teclea:
1 |
mosquitto_sub -v -t "test/topic" |
en el otro terminal:
1 |
mosquitto_pub -t "test/topic" -m "Hello World!" |
Si aparece Hello world en la primera pantalla, ya lo tienes instalado.
Una vez instalado, editamos el siguiente archivo:
1 |
sudo nano /etc/mosquitto/mosquitto.conf |
Borramos:
1 |
include_dir /etc/mosquitto/conf.d |
Pegamos:
1 2 |
allow_anonymous false password_file /etc/mosquitto/pwfile |
Y guardamos el archivo con (Ctrl+X, Y, Intro)
Ahora configuramos usuario y password
1 |
sudo mosquitto_passwd -c /etc/mosquitto/pwfile "USERNAME" |
(donde "USERNAME" es el usuario que queremos configurar, sin comillas)
Indicar nuevo password y repetir
REINICIAMOS LA RASPBERRY!! para que mosquitto cargue la nueva configuracion desde el arranque.
Si quieres volver a comprobar el funcionamiento tras configurar user y pass:
1 2 3 |
mosquitto_sub -d -u USERNAME -P AQUI_TU_PASS -t "test/topic" mosquitto_pub -d -u USERNAME -P AQUI_TU_PASS -t "test/topic" -m "PRUEBA DE MOSQUITTO FUNCIONANDO" |
Una vez tengas MQTT instalado, hay que integrarlo en Home Assistant.
Para ello añade lo siguiente en el archivo configuration.yaml:
1 2 3 4 5 6 |
mqtt: broker: 127.0.0.1 port: 1883 client_id: casa username: USERNAME #aqui es el usuario que hayas definido en la instalación de mqtt password: AQUI_TU_PASS #y aqui el pass |
((Cambia "USERNAME", "AQUI_TU_PASS" por los datos que configuraste en mosquitto, ademas donde pone "micasa" puedes poner lo que tú quieras por si necesitas identificar alguna vez en el broker a tu instalacion de HA como cliente))
Además, para evitar problemas de deteccion de MQTT en HA en el arranque a la hora de reiniciar, hay que reconfigurar el autoarranque de HA para que espere a que el servicio de mosquitto esté iniciado ya.
Edita el siguiente archivo
1 |
sudo nano /etc/systemd/system/home-assistant@homeassistant.service |
- Añadiendo en la línea:
1 |
After=network.target |
(además de lo que ya pueda haber) el servicio de mosquitto quedando así:
1 |
After=network.target mosquitto.service |
((NOTA: En esta linea puede que tengas mas servicios de otras instalaciones, véase en la imagen el servicio de InfluxDB, por ejemplo))
Con esto ya deberías tener MQTT instalado y funcionando.
Fuentes y autor principal: MQTT y @rapejim (Telegram)