Contador de agua con ESPHome.
El sensor de flujo de agua YF-B5 consta de un cuerpo de cobre que lo hace más duradero enfrente los de plástico, un rotor de agua y un sensor de efecto Hall. Cuando el agua fluye a través del rotor, el rotor gira y su velocidad cambia con una tasa de flujo diferente. El sensor de efecto Hall recoge esta información y emite la señal de pulso correspondiente.
Este tipo de sensor se puede encontrar en diferentes rangos de diámetros, presión de agua (MPa) y caudal (L/m). Asegúrese de seleccionar uno que cubra sus necesidades. El sensor que tengo tiene un diámetro de 20 mm, una presión de agua de <1,75 Mpa y un rango de caudal de ~30 L/m.
En este tutorial, aprenderá cómo usar un sensor de flujo de agua con una placa Wemos d1 mini y ESPHome integrado a Home Assistant.
Precio sensor YF-B5
Cómo siempre, el precio varía dependiendo de la tienda dónde se compre. En Amazon lo encontramos por unos 13€ el pack de uno y unos 21€ el pack de dos. En Aliexpress lo encontramos a unos 6 euros (más gastos de envío)
Cómo instalar el sensor yf-b5
Para hacer la instalación y conexiones de este sensor, te puede interesar ver los productos Loctite 55 o Loctite 577 que son los productos que yo he utilizado para hacer las conexiones.
YF-B5 Datasheet
Características
- Compacto y fácil de instalar
- Cuerpo de cobre (La vida es más larga que el cuerpo de plástico)
- Alto rendimiento de sellado
- Sensor de efecto Hall de alta calidad
- RoHS
Especificaciones
- Mini. Voltaje de trabajo: CC 4,5 V.
- Máx. Corriente de trabajo: 15mA (DC 5V)
- Voltaje de trabajo: CC 5V~15V
- Rango de caudal: 1~30L/min
- Frecuencia: F=6.6*Q(Q=L/MIN)
- Capacidad de carga: ≤10mA (CC 5V)
- Temperatura de funcionamiento: ≤80 ℃
- Temperatura del líquido: ≤120 ℃
- Humedad de funcionamiento: 35%~90%HR
- Presión de agua: ≤1.75MPa
- Temperatura de almacenamiento: -25~+ 80℃
- Humedad de almacenamiento: 25%~95%HR
Piezas necesarias para conectar el sensor de flujo de agua YF-B5
Para poner en marcha este sensor, son imprescindibles las siguientes piezas.
- Sensor YF-B5
- Placa de desarrollo ESP32, ESP8266, Wemos d1 mini o equivalente. Yo en este tutorial voy a utilizar la ESP8266.
- Cables de conexión. Estos cables te los puedes fabricar tú mismo siguiendo este tutorial.
- Fuente de alimentación de 5V (Micro USB o Externa).
La siguiente imagen muestra el sensor YF-B5.
Medidas del sensor de flujo de agua YF-B5
Configuración para ESPHome del sensor de flujo de agua YF-B5
Estos tres primeros sensores van dentro de la configuración de nuestra placa Wemos d1 mini.
- Flujo de agua instantáneo
sensor:
- platform: pulse_counter
state_class: measurement
name: "Flujo agua"
id: flujo_agua
pin: D2
update_interval: 1s
filters:
- lambda: return (x / 400.0); #Flow pulse: F=(6.68Q)±5% with Q=L/min
unit_of_measurement: "L/min"
- Volumen total en metros cúbicos (en ESPHome)
- platform: integration
device_class: water
state_class: total_increasing
name: "Agua lavadora en m³"
unit_of_measurement: 'm³'
accuracy_decimals: 4
sensor: flujo_agua
time_unit: min
icon: "mdi:water"
filters:
- lambda: return (x / 1000);
- Volumen total en litros (en ESPHome)
- platform: integration
device_class: water
state_class: total_increasing
name: "Agua lavadora en litros"
unit_of_measurement: 'L'
accuracy_decimals: 2
sensor: flujo_agua
time_unit: min
icon: "mdi:water"
Sensores adicionales para crear en Home Assistant
A copiar en el archivo sensors.yaml
### agua lavadora
- platform: template
sensors:
agua_lavadora_l_s:
friendly_name: "Litros por segundo lavadora"
unit_of_measurement: "L/s"
value_template: "{{ ( states('sensor.flujo_agua')|float * (0.016666666666667)|float ) | round(2) }}"
icon_template: >-
mdi:water
- platform: template
sensors:
agua_lavadora_m3_h:
friendly_name: "metros³ por hora lavadora "
unit_of_measurement: "m³/h"
value_template: "{{ ( states('sensor.flujo_agua')|float * (0.06)|float ) | round(2) }}"
icon_template: >-
mdi:water
A copiar en el archivo utility_meter.yaml
#consumo de agua de la lavadora
agua_lavadora_hoy:
name: Consumo agua de lavadora hoy
source: sensor.agua_lavadora_en_litros
cycle: daily
agua_lavadora_semana:
name: Consumo agua de lavadora esta semana
source: sensor.agua_lavadora_en_litros
cycle: weekly
agua_lavadora_mes:
name: Consumo agua de la lavadora este mes
source: sensor.agua_lavadora_en_litros
cycle: monthly
agua_lavadora_anual:
name: Consumo agua de la lavadora anual
source: sensor.agua_lavadora_en_litros
cycle: yearly
#vamos a contar el consumo mensual y anual en metros cúbicos.
#esto es ideal para comprobar que la empresa suministradora
#de agua nos cobra el consumo correcto.
agua_lavadora_mes_m3:
name: Consumo agua de la lavadora este mes en m3
source: sensor.agua_lavadora_en_m3
cycle: monthly
agua_lavadora_anual_m3:
name: Consumo agua de la lavadora anual en m3
source: sensor.agua_lavadora_en_m3
cycle: yearly
Ya tenemos nuestro sensor instalado y un montón de sensores en Home Assistant para controlar nuestro consumo de agua.