En este post veremos cómo integrar un dispositivo Shelly1 en Home Assistant con MQTT, para ello ya deberemos contar con:
- Shelly1 previamente instalado y configurado en nuestra red.
- Un servidor de Home Assistant.
- Un servidor de MQTT, como puede ser Mosquitto broker.
Una vez tengamos todo lo anterior, pasaremos a configurar el Shelly1 desde su web.
Entraremos introduciendo la IP en el navegador, si tu Shelly no tiene una IP estática y no sabes cual está usando deberás usar un programa que escanee tu red, como puede ser Advanced IP Scanner, también podrías mirar en la sección de dispositivos conectados en la configuración de tu router.
Nos dirigimos a Internet & Security > Advanced – Developer settings
Bajamos hasta encontrar «Enable MQTT»
Introduciremos los siguietes datos:
Username: Aquí nos pedirá el usuario del servidor MQTT, en caso de haber usado el Addon que integra HA, bastaría con poner el usuario que usamos con HA, es recomendable que uses uno unicamente para MQTT, y no uses el tuyo personal.
- Ej: mqtt
Password: Nos pedirá la contraseña del usuario anterior.
- Ej: ZRPgv4CSrzqAyYC
Server: Nos pedirá la IP del servidor MQTT, que en caso de haber usado el Addon será la misma que HA, también deberás poner el puerto, que por defecto es el 1883
- Ej: 192.0.0.32:1883
Marcaremos la opción de «Use custom MQTT prefix«, este es el nombre que el dispositivo tendrá, le daremos un nombre descriptivo, como por ejemplo «luzsalon»
En la opción «Max QoS» lo dejaremos en 1, para que verifique que el mensaje ha sido recibido por el broker.
Una vez introducido todo los campo el Shelly estará listo, y solo nos quedaría añadirlo en Home Assistant.
Para ello, navegamos nuestra estancia de Home Assistante e iremos a Ajustes > Dispositivos y servicios
Aquí añadiremos una una integración, pulsando «Nueva integración» y buscaremos «MQTT»
Aparecerán 6 opciones, escogemos la primera opción.
Introducimos los datos que nos pide, lo dejamos así
Una vez añadida la integración deberemos añadir los dispositivos mediante el archivo de configuración yaml, para acceder a él puedes usar el Addon «File Editor», o si quieres una opción más avanzada puedes usar el Studio Code Server.
Abriremos el archivo configuration.yaml
Y añadiremos la siguiente linea:
mqtt: !include mqtt.yaml
Con esto, le estaremos diciendo a HA que incluya el archivo mqtt.yaml en la configuración, esto se hace para no tener todo junto y que todo sea más fácil de entender.
Crearemos un nuevo archivo
Una vez creado, debemos buscar la plantilla para el Shelly, en esta página encontrar la mayoría de ellos.
La plantilla que vamos a usar es la siguiente:
light: # Esta línea marca que tipo de dispositivo es
- name: "Luces Salón" # Aquí le indicaremos el nombre
unique_id: "luzsalon" # Aquí le indicaremos un ID único
state_topic: "shellies/luzsalon/relay/0" # Aqui va el MQTT prefix
command_topic: "shellies/luzsalon/relay/0/command" # Aqui va el MQTT prefix
json_attributes_topic: "shellies/luzsalon/info" # Aqui va el MQTT prefix
optimistic: false
payload_on: "on"
payload_off: "off"
payload_available: "true"
payload_not_available: "false"
retain: false
qos: 1
Recuerda! El MQTT prefix es el nombre que le dimos en el proceso anterior
Ten cuenta que para añadir otra luz lo deberemos hacer debajo de este, a partir de la linea
- name:
Haré otro post explicando más a fondo la estructura que debe tener
Guardamos lo cambios y recargamos la configuración (no hace falta reiniciar en principio), ya podremos ver el dispositivo en la integración de MQTT: