ESPHome eta Home Assistant erabiliz etxeko ur-kontagailua irakurtzen

Post hau idazteko gogoa nuen, Aspaldian irtenbide ona bilatzen ari nintzen, egonkorra eta fidagarria… eta nola ez, ESPHome du erantzuna. Post honetan ikusiko dugu nola irakurri ur-kontagailu ohin baten ura kontsumitua eta, joan gaitezen, etxean dugun hori; eta Home Assistant-ekin bistaratzea.

Urte askoz gai honek jakin-mina eman zidan, kontsumoa ezagutzea, kasuan honetan etxeko ura, etxeetan egiten dugun uraren kontsumoa eta erabilera. Argazki-kamerarekin eta testuaren OCR bidezko ezaguerarekin irtenbideak erabiltzen ari nintzen, pero… ez zen konponbide baliagarria, ahulune batzuk zituen eta feria-zozketa bat baino gehiago huts egiten zuen. Tras unos cuantos meses de uso os puedo asegurar que la manera más fiable es con un sensor de proximidad inductivo y un ESP8266 o ESP32.

¿Para qué? Pues por la razón que tengas, por saber consumos, intentar ahorrar, detectar fugas, porque se puede…

Onena, total, que al final resulta que tenemos una manera muy sencilla de leer la lectura de un contador, lo podemos hacer mediante un sensor de proximidad, en concreto con el modelo LJ18A3-8Z/BX NPN (por poco más de 10€). Los contadores de agua, normalmente disponen de una pequeña ruleta, esta ruleta gira y tiene un pequeño imán que podremos detectar en cada vuelta. Cada vuelta, cada pulso equivale a 1 litro.

Beraz, conectaremos el sensor de proximidad LJ18A3-8Z/BX a nuestra placa con el ESP, itsasoko ESP8266 o ESP32, y luego pegaremos el sensor a dicha ruleta del contador de agua. Obviamente, antes de pegar nada, lo probaremos previamente con algún imán que tengamos en la nevera 😉 El cableado es muy sencillo y quedaría de la siguiente manera, el cable marrón al VIM, el azul al GND y el negro a un GPIO de datos, el mi caso el D21.

Si no lo hemos hecho ya, en nuestra placa instalaremos el firmware de ESPHome para poder integrarlo sencillamente en Home Assistant. La manera más sencilla de instalar ESPHome es desde el propio Home Assistant, añadiendo un nuevo dispositivo (si hace falta haremos un post de este How To). Y una vez creado el dispositivo le añadimos la siguiente configuración a la placa:

sensor:
  - platform: pulse_counter
 pin: 21
    update_interval : 6s
 name: "pulso agua"
    id: pulso_agua

  - platform: pulse_meter
 pin: 21
    name: "Medidor pulsos agua"
    unit_of_measurement: "litros/min"
    icon: "mdi:water"
    total:
      name: "Total Agua"
      unit_of_measurement: "litros"

  - platform: template
 name: "Flujo de agua"
    id: flujo_agua
 accuracy_decimals: 1
    unit_of_measurement: "l/min"
    icon: "mdi:water"
    lambda: return (id(pulso_agua).state * 10);
    update_interval: 6s

Con esto ya podremos conocer el 'Pulso del agua', el 'Total de agua’ y el 'Flujo de agua'. Tardaréis 2 minutos en añadir las tarjetas en Home Assistant, os dejo sus códigos por si os sirve de algo:

type: custom:apexcharts-card
header:
  show: true
 title: Consumo agua - Última hora
 show_states: false
series:
  - entity: sensor.total_agua
 name: Luxes
 type: area
 opacity: 0.7
    color: blue
 group_by:
      duration: 1m
 func: avg
graph_span: 1h
update_interval: 5mins

Y luego en Home Assistant, si queremos almacenar los datos para estadística y conocer el consumo del agua por horas, por días, por meses o anuales, deberíamos de crear las siguientes Utility Meters directly en el fichero de configuración de Home Assistant (configuration.yaml):

utility_meter:
  consumo_agua_horario:
    name: "Consumo Agua - Horario"
    source: sensor.total_agua
 cycle: hourly
 consumo_agua_diario:
    name: "Consumo Agua - Diario"
    source: sensor.total_agua
 cycle: daily
 consumo_agua_mensual:
    name: "Consumo Agua - Mensual"
    source: sensor.total_agua
 cycle: monthly
 consumo_agua_anual:
    name: "Consumo Agua - Annual"
    source: sensor.total_agua
 cycle: yearly

Y las tarjetas para visualizar dichos datos, os dejo una de ejemplo:

type: custom:apexcharts-card
header:
  show: true
 title: Consumo agua - Último mes
 show_states: false
series:
  - entity: sensor.consumo_agua_diario
 name: Litros
 type: column
 opacity: 0.7
    color: blue
 group_by:
      duration: 1d
 func: max
graph_span: 30d
update_interval: 5min

Espero que os sirva de utilidad, de aquí a final de año tengo intención de sacar otros posts que sacan lecturas no sólo del contador del agua de casa, baina ez badugu, del gasto eléctrico, del gas… Betiko moduan, deseando que os vaya muy bien y tengáis muchos éxitos! Muxuak,

Izenburuko mezuak

Egilea

nheobug@bujarra.com
Autor del blog Bujarra.com Cualquier necesidad que tengas, ez zalantzarik izan nirekin harremanetan jartzeko, ahal duzun guztietan laguntzen saiatuko naiz, partekatu ahal dudan guztietan ;) . Dokumentuez gozatu!!!