Protección contra funcionamiento en seco para la bomba de riego con sensor de nivel Senvolon y Home Assistant
Protección contra funcionamiento en seco para la bomba de riego con sensor de nivel Senvolon y Home Assistant

Protección contra funcionamiento en seco para la bomba de riego con sensor de nivel Senvolon & Home Assistant

Proteger el aljibe con un sensor LiDAR en Home Assistant

Una bomba que no sabe cuándo debe detenerse

Una bomba de riego sin protección contra funcionamiento en seco es una bomba de relojería. Si funciona sin agua, el cierre mecánico se sobrecalienta en segundos. El rodamiento le sigue. En el mejor de los casos, una costosa reparación; en el peor, una pérdida total y un arriate marchito.

La solución supuestamente sencilla es un simple interruptor de flotador. Funciona hasta que el flotador se atasca, el interruptor se corroe o, sencillamente, se olvida que el aljibe, tras un agosto seco, solo está lleno al cinco por ciento.

Un control automático de la bomba basado en un sensor de nivel suena sencillo a primera vista: instalar el sensor, integrar los valores en Home Assistant, definir los umbrales y listo. En la práctica, sin embargo, la fiabilidad del sistema no depende de la automatización, sino de la calidad e idoneidad de la sensórica empleada.

Primer detalle: Los sensores de ultrasonidos económicos pierden precisión de medición en entornos húmedos. Tras uno o dos años de funcionamiento en un aljibe aparecen daños por condensación, frecuencias de resonancia alteradas y una sensibilidad de reflexión decreciente. A esto se añade un problema físico de fondo: el ultrasonido mide la velocidad del sonido, y esta depende de la temperatura. Un aljibe enterrado oscila entre 5 °C en invierno y 15 °C en verano. Sin compensación de temperatura se producen errores de medición sistemáticos de varios puntos porcentuales. Una protección contra funcionamiento en seco basada en esos valores no es fiable.

Segundo detalle: Muchos sensores económicos se comunican a través de los servidores del fabricante. Si el servicio en la nube falla, Home Assistant devuelve `unavailable`. Una automatización ingenua entonces no hace nada. La bomba sigue funcionando.

Tercer detalle: Un umbral sin histéresis hace que la bomba se encienda y apague en ciclos cortos cuando la superficie del agua está en movimiento. Eso es un estrés mecánico que estropea la bomba más rápido que un único episodio de funcionamiento en seco.

Esta guía muestra cómo resolverlo correctamente: con un sensor LiDAR que se comunica localmente por MQTT, con una automatización que trata el fallo del sensor explícitamente como un estado de error, y con una lógica de histéresis que evita el ciclado de la bomba. El requisito para ello es una medición fiable del nivel del agua. Encontrará todas las posibilidades en nuestro resumen: Medir y supervisar el nivel de llenado del aljibe

Hardware & lista de materiales (BOM)

Pos.

Componente

Finalidad / Nota

1

Sensor de nivel Senvolon LD WiFi

Precisión LiDAR, independiente de la temperatura, MQTT local.

2

opcional:
Pack Senvolon sensor de nivel LD: sensor LiDAR con conector de antena externa y antena WiFi externa de 2,4 GHz

Obligatorio en aljibes de hormigón enterrados para una recepción estable.

3

Actuador WiFi (p. ej. Shelly)

Enciende y apaga la bomba en función de los valores del sensor.

4

Hub de Home Assistant

La central de control (Raspberry Pi, HA Green o similar).

5

Nivel de burbuja

Esencial para montar el sensor exactamente en horizontal.

 

 

La implementación técnica


¿Prefiere ver vídeos en lugar de leer? En este vídeo de YouTube se explican los pasos 1 a 3.

Vídeo de instalación del sensor de nivel


 

Paso 1: Montar el sensor

Antes de tocar el software, el montaje debe quedar perfecto. Los errores aquí son difíciles de depurar más adelante, y un sensor montado en ángulo produce errores de medición sistemáticos que no se pueden corregir con la calibración.

 

