ESPHome: Sensor Personalizado para Ciclos de Tanque de Presión
Cómo monitorear los ciclos de tu bomba de pozo con ESPHome (y detectar fugas antes de que te arruinen el bolsillo)
Si tienes un pozo de agua con bomba y tanque de presión, hay un dato que casi nadie vigila y que puede ahorrarte un disgusto serio: cuántas veces enciende y apaga la bomba a lo largo del día. A eso se le llama “ciclos”, y cuando empiezan a dispararse sin razón aparente, suele ser la primera señal de que algo anda mal. Una fuga, un tanque que ya no retiene presión, un presostato que empieza a fallar. Aquí te cuento cómo armé (y cómo puedes armar tú) un sensor personalizado con ESPHome para vigilar esto en tiempo real, integrado directamente en Home Assistant.
¿Por qué monitorear los ciclos de la bomba?
Piensa en una bomba de pozo saludable como un corredor con buen ritmo: enciende, llena el tanque, se apaga, y pasa un rato razonable antes de volver a encenderse. Ese ritmo depende del consumo de la casa, claro, pero debería ser relativamente estable y predecible.
Cuando ese ritmo se rompe y la bomba empieza a ciclar cada dos minutos en vez de cada veinte, casi siempre hay una causa concreta detrás:
- Fuga en la tubería, ya sea dentro de la casa o en el tramo que va hacia el pozo.
- Vejiga del tanque de presión dañada, que perdió su capacidad de retener aire y ya no amortigua nada.
- Presostato descalibrado o fallando, que ordena encender y apagar en momentos erráticos.
- Válvula de retención (check valve) defectuosa, que deja que el agua se devuelva al pozo apenas se apaga la bomba.
Detectar esto a tiempo no es un capricho de aficionado a la domótica. Una bomba que cicla de más se recalienta, se desgasta y termina quemándose mucho antes de lo esperado. Hablamos de reparaciones que fácilmente superan los 300 o 400 dólares si hay que reemplazar la bomba completa, contra los 20 o 30 dólares que cuesta un ESP32 y un sensor de corriente.
Qué necesitas
Para este proyecto la lista de materiales es corta y accesible:
- Un ESP32 o ESP8266 (yo recomiendo el ESP32: tiene más pines GPIO disponibles y, en mi experiencia, se cae menos de la red WiFi cuando está lejos del router).
- Un sensor de corriente tipo pinza (CT clamp) no invasivo, como el SCT-013-030. Este sensor se abraza alrededor del cable sin necesidad de tocar los 240V directamente, lo cual es una tranquilidad enorme si no eres electricista.
- Opcionalmente, un sensor de presión analógico (0-5V o 4-20mA, con su módulo convertidor correspondiente) conectado a la línea de agua, para ver la presión real del sistema en vivo.
- Cableado, una caja estanca IP65 si vas a instalarlo cerca del pozo (la humedad ahí es implacable), y una fuente de 5V.
Configuración básica en ESPHome
La lógica es simple: el sensor de corriente detecta cuánto consume la bomba, y cuando ese consumo supera cierto umbral, ESPHome asume que está encendida. Así se vería la configuración YAML:
sensor:
- platform: ct_clamp sensor: source_sensor_id name: “Corriente Bomba de Pozo” update_interval: 2s sample_duration: 500ms
binary_sensor:
- platform: template name: “Bomba de Pozo Encendida” lambda: |- return id(corriente_bomba).state > 1.5; filters:
- delayed_on: 500ms
- delayed_off: 500ms
El umbral de 1.5 amperios es solo un punto de partida: según la bomba que tengas, puede que necesites ajustarlo después de observar un par de días de datos reales. Con este binary_sensor ya funcionando, el siguiente paso es contar los ciclos:
sensor:
- platform: template name: “Ciclos de Bomba Hoy” id: ciclos_bomba accuracy_decimals: 0 update_interval: 60s
Y en Home Assistant, con una automatización bastante sencilla, incrementas este contador cada vez que el binary_sensor pasa de apagado a encendido. Nada complicado: un trigger de “state” que escucha ese cambio y suma uno.
Añadir el sensor de presión del tanque
Aquí es donde el proyecto se pone realmente interesante. Si agregas un transductor de presión, puedes dibujar la curva completa de presión del tanque: cómo sube hasta el punto de corte (cut-off, normalmente entre 50 y 60 PSI) y cómo baja hasta el punto de encendido (cut-in, entre 30 y 40 PSI).
Esa curva, más que cualquier otro dato, es tu mejor herramienta de diagnóstico. Un tanque sano dibuja ciclos largos, pausados, casi aburridos de ver en la gráfica. Un tanque con poca precarga de aire (el problema más común) dibuja ciclos cortos y nerviosos, uno tras otro, como si la bomba no pudiera descansar.
sensor:
- platform: adc pin: GPIO34 name: “Presión Tanque” update_interval: 5s filters:
- multiply: 50.0 # calibrar según tu transductor
- offset: -25.0
Los valores de multiply y offset dependen del transductor específico que uses, así que vale la pena calibrar con un manómetro mecánico de referencia antes de confiar ciegamente en la lectura.
Integración y alertas en Home Assistant
Con los datos ya fluyendo hacia Home Assistant, las posibilidades se multiplican. Algunas ideas que valen la pena montar:
- Un gráfico histórico de presión y ciclos (Lovelace con ApexCharts Card funciona muy bien para esto, y permite superponer ambas curvas).
- Una alerta que se dispare cuando el número de ciclos por hora supere un umbral que tú consideres anómalo, por ejemplo más de 10 ciclos en 60 minutos.
- Un contador diario y semanal, pensado no para alertar de inmediato sino para detectar tendencias lentas: si esta semana la bomba cicló un 30% más que la semana pasada, algo se está deteriorando aunque todavía no sea una emergencia.
Al final, un sensor ESPHome dedicado a esto convierte algo que normalmente es invisible (lo que pasa dentro del pozo cuando nadie está mirando) en datos que puedes revisar desde el sofá. Con un ESP32, un sensor de corriente y, si te animas, un transductor de presión, tienes una forma barata y efectiva de anticiparte a fugas, fallos del tanque y desgaste prematuro de la bomba, todo integrado con Home Assistant para que las alertas lleguen solas y el análisis de tendencias se haga prácticamente sin que tengas que pensar en ello.