Si quieres detectar fugas de agua en tu hogar, y además, mirar la temperatura que hay en una determinada estancia de casa, el dispositivo Shelly Flood te permitirá hacer todo esto de una manera muy sencilla. Este pequeño dispositivo funciona con una pila de tipo CR123A que no viene incluida al comprarlo, es algo que debemos tener en cuenta. La forma de conectarse a la red es a través de Wi-Fi, pero solamente se conectará al Wi-Fi cuando haya una detección de inundación o cuando cambie la temperatura, con el objetivo de ahorrar energía y que la pila nos pueda durar más de un año. ¿Quieres saber cómo integrar este dispositivo en tu Home Assistant?
El Shelly Flood se puede integrar en Home Assistant de dos formas diferentes: CoIoT que permite una configuración simplificada y casi automática, y también con MQTT que es mucho más eficiente, pero requiere configuración específica. Lo mejor es hacerlo a través de MQTT, con el objetivo de ahorrar energía ya que es un dispositivo que funciona con pilas. En RedesZone tenéis un completo tutorial de cómo configurar MQTT Broker en Home Assistant, y también ejemplos de cómo configurarlo con unos sensores de apertura de puertas y ventanas de Shelly, y es que el procedimiento en este caso sería muy similar.
| Criterio | CoIoT (Protocolo Shelly) | MQTT (Protocolo estándar IoT) | Recomendación |
|---|---|---|---|
| Facilidad de configuración | Muy Alta (detección casi automática) | Media (requiere broker y configuración YAML) | Principiantes o quienes buscan simplicidad. |
| Eficiencia energética | Buena | Excelente (diseñado para bajo consumo) | Usuarios con muchos dispositivos a batería. |
| Flexibilidad y control | Limitado a la integración de Shelly | Muy Alto (estándar abierto, depuración avanzada) | Usuarios avanzados que desean control total. |
| Dependencias | Integración nativa de Shelly en HA | Broker MQTT (ej. Mosquitto Add-on en HA) | MQTT requiere un componente extra, pero es más robusto. |
| Comunicación | Unicast (si se configura peer) o Multicast | Publicador/Suscriptor (muy eficiente) | MQTT es más escalable para redes domóticas grandes. |
Características del Shelly Flood
El Shelly Flood es un detector de inundaciones de muy pequeño tamaño, tiene una forma circular, midiendo tan solo 7cm de diámetro por 1,9cm de alto. Este dispositivo nos permitirá recibir notificaciones de inundación, y ver en todo momento la temperatura a la que estamos en la estancia donde lo coloquemos, ya que dispone de los dos sensores. Este dispositivo se conectará a la red inalámbrica Wi-Fi a través de la banda de 2.4GHz, con el objetivo de conseguir la mejor cobertura posible, ya que esta banda permite atravesar mucho mejor los obstáculos. En un entorno doméstico, podemos cubrir una distancia de unos 30 metros aproximadamente, aunque todo dependerá de los materiales de las paredes, interferencias, colocación del router Wi-Fi que tengamos y demás.
Aunque este dispositivo se alimenta a través de una pila de tipo CR123A, el fabricante nos proporciona una autonomía estimada de hasta 18 meses, aunque dependerá de cómo lo tengamos configurado, porque si tenemos IP fija consumirá menos que si tiene que hacer la petición al servidor DHCP de nuestro router. Lo mismo ocurre con el método de comunicación, si usamos MQTT será realmente eficiente. Por último, otra configuración útil es que solamente proporcione lecturas de temperatura si cambia en 0,5ºC o 1ºC, tendremos menos mediciones, pero ahorraremos mucha batería porque no tendremos tantas conexiones con la red Wi-Fi.
Este dispositivo se puede usar tanto en el Cloud del fabricante Shelly, como también de manera local, usando, por ejemplo, Home Assistant con el MQTT Broker configurado. Un aspecto muy importante, es que cuando está en stand-by no podremos conectarnos vía web a su interfaz gráfica de usuario, ya que estará ahorrando mucha energía. Para poder despertarlo, tendremos que pulsar el botón físico del interior del Shelly una vez, y así estará disponible durante un minuto aproximadamente, para luego volver a apagarse.
| Paso | Acción recomendada | Ubicación en la interfaz web del Shelly | Completado |
|---|---|---|---|
| 1 | Establecer una dirección IP fija para evitar peticiones DHCP. | Internet & Security → WIFI MODE - CLIENT → Set static IP address | ☐ |
| 2 | Ajustar el umbral de reporte de temperatura a 0.5°C o 1°C. | Settings → SENSOR SETTINGS → Temperature Threshold | ☐ |
| 3 | Desactivar la conexión con la nube de Shelly si solo se usa localmente con Home Assistant. | Internet & Security → CLOUD → Enable Cloud connection (desmarcar) | ☐ |
| 4 | Utilizar MQTT como método de integración para máxima eficiencia. | Internet & Security → Advanced - Developer Settings → Enable MQTT | ☐ |
Instalación y recomendaciones de configuración
Para poder integrar el Shelly Flood en nuestro sistema de domótica, lo primero que debemos hacer es configurarlo a través de la aplicación oficial de Shelly. Básicamente lo que tenemos que hacer es descargar la app de Shelly Cloud para Android o iOS, registrarnos en la aplicación (si no lo hemos hecho antes), y dar de alta el dispositivo como cualquier otro equipo del fabricante.
En el proceso de configuración, tendremos que elegir nuestra red inalámbrica Wi-Fi con el nombre de la red (SSID), así como introducir la contraseña de acceso. Este dispositivo es compatible con seguridad WPA2-Personal, el resto de cifrados como WPA2-Enterprise o WPA3-Personal no están soportados de momento. Una vez que hayamos configurado este dispositivo con la red Wi-Fi, ya estará listo para funcionar y mandarnos avisos en caso de inundación. Un aspecto muy importante, es que, en caso de inundación, además de avisarnos al móvil también se pondrá a pitar al tener un pequeño altavoz en su interior.
Una vez que lo tengamos configurado con la aplicación, nuestra recomendación es que realices los siguientes ajustes para optimizar la duración de la batería. Si accedemos vía web con la dirección IP privada que se le ha proporcionado por parte del servidor DHCP, veremos el menú principal:
Un ajuste muy recomendable es que solamente mande actualizaciones de temperaturas cuando tengamos una diferencia de 0,5ºC e incluso 1ºC. Recibiremos menos estados de temperatura y no será tan exacto, pero a cambio, ahorraremos una gran cantidad de energía de la pila, aumentando su autonomía que se estima en unos 18 meses aproximadamente.
Otras opciones que tenemos en este mismo menú, es calibrar correctamente el sensor de temperatura, por si mide más grados o menos grados que otro termómetro que tengamos. Además, también podemos configurarlo en modo lluvia para que no nos alerte son sonidos:
Ahora tenemos que poner una dirección IP fija al dispositivo, para que no tengamos que usar el cliente DHCP y gastemos energía cada vez que se conecta al router, ya que tendremos que pasar por los diferentes mensajes de DHCP. Para hacer esto, nos vamos a la sección de «Internet & Security» y podemos ver tanto el SSID como la clave de la red Wi-Fi, y justo debajo las opciones de configuración de la dirección IP del propio dispositivo, con su máscara, puerta de enlace y DNS.
Después de poner IP fija, también puedes optar por pinchar en reconectar una vez que hayas puesto el sensor en la ubicación final, para que se conecte al nodo Mesh (si es que lo tienes) y así verificar que todo funciona correctamente. Este equipo al tener batería no dispone de roaming WiFi como sí tienen otros modelos de Shelly.
Por último, otra recomendación si lo vamos a integrar en Home Assistant, es desactivar la gestión a través del Cloud de Shelly, ya que no necesitaremos esta funcionalidad, y ahorraremos también energía ya que no se conectará continuamente. La opción está justo al final del menú «Internet & Security».
Para maximizar la autonomía de la pila CR123A que incorpora este Shelly Flood, es muy importante que incorpores varias optimizaciones clave:
- Asignar una IP estática para eliminar las negociaciones DHCP
- Aumentar el umbral de reporte de temperatura a 1°C (si es posible, y no necesitas un intervalo menor).
- Desactivar la conexión a la nube si se utiliza una integración local como la que vamos a hacer con Home Assistant.
Estos ajustes pueden extender la vida de la batería hasta en un 40%.
Integración de Shelly Flood en Home Assistant
El fabricante Shelly nos permite integrar en Home Assistant usando dos protocolos diferentes, tanto CoIoT como también MQTT. En ambos casos tendremos las mismas funcionalidades, hacerlo con CoIoT es algo más «automático» que hacerlo por MQTT, sin embargo, MQTT es más eficiente ya que es un protocolo diseñado específicamente para ahorrar muchos datos. Nosotros hemos estado usando ambas formas y la verdad es que funcionan perfectamente las dos, así que lo dejamos a tu elección.
Configurar el Shelly Flood con CoIoT
El protocolo predeterminado es CoIoT y nos permitirá integrarlo de manera realmente sencilla. Simplemente nos vamos a la sección de «Internet & Security«, y en el submenú de «Advanced – Developer Settings» ponemos:
- Enable CoIoT: activado
- CoIoT peer: dirección IP de nuestro Home Assistant y el puerto 5683 que es el predeterminado. De esta forma, la comunicación será unicast y no multicast, evitando problemas.
Una vez que hayamos hecho esto, nos vamos a nuestro Home Assistant y reconocerá automáticamente que hay un nuevo dispositivo, pinchamos en «Configurar» para integrarlo y ya lo tendremos. Al ser un dispositivo a batería, posiblemente tengas que pulsar una vez en el botón físico que hay en el interior, para que se comunique con la red Wi-Fi y envíe mensajes a Home Assistant, para que el sistema domótico lo reconozca y lo añada al listado de dispositivos.
En caso de no reconocerlo automáticamente, podemos hacerlo manualmente, para ello nos vamos a «Ajustes / Dispositivos y servicios«, pinchamos en el botón de «Añadir integración«, buscamos «Shelly» y ponemos la dirección IP privada del Shelly Flood que hemos configurado, un aspecto muy importante es que antes de pinchar en el botón «Enviar» tenéis que pulsar el botón físico del dispositivo Shelly Flood, para «despertarlo».
Una vez que lo hayamos dado de alta, podemos verlo en nuestro Home Assistant de la siguiente forma:
Como habéis visto, es muy sencillo configurar este dispositivo Shelly Flood a través de CoIoT en nuestro Home Assistant, y es que no tenemos que usar MQTT ni realizar complejas configuraciones.
Configurar el Shelly Flood con MQTT
Lo primero que debemos hacer es habilitar el protocolo MQTT en el Shelly Flood, y configurarlo con los datos de dirección IP, puerto, usuario y contraseña del MQTT Broker de nuestro Home Assistant. Anteriormente hemos mencionado que tenéis un completo tutorial de cómo configurar MQTT Broker en el sistema de domótica, es necesario que lo sigáis si no habéis configurado antes un dispositivo a través de MQTT.
Advertencia de Seguridad: La configuración MQTT estándar (puerto 1883) transmite datos sin cifrar en tu red local, aunque el riesgo es bajo en una red Wi-Fi bien protegida mediante WPA2 o WPA3 y con el protocolo WPS desactivado, si quieres la mejor protección sería recomendable que uses un broker MQTT con TLS (puerto 8883). De todas formas, los mensajes MQTT se hacen en red local, no se exponen a Internet.
Para añadir un dispositivo vía MQTT, tenemos que escuchar todos los topic, ya sea a través de Home Assistant o bien usando un programa de terceros. Una vez capturados los topic, podremos escribir el código YAML necesario para asignar esta información a un sensor (temperatura y batería) y sensor binario (inundación true o false). Si usas un sistema operativo Windows, puedes usar el programa MQTT Explorer y conectarte al MQTT Broker de Home Assistant.
Una vez que lo hayas instalado, lo tienes que ejecutar y tendremos que añadir una nueva conexión con los siguientes datos:
- Name: el nombre de la conexión guardada, puedes poner un nombre descriptivo.
- Validate certificate: desmarcado.
- Encryption: desmarcado.
- Protocol: mqtt://
- Host: IP_privada_home_assistant
- Port: 1883
- Username: nombre usuario que hayas puesto
- Password: contraseña que hayas definido
Ahora pinchamos en «Save» para guardar el perfil, y pinchamos en «Connect» para conectarnos al MQTT de Home Assistant donde vamos a recibir todos los mensajes.
Aquí podéis ver todos los topic y también la ruta a ellos. Como podéis ver, la ruta hacia los sensores es «shellies/shellyflood-98CDAC2E43F4/sensor/» y dentro tenemos la temperatura, el flood si es verdadero o falso, y también el estado de la batería.
En la parte de la derecha podemos ver también información adicional como red Wi-Fi conectada, señal de la red WiFi etc.
Con la información obtenida a través de estos mensajes, ya podremos programar el MQTT correctamente y dar de alta un total de tres entidades (temperatura, batería y flood).
Para configurar Home Assistant, nos aseguramos que en el archivo configuration.yaml tenemos la siguiente línea:
- mqtt: !include AA_todomqtt.yaml
Ahora editaremos este archivo de configuración, para proceder a poner todos los topic anteriores:
sensor:
## Sensores Shelly Flood por MQTT ##
- state_topic: "shellies/shellyflood-98CDAC2E43F4/sensor/temperature"
name: "Shelly-Flood-MQTT-temperatura"
unique_id: "shellyflood-mqtt-temperatura"
unit_of_measurement: "ºC"
expire_after: 1209600
icon: mdi:thermometer
qos: 1
json_attributes_topic: "shellies/shellyflood-98CDAC2E43F4/announce"
- state_topic: "shellies/shellyflood-98CDAC2E43F4/sensor/battery"
name: "Shelly-Flood-MQTT-bateria"
unique_id: "shellyflood-mqtt-bateria"
unit_of_measurement: '%'
expire_after: 1209600
device_class: battery
icon: mdi:battery
qos: 1
json_attributes_topic: "shellies/shellyflood-98CDAC2E43F4/announce"
En la siguiente imagen podéis ver una captura de pantalla de cómo quedaría:
Ahora configuraremos el sensor binario así:
binary_sensor:
- state_topic: "shellies/shellyflood-98CDAC2E43F4/sensor/flood"
name: "Shelly-Flood-MQTT-inundacion"
unique_id: "shellyflood-mqtt-inundacion"
expire_after: 1209600
icon: mdi:water
qos: 1
payload_on: "true"
payload_off: "false"
device_class: moisture
json_attributes_topic: "shellies/shellyflood-98CDAC2E43F4/announce"
La captura de pantalla la podéis ver aquí:
Una vez que hayamos configurado todo esto en nuestro Home Assistant, tendremos que reiniciar el sistema con recarga de integraciones y ya los tendremos datos de alta, aunque sin estado ya que no hemos recibido comunicación hasta que pulsemos el botón físico del dispositivo, ya que funciona con pilas.
Ahora procedemos a añadir una tarjeta con las tres entidades, podemos buscarlo por entidad y añadirlas las tres a la vez para visualizarlas todas juntas:
Al añadirlas, nos aparecerán los estados como «No disponible«, ya que no hemos recibido ningún estado.
Si pulsamos el botón físico del Shelly Flood, podemos ver los datos que nos envía:
Por supuesto, podéis cambiar el nombre que aparece en la visualización de los estados, ya sea a través del código YAML o directamente a través de la interfaz gráfica de usuario.
Como podéis ver, usar el protocolo MQTT es bastante más complejo que el CoIoT que os hemos mostrado anteriormente, pero también funciona muy bien y podemos recibir todos los estados del sensor en tiempo real. Ahora os vamos a enseñar cómo crear automatizaciones usando este dispositivo.
Automatizaciones que podemos crear
Las automatizaciones con este dispositivo por MQTT son similares a otros sensores, simplemente debemos irnos a «Ajustes / Automatizaciones«, crear una nueva automatización, y en la sección «Cuando» elegir el estado del sensor a «Húmedo«, tal y como podéis ver aquí:
De esta forma, en cuanto el sensor pase a húmedo (independientemente del estado anterior), se ejecutará la acción de «Entonces hacer«. En nuestro caso, hemos querido que se apague automáticamente un enchufe inteligente que teníamos configurado previamente, y también que nos envíe una notificación por Telegram indicando el suceso, tal y como podéis ver aquí:
De esta forma tan sencilla, podremos monitorizar en nuestro hogar si hay algún tipo de inundación, y avisarnos por Telegram o realizar ciertas automatizaciones más avanzadas. Este tipo de dispositivos los podemos poner en el interior de la casa sin problemas, también existen modelos que son de exterior. Gracias a este sistema de domótica tan avanzado, podremos realizar este tipo de acciones tan avanzadas sin problemas.
Si usas un dispositivo externo, podrás saber también, por ejemplo, cuando llueve. Dependerá de la sensibilidad a la que lo ajustes, pero es un buen método si necesitas saber, por ejemplo, si llueve para quitar la ropa, regar las plantas, etc.
Otros ejemplos de automatizaciones que puedes realizar son los siguientes:
- Home Assistant permite integrar válvulas de corte automáticas como el modelo Aqara Control Válvula T1, de tal forma que cierren el suministro principal de agua ante la detección de una inundación. Este dispositivo se integra mediante el protocolo Zigbee y se vincula a los sensores de inundación.
- Podemos programar automatizaciones que activen todas las luces inteligentes en color rojo cuando se detecta una inundación. Esto permite saber si hay inundación si estamos en casa, además, el propio dispositivo empezará a pitar porque ha detectado inundación.
La ventaja de este sistema es que todo funciona de forma local: no depende de internet, servidores en la nube ni de la disponibilidad de los fabricantes. Si tu conexión a internet falla, el sistema de protección sigue funcionando.
Desventajas de Shelly Flood
Pese a que tiene muchas ventajas, y es un producto genial, vamos a recopilar los posibles problemas y desventajas con las que cuenta, por si alguna se te había pasado por alto:
- Dependencia de Wi-Fi: Obviamente, para poder recibir notificaciones necesitamos una conexión a internet, por tanto, tendremos que tener un router con WiFi al cual poder conectarnos, que nos llegue la señal, y que sea continuo.
- Batería: Aunque tiene una batería de larga duración, no es infinita, por lo que tendremos que estar pendientes de cambiarla cuando lo requiera. Algo a tener en cuenta antes de instalarlo, pensando en un sitio de fácil acceso para ello.
- Coste: Pese a que no hablamos de mucha diferencia, existen métodos de detección de fugas más económicos, sobre todo en los casos en los que vayamos a requerir una cantidad importante de ellos. De ser solo uno o dos, será irrisoria la inversión.
- Sensibilidad: Aunque la sensibilidad es ajustable, puede haber situaciones donde el dispositivo no detecte pequeñas cantidades de agua o falsas alarmas en ambientes muy húmedos.
Puede que no sean contras para muchos, pero hay que tenerlas claras ya que muchas veces lo más obvio es lo que se nos pasa, y no está de más recordarlas.
Problemas frecuentes y soluciones
Aunque el proceso de configuración inicial puede parecer sencillo, es posible que te encuentres con algunos problemas solucionables a la hora de realizar la configuración. Especialmente con la integración MQTT que es la que os recomendamos usar.
Los datos por MQTT no llegan o aparecen como «No disponible»
Problema: El Shelly Flood no ha establecido comunicación con el broker MQTT instalado en Home Assistant, porque está en reposo profundo, y hasta que no hay un cambio de temperatura o una inundación, no enviará nada. Si la configuración MQTT no está correctamente especificada en el archivo configuration.yaml, los topics no se procesarán.
Solución: Asegúrate de que el archivo de configuración está correcto como os hemos indicado, una vez hecho, pulsa el botón físico del Shelly Flood para enviar los primeros datos. Ahora deberías ver que los estados pasarán de «No disponible» a mostrar los valores reales (temperatura, batería, estado de inundación) una vez que el dispositivo se comunique con Home Assistant.
Las entidades tienen nombres genéricos y no específicos
Problema: El dispositivo se detecta, pero las entidades se nombran de forma genérica, dificultando la identificación en automatizaciones y paneles de control.
Solución: Durante la configuración del MQTT en el archivo de configuración de Home Assistant, asegúrate de asignar nombres descriptivos al dispositivo. Es fundamental que realices esto para posteriormente ver con un nombre descriptivo las diferentes entidades.
Como podéis ver, aunque es posible que nos encontremos con algunos problemas, lo cierto es que todo debería funcionar correctamente siguiendo los pasos en detalle.