Preparar el punto de montaje: Utilice una escuadra de montaje o un travesaño que quede firme en el acceso de la arqueta. El sensor debe quedar horizontal y justo encima de la superficie del agua. Compruébelo con un nivel de burbuja. Incluso una ligera inclinación puede falsear el resultado de la medición. El sensor mide entonces una distancia más larga de la necesaria, lo que genera un error de medición permanente.

Distancia mínima a la superficie del agua: 10 cm como mínimo absoluto. Con agua de lluvia clara, prevea al menos 20 cm. El agua clara transmite parcialmente la luz en lugar de reflejarla por completo, lo que hace más probables las reflexiones múltiples. Quien monta el sensor demasiado cerca no obtiene valores de medición válidos. El cabezal del sensor, fuera de la carcasa, se puede girar 180° (aflojando dos tornillos y fijándolo en el lado contrario) si la situación de montaje lo requiere.

Comprobación de WiFi antes del montaje final: Antes de instalar el sensor de forma definitiva, establezca la conexión y consulte el valor RSSI en la interfaz web del sensor. Por debajo de -70 dBm son probables las desconexiones. Modificar la antena a posteriori supone mucho trabajo. Por eso: primero medir, después cerrar.

Comprobación del cono de luz antes del montaje final: El sensor ToF no emite un haz puntual. El cono de luz se ensancha con la distancia: a 1 m de distancia el diámetro es de 6 cm, a 2 m ya son 12 cm, a 6 m son 36 cm. Todo lo que sobresalga en ese cono, tubos, flotadores, mangueras de llenado, tuberías sumergidas, se mide también y falsea el resultado. Compruebe la línea de visión antes del montaje final y retire sistemáticamente los obstáculos del cono.

Depósito enterrado con tapa de hormigón o acero: Una tapa de este tipo atenúa considerablemente las señales WiFi. El pack de antena RP-SMA no es un capricho para este escenario. Pase el cable de la antena hacia arriba por el acceso del aljibe y monte la antena en el exterior.

 

Paso 2: Integrar el sensor en la red doméstica

Tras encenderlo, el sensor abre su propio punto de acceso.

  1. Conectarse a la red WiFi "Level Sensor-[ID]" (contraseña: "12345678"). Desactivar previamente los datos móviles en el smartphone.
  2. Abrir en el navegador http://192.168.4.1/wifi.
  3. Seleccionar el SSID e introducir la contraseña de la red doméstica, asignar un nombre de host (p. ej., "aljibe"), guardar.
  4. El sensor se conecta a la red doméstica. Tras una conexión correcta, la IP asignada aparece abajo a la izquierda.
  5. Abrir la interfaz web del sensor: http://[dirección IP]. No es necesario descargar ninguna aplicación ni registrarse en ninguna plataforma.

 

Modo de reserva: Si el sensor pierde la conexión WiFi, vuelve a levantar automáticamente su propio punto de acceso y siempre está disponible en 192.168.4.1. El sensor no desaparece sin posibilidad de diagnóstico.

Figura 1

 

Paso 3: Configurar los parámetros del depósito en la interfaz web

Todas las propiedades principales del sensor se configuran a través de la interfaz web del navegador. Esta es la vía principal de configuración. Abrir en el navegador http://[dirección IP] y seleccionar el depósito:

 

 Geometría: Seleccionar la forma adecuada (prisma rectangular, cilindro vertical, cilindro horizontal, esfera). Para formas de depósito individuales está disponible la opción de una tabla de aforo o un motor de fórmulas libre.

 Distancia a la superficie: Distancia desde el sensor hasta la superficie del agua con el depósito lleno, en cm. Con agua clara, introducir al menos 20. Medir este valor con un metro plegable, no estimarlo.

 Distancia al fondo: Distancia desde el sensor hasta el fondo del depósito, en cm.

Mínimo: Umbral de alarma mínimo, p. ej. 10 para el 10 %. Este es el umbral de protección contra funcionamiento en seco.

HYST min: Histéresis en puntos porcentuales, p. ej. 5. La alarma no desaparece hasta que el nivel vuelve a subir al 15 %. Evita las fluctuaciones cuando el nivel está en el límite.

 

A continuación, Configuración > MQTT:

IP del broker: Dirección IP del servidor de Home Assistant

Puerto: 1883

