Monitor water consumption and more with Home Assistant - hhaim/hass GitHub Wiki
-
Monitor total water consumption per day/week/month
-
Realtime Notification in case of usage irregularity like
-
Small leakage – e.g. 1 litter/hour
-
Big leakage – e.g. you child forgot the water opened
-

-
HA
-
Appdaemon
-
EV Pulse water meter for example water meter with pulse I’m using Arad with EV

-
Wemo D1 mini with Tasmota firmware
Copy this project <config directory>/custom_components/
folder to your <config directory>
directory
make sure you are in sync with the the right version of hass (see above)
after you copy the data you should reboot/restart HA
Add this to your configuration file.
sensor:
- platform: tasmota
name: water_total
stopic: water_out
id: 1
unit_of_measurement: 'l'
icon: mdi:water-pump
expire_after: 300
value_template: "{{ (45497 + (value))|int }}"
- platform: tasmota
name: water_total_norm
stopic: water_out
id: 1
unit_of_measurement: 'l'
icon: mdi:water-pump
expire_after: 300
value_template: "{{ (37950 + (value/1.21))|int }}"
This will create two sensors, one counting native pulses and one with normalization to litter. My meter should give one pulse to each litter, but due to denounce (hardware) issues I found that there are 20% more pulses that it should be. So I defined two sensors. It would be important for the Appdaemon apps stage.
This app is responsible to notify of a real-time irregularity events. The app should get event from another app when there is somebody at home. Using this information the watermarks could be more sensitive to leakage when nobody at home.
This is an example for 2 taps
water_monitor:
module: heat_app
class: CWaterMonitor
sensor_water_total: sensor.water_total # input: sensor of water in pulses (not litter)
sensor_water_leak_detector: variable.water_leak_detector # output: filter one pulse
sensor_water_bursts: variable.water_bursts # output: filter burst in litters
watchdog_duration_min: 50 # input: high watermark in minutes to open a tap
watchdog_leakage_ticks: 3 # input: how many pulses is a leakage?
max_day: 2000 # input: max consumption a day
max_burst_l0: 400 # input: max burst in litters
max_burst_l1: 600 # input: max burst in litters when garden taps are open
taps_switchs: [ switch.wbi_p1, switch.wbi_p2] # when one of them is enabled move to burstl1
First, you should add influxDb and install Grafana. There are some good tutorials how to do that.



This will shows how much water was consumed in one single burst without closing the water. remember that the Wemo D1 has resolution of 60sec so we can know that there is no water flowing only after 60sec and minimum water pulse it 1 pulse in 60sec.
This is good to identify the guys that like very long shower. The AppDaemon is updating a variable that now you can use

This is simple query

Identity a lonely single pulses of water (not litter) while you are not at home. This is a signal of a small leakage

The query is the same as above but on the leakage variable

It is calculated using AppDaemon app