Tal y como había comentado en el grupo, os he preparado un pequeño vídeo, más algunas de las cosas más preguntadas de MQTT, para intentar ayudar a que se pueda integrar sin problema cualquier dispositivo.
Como podéis ver en el vídeo, la primera parte es la explicación del funcionamiento del protocolo, y, la segunda, que sería la integración de los dispositivos en nuestro Home Assistant, se hará por medio de este artículo en el que os explico por encima lo que tendréis que hacer para poder acabar con éxito la entrada de dispositivos en vuestros sistemas.
Añadir el servidor MQTT a nuestro Home Assistant
Si habéis instalado vuestro servidor mqtt con mosquitto, ahora hay que añadirlo a Home Assistant, para ello, tendremos que poner en configuration.yaml:
mqtt: broker: 127.0.0.1 port: 1883 username: !secret usermqtt password: !secret passmqtt
Donde 127.0.0.1 es la IP de nuestro broker, que en mi caso sería la ip de la propia máquina ya que tanto Home Assistant como Mosquitto comparten sistema. El puerto, si no lo has cambiado será ese y luego tendrás el usuario y contraseña del servidor.
En el caso de que queramos usar el autodiscovery de los dispostivos que lo tengan, en lugar de lo de arriba será necesario ponerlo así.
mqtt: broker: 127.0.0.1 port: 1883 username: !secret usermqtt password: !secret passmqtt discovery: true birth_message: topic: 'hass/status' payload: 'online' will_message: topic: 'hass/status' payload: 'offline'
De esta forma, Zigbee2mqtt y otros dispositivos con MQTT serán capaces de añadirse solos e nuestro sistema.
Añadiendo un dispositivo Tasmota a nuestro sistema Home Assistant
Ahora vamos a integrar algún dispositivo de los más conocidos, Tasmota, que en realidad puede ser de diferentes tipos, pero, os mostraré un par de ellos. Hay que tener claro que Tasmota genera el topic con el que tenemos que integrarlo, basándose en el nombre que hayamos puesto al dispositivo dentro de “Configuration” y luego “Configure MQTT” en donde indica Topic. Suponiendo que tenemos un enchufe como puede ser el Blitzwolf SHP2 y cuyo topic es: EnchufeSHP2, esta sería la manera de integrar el enchufe (dentro del apartado “switch:”:
- platform: mqtt name: "EnchufeSHP2" command_topic: "cmnd/EnchufeSHP2/POWER" state_topic: "stat/EnchufeSHP2/POWER" qos: 1 payload_on: "ON" payload_off: "OFF" retain: true
Mientras que si lo que queremos es integrar, por ejemplo, algún sensor del consumo tendría que ser así:
- platform: mqtt name: "Enchufe SHP2" state_topic: 'tele/EnchufeSHP2/SENSOR' value_template: '{{ value_json["ENERGY"]["Power"] }}' unit_of_measurement: "W"
Aquí vemos que se ha extraído de la linea que lanza por MQTT el enchufe el dato Power que está dentro de ENERGY,
Añadiendo los dispositivos de Zigbee2mqtt en Home Assistant
Para este punto, sería necesario el uso del auto discovery que he comentado al principio, dentro de nuestra configuración de zigbee2mqtt (no en la de Home Assistant), es necesario tener esto activo:
homeassistant: true
Para que así, todo lo nuevo sea transmitido de forma que Home Assistant pueda entenderlo y añadirlo al sistema.
Espero que os sea de ayuda el artículo y podáis avanzar con MQTT, ya que, es uno de los pilares con los que integramos multitud de cosas en nuestros sistemas.
Si usamos hassio se supone que viene integrado un servidor MQTT que simplemente hay que habilitar desde configuration.yaml. ¿Es mejor usar este o montar un servidor MQTT a parte en otra máquina, por ejemplo, en otra raspberry?