Nombre de usuario: p. ej., mqtt_user

Contraseña: el correspondiente

Nombre del sensor: aljibe (determina todos los topics de MQTT)

Guardar. A continuación, el sensor se conecta con el broker.

 

Paso 4: Instalar el broker MQTT Mosquitto en Home Assistant, si no está instalado

  1. Ir a Ajustes > Complementos > Tienda de complementos.
  2. Buscar "Mosquitto Broker", pulsar en Instalar y luego en Iniciar.
  3. Activar "Iniciar al arrancar".
  4. Crear un usuario MQTT dedicado : Ajustes > Personas > Usuarios > Añadir usuario.
    1. Nombre y nombre de usuario: mqtt_user
    2. Establecer una contraseña segura y activar "Solo usuario local".

Una vez completada la configuración, el sensor de nivel aparece en la vista general bajo "Dispositivos & Servicios". Ahí se le muestran de inmediato los valores medidos actuales. Especialmente útil es la entidad "Alert": esta deriva su estado automáticamente a partir de los parámetros MIN y HYST_MIN que ha definido. Encontrará una guía detallada sobre la integración, incluida la configuración manual, aquí: Integrar un sensor de nivel en Home Assistant mediante MQTT.

 

Figura 2

 

Paso 6: Automatización: apagar la bomba ante riesgo de funcionamiento en seco

El núcleo de la automatización es la entidad "Alert", que calcula su estado a partir de los valores MIN y HYST_MIN configurados por usted. En cuanto esta entidad indica el estado "MIN", el sistema apaga la bomba de inmediato y envía una notificación a su smartphone y al panel de Home Assistant.

alias: Aljibe casi vacío
description: >
  Apaga la bomba de riego cuando el nivel del aljibe cae por debajo del
  umbral configurado. Evita el funcionamiento en seco.
triggers:
  - trigger: state
    entity_id:
      - sensor.level_sensor_alert
    to:
      - MIN
      - unavailable
      - unknown
conditions: []
actions:
  - data:
      title: ⚠️ Protección contra funcionamiento en seco activada
      message: >
        Aljibe al {{ states('sensor.level_sensor_level') | int }} % (actual:
        {{ states('sensor.level_sensor_level') | int }} %). La bomba se
        apagó automáticamente.
      notification_id: trockenlaufschutz
    action: persistent_notification.create
  - action: notify.mobile_app_pixel_8_pro
    data:
      message: >
        Aljibe al {{ states('sensor.level_sensor_level') | int }} % (actual:
        {{ states('sensor.level_sensor_level') | int }} %). La bomba se
        apagó automáticamente.
      title: ⚠️ Protección contra funcionamiento en seco activada
  - type: turn_off
    device_id: 77d6941f98b5c5bfa363c29b6d1207fb
    entity_id: 267c76857b99807442895b3dcb5fa9d2
    domain: switch
mode: single

Figura 3

 

Paso 7: Automatización para la reactivación de la bomba

Para que el funcionamiento pueda reanudarse tras una desconexión por funcionamiento en seco, el sistema vuelve a utilizar la entidad "Alert" como elemento de control central. La lógica se basa en los parámetros MIN y HYST_MIN que usted ha establecido.

El estado "MIN" permanece activo hasta que el nivel supera el umbral definido por HYST_MIN . Esta histéresis garantiza que la bomba no se encienda y apague de forma prematura ni en intervalos demasiado cortos por pequeñas ondulaciones en la superficie del agua, lo que protege el hardware.


alias: La bomba del aljibe puede volver a encenderse
description: >
  Informa cuando el nivel del aljibe vuelve a superar el
  umbral configurado. Vuelve a encender la bomba
triggers:
  - trigger: state
    entity_id:
      - sensor.level_sensor_alert
conditions:
  - condition: template
    value_template: "{{ states('sensor.level_sensor_alert') not in ['MIN', 'MAX'] }}"
