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.

Índice
  1. Instalación
  2. Integración en Home Assistant

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 archivo
sudo 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:

http://mqtt.org/

@rapejim

Si quieres conocer otros artículos parecidos a Instalación y configuración de MQTT puedes visitar la categoría Software.

  1. Pepe dice:

    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.conf

    Warning: 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.conf

    Warning: 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

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Subir