-
Notifications
You must be signed in to change notification settings - Fork 0
Hassio y MQTT
Pequeño ejemplo para enviar datos, usando el protocolo MQTT, desde un ESP8266 Wemos D1 Mini a nuestro servidor Hassio.
Una vez hecha la instalación lo primero que hacemos es ir a Supervisor en el menú de la izquierda y después a ADD-ON STORE. Hay muchos add-ons que darán funcionalidades a nuestro servidor.
Lo primero que debemos instalar es el File Editor, antes llamado Configurator, necesario para poder acceder a los archivos de configuración del servidor Hassio. Lo buscamos, lo instalamos y lo ponemos en marcha.
Después buscamos mqtt e instalamos el add-on oficial MQTT Mosquitto Broker.
Antes de la puesta en marcha, nos vamos a la configuración del add-on y ponemos al menos un usuario y una contraseña de este modo:
Sin usuario y contraseña no me funciono en las primeras pruebas que hice, damos a Save y ya podemos poner en marcha el add-on.
El último paso es ir a Configuración en el menú izquierdo, integraciones y configurar la integración descubierta MQTT.
Habilitamos el descubrimiento y le damos a enviar.
De esta manera tan sencilla, ya tenemos un Broker MQTT Mosquito en nuestro servidor hassio. Una forma fácil de comprobar que está en marcha es intentar conectar un cliente mqtt usando el programa MQTTbox. Yo uso la extensión para Chrome y debe configurarse así:
Protocol - mqtt/tcp
Host – su dirección ip y puerto
El usuario y la contraseña que se haya configurado en el add-on.
Si todo ha ido bien, deberíamos de establecer la conexión con nuestro broker MQTT. Con este programa también podremos suscribirnos a topics y publicar un topic para asegurarnos de que todo funciona correctamente.
El código se desarrollo en Visual Studio Code con Platformio y esta aquí. En el encabezado del código hay una breve descripción de lo que hace y está basado en este post de prograrmarfacil.
Ahora con MQTTBox podemos interactuar con nuestra placa Wemos D1 Mini.
Ahora que ya tenemos nuestro ESP8266 publicando datos en un topic (outTopic) y subscrito a otro topic (inTopic) para realizar alguna acción, es momento de descubrir el gran poder del archivo configuration.yaml.
Ayudado por la documentación de las integraciones de Hassio
Si buscamos mqt podemos ver todo lo que se puede hacer con esta integración
Vamos a usar muy superficialmente la de sensor y la de switch, pero hay muchas más opciones.
Con el add-on File Editor, que instalamos antes, accedemos al archivo configuration.yaml dentro de la carpeta config y añadimos estas líneas. Guardamos y el programa nos dirá si hay algún error en lo que hacemos.
sensor random:
platform: mqtt
state_topic: "outTopic"
name: "MQTT Sensor"
switch:
- platform: mqtt
name: LED ESP8266
state_topic: "inTopic"
command_topic: "inTopic"
payload_on: "1"
payload_off: "0"
Después de reiniciar el servidor tendremos acceso, en el menú Resumen, a los datos que nos envía el ESP8266 en el indicador MQTT Sensor. Con el interruptor LED ESP8266 podremos apagar y encender el led integrado de nuestra placa Wemos D1 Mini.