actions:
  - data:
      title: ⚠️ Protección contra funcionamiento en seco desactivada
      message: >
        El aljibe está de nuevo al {{ states('sensor.level_sensor_level') | int }} %
        (actual: {{ states('sensor.level_sensor_level') | int }} %). La bomba se
        encendió automáticamente.
      notification_id: trockenlaufschutz
    action: persistent_notification.create
  - action: notify.mobile_app_pixel_8_pro
    data:
      message: >
        El aljibe está de nuevo al {{ states('sensor.level_sensor_level') | int }} %
        (actual: {{ states('sensor.level_sensor_level') | int }} %). La bomba se
        encendió automáticamente.
      title: ⚠️ Protección contra funcionamiento en seco desactivada
  - type: turn_on
    device_id: 77d6941f98b5c5bfa363c29b6d1207fb
    entity_id: 267c76857b99807442895b3dcb5fa9d2
    domain: switch
mode: single

Si prefiere un control más preciso, la automatización se puede adaptar para que la bomba no se active de forma autónoma, sino que solo se envíe una notificación. La reactivación manual del riego puede realizarse después cómodamente a través del panel presentado en el siguiente apartado.

 

Paso 8: Panel de control

Este panel ofrece una unidad de control central: no solo muestra el nivel de llenado actual y el estado de la bomba, incluida la posibilidad de controlarla, sino que también integra el próximo pronóstico del tiempo y los parámetros relevantes de la conexión WiFi.


views:
  - type: sections
    max_columns: 4
    title: Aljibe
    path: aljibe
    icon: mdi:watering-can
    sections:
      - type: grid
        cards:
          - type: heading
            icon: mdi:car-coolant-level
            heading: Nivel
            heading_style: title
            grid_options:
              columns: 12
              rows: 1
          - type: gauge
            entity: sensor.level_sensor_level
            name: Nivel
            needle: true
            segments:
              - from: 0
                color: '#EA4335'
              - from: 10
                color: yellow
              - from: 15
                color: '#34A853'
              - from: 85
                color: yellow
              - from: 90
                color: '#EA4335'
            unit: '%'
          - show_name: true
            show_icon: true
            type: button
            icon: mdi:pump
            show_state: true
            name: Bomba de agua
            icon_height: 50px
            entity: switch.shellypstripg4_e8f60a62ec54_output_2
          - type: tile
            entity: sensor.level_sensor_fluid
            grid_options:
              rows: 1
          - type: vertical-stack
            cards:
              - type: conditional
                conditions:
                  - condition: state
                    entity: sensor.level_sensor_alert
                    state: MIN
                card:
                  type: tile
                  entity: sensor.level_sensor_alert
                  name: 'Estado de alarma:'
                  icon: mdi:water-minus
                  color: red
              - type: conditional
                conditions:
                  - condition: state
                    entity: sensor.level_sensor_alert
                    state: MAX
                card:
                  type: tile
                  entity: sensor.level_sensor_alert
                  name: 'Estado de alarma:'
                  icon: mdi:water-plus
                  color: red
              - type: conditional
                conditions:
                  - condition: state
                    entity: sensor.level_sensor_alert
                    state: ''
                card:
                  type: tile
                  entity: sensor.level_sensor_alert
                  name: 'Estado de alarma: OK'
                  icon: mdi:water-check
                  color: green
            grid_options:
              columns: 6
              rows: auto
          - type: history-graph
            entities:
              - entity: sensor.level_sensor_level
            logarithmic_scale: false
          - type: heading
            icon: mdi:weather-lightning-rainy
            heading: Previsión meteorológica
            heading_style: title
            grid_options:
              columns: 12
              rows: 1
          - show_current: false
            show_forecast: true
            type: weather-forecast
            entity: weather.forecast_home
            forecast_type: daily
            forecast_slots: 5
            secondary_info_attribute: precipitation_unit
            round_temperature: true
            name: Previsión meteorológica
          - type: heading
            icon: mdi:wifi
            heading_style: title
            grid_options:
              columns: 12
              rows: 1
            heading: Conexión WiFi
          - type: tile
            entity: sensor.level_sensor_ip
          - type: tile
            entity: sensor.level_sensor_rssi
    cards: []
Ejemplo de aplicación: aljibe de agua de lluvia

Figura 4

 

Límites físicos y errores habituales

Distancia mínima: Es un límite físico estricto. Por debajo de 10 cm de la superficie del agua, el sensor no ofrece valores válidos. Con agua de lluvia clara, 20 cm es el valor seguro.

