-
Notifications
You must be signed in to change notification settings - Fork 16
Monitor water consumption and more with Home Assistant
-
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
-
![58244093 96ad9e00 7d5a 11e9 81cf da9e28fecc29](https://user-images.githubusercontent.com/13034429/58244093-96ad9e00-7d5a-11e9-81cf-da9e28fecc29.png)
-
HA
-
Appdaemon
-
EV Pulse water meter for example water meter with pulse I’m using Arad with EV
![58243664 bdb7a000 7d59 11e9 8d49 a9e39e34679e](https://user-images.githubusercontent.com/13034429/58243664-bdb7a000-7d59-11e9-8d49-a9e39e34679e.png)
-
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.
![58244093 96ad9e00 7d5a 11e9 81cf da9e28fecc29](https://user-images.githubusercontent.com/13034429/58244093-96ad9e00-7d5a-11e9-81cf-da9e28fecc29.png)
![58245912 88618100 7d5e 11e9 8363 f8a2de2de29e](https://user-images.githubusercontent.com/13034429/58245912-88618100-7d5e-11e9-8363-f8a2de2de29e.png)
![58245995 b2b33e80 7d5e 11e9 99e5 d8b5a5d7ed17](https://user-images.githubusercontent.com/13034429/58245995-b2b33e80-7d5e-11e9-99e5-d8b5a5d7ed17.png)
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
![58246232 32410d80 7d5f 11e9 8c58 a4d7a94e4b8f](https://user-images.githubusercontent.com/13034429/58246232-32410d80-7d5f-11e9-8c58-a4d7a94e4b8f.png)
This is simple query
![58246279 4e44af00 7d5f 11e9 9036 6a04f48c981a](https://user-images.githubusercontent.com/13034429/58246279-4e44af00-7d5f-11e9-9036-6a04f48c981a.png)
Identity a lonely single pulses of water (not litter) while you are not at home. This is a signal of a small leakage
![58246379 95cb3b00 7d5f 11e9 9aab d5bc0d32ac14](https://user-images.githubusercontent.com/13034429/58246379-95cb3b00-7d5f-11e9-9aab-d5bc0d32ac14.png)
The query is the same as above but on the leakage variable
![58246443 c27f5280 7d5f 11e9 9035 6b2995c30c77](https://user-images.githubusercontent.com/13034429/58246443-c27f5280-7d5f-11e9-9035-6b2995c30c77.png)
It is calculated using AppDaemon app