
Instalación y configuración de MQTT
Hola a todos! Os presentamos una revisión de la guía para que podáis instalar y configurar correctamente MQTT en vuestro Home Assistant.
En primer lugar, ¿qué es Mosquitto?
Para que nos entendamos, Mosquitto es un protocolo de comunicación entre dispositivos. Es ideal para IoT (internet of things) por su bajo impacto en los equipos en los que se instala.
Instalación
En primer lugar debemos copiar y pegar los siguientes comandos en tu terminal SSH:
Obtenemos la key del repo de mosquitto y la instalamos:
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
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:
sudo apt-get install -y mosquitto mosquitto-clients
Comprobamos que esté correctamente instalado y funcionando con el siguiente comando:
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:
mosquitto_sub -v -t "test/topic"
en el otro terminal:
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:
sudo nano /etc/mosquitto/mosquitto.conf
Borramos:
include_dir /etc/mosquitto/conf.d
Pegamos:
allow_anonymous false
password_file /etc/mosquitto/pwfile
Y guardamos el archivo con (Ctrl+X, Y, Intro)
Ahora configuramos usuario y password
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:
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"
Integración en Home Assistant
Una vez tengas MQTT instalado, hay que integrarlo en Home Assistant.
Para ello añade lo siguiente en el archivo configuration.yaml:
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 archivosudo nano /etc/systemd/system/home-assistant@homeassistant.service
- Añadiendo en la linea:
After=network.target
(además de lo que ya pueda haber) el servicio de mosquitto quedando así:
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. Próximamente te ayudaremos a darle utilidad.
Pues eso es todo, como siempre, si tienes cualquier duda déjanos tu comentario o pásate por el grupo de telegram de @Domology
Fuentes:
@rapejim
Si quieres conocer otros artículos parecidos a Instalación y configuración de MQTT puedes visitar la categoría Software.
- Pingback: Home Assistant. Instalación y pasos previos. | Domology 2.0
-
sudo systemctl status mosquitto
● mosquitto.service - Mosquitto MQTT v3.1/v3.1.1 Broker
Loaded: loaded (/lib/systemd/system/mosquitto.service; enabled; vendor preset
Active: active (running) since Sat 2019-08-31 09:13:44 CEST; 3 days ago
Docs: man:mosquitto.conf(5)
man:mosquitto(8)
Main PID: 428 (mosquitto)
Tasks: 1 (limit: 4915)
CGroup: /system.slice/mosquitto.service
└─428 /usr/sbin/mosquitto -c /etc/mosquitto/mosquitto.confWarning: Journal has been rotated since unit was started. Log output is incomple
lines 1-11/11 (END)...skipping...
● mosquitto.service - Mosquitto MQTT v3.1/v3.1.1 Broker
Loaded: loaded (/lib/systemd/system/mosquitto.service; enabled; vendor preset: enabled)
Active: active (running) since Sat 2019-08-31 09:13:44 CEST; 3 days ago
Docs: man:mosquitto.conf(5)
man:mosquitto(8)
Main PID: 428 (mosquitto)
Tasks: 1 (limit: 4915)
CGroup: /system.slice/mosquitto.service
└─428 /usr/sbin/mosquitto -c /etc/mosquitto/mosquitto.confWarning: Journal has been rotated since unit was started. Log output is incomplete or unavailable.
como puedo pasar esto que no tengo forma de conectarme
Deja una respuesta