Diámetro del cono de luz: Aumenta con la profundidad. A 2 m de distancia, el diámetro del cono es de 12 cm; a 6 m, de 36 cm. Los tubos, flotadores, válvulas de rebose y tuberías sumergidas que sobresalgan en ese cono también se miden. Planifique la posición del sensor en consecuencia.

Alineación horizontal: Un montaje inclinado alarga el trayecto de la luz y cambia el ángulo de reflexión, lo que produce errores de medición sistemáticos. La tabla de calibración del firmware solo puede paliar esto, no sustituirlo.

No apto para líquidos inflamables: No utilizar con gasóleo de calefacción, diésel o gasolina.

Solo para depósitos sin presión: Los depósitos a presión, los termos de agua caliente presurizados y los depósitos neumáticos no son un caso de uso válido.

 

Solución de problemas: los síntomas más frecuentes

 

Síntoma

Causa probable

Solución

El sensor muestra unavailable en HA

Conexión WiFi interrumpida o RSSI demasiado débil

Comprobar el RSSI en la interfaz web del sensor. Por debajo de -70 dBm: instalar una antena externa. El punto de acceso de reserva Level Sensor aparece cuando se pierde la conexión WiFi.

Los valores de medición oscilan ±10 cm

Objeto dentro del cono de luz, superficie del agua agitada

Prueba de la linterna: comprobar la línea de visión. Ampliar la ventana de la mediana en la interfaz web. READ_INTERVAL aumentar.

La automatización no apaga la bomba

Los ID de entidad no coinciden

Herramientas de desarrollador > Estados: verificar el ID de entidad correcto del enchufe. delay_on en el sensor binario, reducir a 5 segundos para las pruebas.

La bomba se enciende y apaga en ciclos cortos

Histéresis no configurada

MINI 10 y HYST_MIN 5 en el sensor. La automatización, de forma intencionada, no vuelve a encender la bomba automáticamente.

HA no detecta el sensor tras la configuración MQTT

MQTT Discovery desactivado

Comprobar en Ajustes Dispositivos & Servicios > MQTT > Configurar > ¿Discovery activado?

El sensor muestra siempre la distancia máxima

El cono de luz incide en la pared del depósito en lugar de la superficie del agua

Centrar el sensor y retirar los obstáculos del cono de luz.

La entidad permanece en unknown

La mediana móvil necesita varias muestras para converger

Esperar 2–3 minutos. Es normal en el primer arranque.


Por qué en este caso el MQTT local no es un simple extra

El mecanismo LWT (Last Will & Testament) es la base técnica del vigilante del sensor en la automatización. Si el sensor se desconecta, deja en el broker un mensaje predefinido de desconexión. Home Assistant lo detecta de inmediato mediante el availability_topic en las definiciones del sensor. En los sistemas mediados por la nube, esta señal suele llegar con retraso o no estar disponible en absoluto. El Senvolon LD WiFi publica directamente en el broker local. No existe dependencia externa ni retraso de enrutamiento. Quien desee acceso mundial a los valores medidos puede usar remote.senvolon.de como opción adicional (opt-in). Quien permanezca completamente en local no pierde ninguna función del sensor.

 

Conclusión

Esta instalación no es un proyecto de manitas con fecha de caducidad. Un sensor de nivel Senvolon es, frente al ultrasonido, más duradero en entornos húmedos, independiente de la temperatura y no depende del sonido como medio. Combinado con un broker local, una lógica de automatización con histéresis y un fail-safe explícito ante el fallo del sensor, se obtiene una protección contra funcionamiento en seco que funciona sin supervisión. Quien realice el montaje con cuidado, compruebe el RSSI de WiFi antes del montaje final y ajuste bien los parámetros del depósito una sola vez, tendrá después una protección que trabaja en segundo plano y no requiere más mantenimiento.

Enlaces relacionados

Sensor de nivel Senvolon LD WiFi en la tienda

Documentación del producto & manual de instrucciones (enlazado en la tienda)

¿Preguntas, experiencias, configuraciones alternativas? Puede dirigirse directamente al Senvolon Support .