En este post, instalaremos el add-on de Mosquitto Broker en Home Assistant, detallando el proceso de configuración y analizando la estructura del archivo mqtt.yaml.
Ten en cuenta que deberás tener la versión de sistema operativo de Home Assistant para instalar add-ons.
Instalación
Primeramente nos dirígete a Ajustes > Complementos
Haz click en Tienda de complementos, y selecciona Mosquitto broker.
Haz click en instalar.
Una vez instalado, haz click en iniciar y asegúrate que la opción «Iniciar en el arranque» está marcada.
Ahora tendremos que crear el usuario, existen dos formas, creando un usuario de Home Assistant, o especificándolo en la configuración del add-on.
Crear usuario de HA
Para crear un nuevo usuario de Home Assistant ve a Ajustes > Personas > Añadir persona
Marca la opción «Permitir que la persona inicie sesión» y escribe el usuario que desees, por ejemplo mqtt y su contraseña.
Marca también la opción «Solo puede iniciar sesión desde la red local«, ya el servidor funcionará únicamente en local.
Haz click en Crear.
En el add-on
Para crear un usuario ve a Ajustes > Complementos > Mosquitto broker > Configuración
En el apartado Logins, escribe lo siguiente:
logins:
- username: <usuario>
password: <contraseña>
Por último, deberemos crear el archivo donde añadiremos todos nuestros dispositivos.
Para ello necesitarás un add-on que te permita acceder a los directorios de HA.
Puedes usar File editor, Studio Code Server o Samba share. En este ejemplo estaré usando File editor debido a que es el mas sencillo.
Añade el add-on como hiciste anteriormente.
Ajustes > Complementos > Tienda de complementos > File editor
Instala el add-on e inícialo
Haz click en «Abrir la interfaz web»
Haz click en la carpeta de la esquina superior izquierda y abre el archivo «configuration.yaml»
En ese archivo escribe:
mqtt: !include mqtt.yaml
En el menú del editor, crea un nuevo archivo llamado «mqtt.yaml»
Abre el archivo recién creado.
El archivo estará ordenado por tipo de entidades, luces, interruptores, persianas… etc.
Un ejemplo para que se entienda mejor:
mqtt:
###LUCES
light:
#LUCES COCINA
- name: "Luz cocina"
unique_id: "cocina_luz"
state_topic: "shellies/<PREFIX>/relay/0"
command_topic: "shellies/<PREFIX>/relay/0/command"
json_attributes_topic: "shellies/<PREFIX>/relay/0/info"
#availability_topic: "shellies/<PREFIX>/relay/0/online"
optimistic: false
payload_on: "on"
payload_off: "off"
payload_available: "true"
payload_not_available: "false"
retain: false
#Aquí continuas añadiendo entidades de luces
###INTERUPTORES
switch:
#LAVADORA
- name: "Enchufe lavadora"
unique_id: "lavadora"
state_topic: "shellies/<PREFIX>/relay/0"
command_topic: "shellies/<PREFIX>/relay/0/command"
json_attributes_topic: "shellies/<PREFIX>/relay/0/info"
#availability_topic: "shellies/<PREFIX>/relay/0/online"
optimistic: false
payload_on: "on"
payload_off: "off"
payload_available: "true"
payload_not_available: "false"
retain: false
#Aquí continuas añadiendo entidades de interruptores
###PERSIANAS
cover:
#Persiana salon
- name: "Persiana salon"
unique_id: "persianas_salon"
command_topic: shellies/<PREFIX>/roller/0/command # rc, open, close and stop
state_topic: shellies/<PREFIX>/roller/0 # open, close, stop
position_topic: shellies/<PREFIX>/roller/0/pos
set_position_topic: shellies/<PREFIX>/roller/0/command/pos
#availability_topic: shellies/<PREFIX>/online
json_attributes_topic: shellies/<PREFIX>/info
payload_open: open
payload_close: close
payload_stop: stop
state_opening: open
state_closing: close
position_open: 100
position_closed: 0
payload_available: true
payload_not_available: false
qos: 1
#Aquí continuas añadiendo entidades de persianas
Plantilla sacada de sequr.be
Light: serán las luces.
Switch: serán interruptores para encender o apagar determinado electrodoméstico. También puedes poner luces, pero aparecerán como interruptores en HA
Cover: serán las persianas o cortinas
Existen mas entidades, pero las principales y mas usadas son esas.
En «<PREFIX>», deberás escribir el prefijo que le asignaste a cada dispositivo, si no sabes configurar el dispositivo, tengo otro post sobre como configurar un Shelly1.
Recomiendo el software, MQTT explorer para comprobar que el servidor esté online y los dispositivos se estén conectando a él.
A dia de hoy es necesario crear el fichero de dispositivos? No deberia encontrarlo automaticamente HASS?
Buenas!
Pues no lo he probado, pero tal vez si se lo detecte, tendré que echarle un ojo
Gracias por pasarte por el blog!