You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+54-17Lines changed: 54 additions & 17 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -3,7 +3,7 @@
3
3
# Water Monitor
4
4
5
5
[](https://my.home-assistant.io/redirect/hacs_repository/?owner=markaggar&repository=Water-Monitor&category=integration)
6
-
> You must download/copy the integration first (via HACS or manual copy) and restart Home Assistant before you can install the integration from the Settings/Devices and Services
6
+
> You must download/copy the integration first (via HACS or manual copy) and restart Home Assistant before you can install the integration from the Devices and Services page under Settings.
7
7
8
8
A Home Assistant custom integration for water usage monitoring that provides session tracking, gap handling, hot water analytics, and optional leak detection. Only a Flow sensor is required; a Volume sensor is optional. If you do supply a Volume sensor, Water Monitor will use it directly (ideal if you want volumes to align with the Energy dashboard). Supports multiple instances (works with electricity too!) and full reconfiguration of sensor names and threshold values via the UI.
9
9
@@ -26,6 +26,10 @@ A Home Assistant custom integration for water usage monitoring that provides ses
26
26
- Detects a continuous low-flow “dribble” with seed/persistence timers
27
27
- Optional tank refill leak detector
28
28
- Detects repeated, similar-sized refills clustered in time (typical symptom of a leaky toilet flapper)
29
+
- Shutoff valve support
30
+
- Optionally link a shutoff valve entity (switch, input_boolean, or valve)
31
+
- Per-detector auto-shutoff toggles: auto-shutoff can be enabled for each leak detector
32
+
- Leak sensors will not clear while the valve is off, ensuring you don't miss a leak event
29
33
- Upstream sensors health (binary sensor)
30
34
- Monitors availability/validity of the configured upstream sensors (flow, volume, and optional hot-water)
31
35
- Reconfigurable via Options
@@ -34,7 +38,23 @@ A Home Assistant custom integration for water usage monitoring that provides ses
34
38
- Multi-instance safe
35
39
- Add multiple instances with different sensors and thresholds
36
40
- Synthetic flow testing support
37
-
- Optional integration-owned number to inject synthetic GPM for testing (no need to waste actual water).
41
+
- Optional integration-owned number to inject synthetic GPM for testing (no need to waste actual water)
42
+
43
+
## Devices
44
+
Here is a list of devices that the community has tested with the integration (submit an issue to add your experience with a device)
45
+
46
+
| Device | Manufacturer | Works with Integration | Flow Sensor | Volume Sensor | Shutoff Valve | Local API | Flow/Volume Sensor Latency | Plumbing Required | Link |
| Droplet | Hydrific Water | Y (Flow) | Y | N | N | Y (MQTT) | <3s | N |[link](https://shop.hydrificwater.com/pages/buy-droplet)|
49
+
| Flowsmart All-in-one | Yolink | Y (Valve) | N | Y | Y | N | minutes | Y |[link](https://shop.yosmart.com/products/ys5008-20)|
50
+
| Titan Water Valve Actuator | Zooz | Y (Valve) | N | N | Y| Y (Zwave) | NA | N |[link](https://amzn.to/4mPD3x8)|
51
+
52
+
## DISCLAIMER ##
53
+
A water flow monitor does not replace the need for leak/moisture sensors placed in strategic locations around your home. If a leak is due to a failure of an appliance (e.g. leaky hose under the sink that only occurs when the faucet is turned on or a sudden failure of a rusty water heater, washing machine, toilet o-ring), water infiltration from outside, or a blocked sewer pipe (speaking from experience), a water flow sensor (and this integration) will not detect those events. It is best suited for wasted water scenarios (e.g. faucet left on, toilet flapper not sealing) or burst pipes (e.g. outside hoses, pipes behind walls) where you cannot practically place a leak/moisture sensor (again, experienced all of those!).
54
+
55
+
Also, having a controllable valve that enables you or this integration to remotely shut off water to the house in the event of a leak detection (from either this integration or a leak/moisture sensor) could pay for itself many times over if you ever have a leak detected but are not at home to turn the water off manually.
56
+
57
+
**Finally, your use of this integration means you agree that the author(s) of this integration bear no responsibility for leaks that are not detected or notified, due to any cause. It is important that you do your own testing, particularly ensuring that the parameters you set make sense for your situation, and that any shutoff valves work as expected**.
38
58
39
59
## Devices
40
60
Here is a list of devices that the community has tested with the integration (submit an issue to add your experience with a device)
@@ -71,7 +91,7 @@ Also, having a controllable valve that enables you or an automation to remotely
If “Create Low-flow leak sensor” is checked, you’ll be presented with a second page:
89
-
90
-
Low-flow leak (step 2)
91
111
- Max low-flow threshold (e.g., 0.5 GPM)
92
112
- Seed low-flow duration (seconds)
93
113
- Leak persistence required to trigger (seconds)
@@ -97,10 +117,10 @@ Low-flow leak (step 2)
97
117
- Smoothing window (seconds)
98
118
- Cooldown after clear (seconds)
99
119
- Clear on sustained high flow (seconds; blank to disable)
120
+
- Auto shutoff on trigger (per-detector)
100
121
122
+
### Tank refill leak
101
123
If “Create tank refill leak sensor” is checked, you’ll be presented with a third page:
102
-
103
-
Tank refill leak (step 2)
104
124
- Minimum refill volume (ignore refills smaller than this)
105
125
- Maximum refill volume (ignore refills larger than this; 0 disables the cap)
106
126
- Similarity tolerance (%) — how close in volume refills must be to count as “similar”
@@ -110,34 +130,38 @@ Tank refill leak (step 2)
110
130
- Cooldown after clear (seconds) — optional suppression period before re-triggering
111
131
- Minimum refill duration (seconds; 0 disables)
112
132
- Maximum refill duration (seconds; 0 disables)
133
+
- Auto shutoff on trigger (per-detector)
113
134
135
+
### Intelligent Leak Detection (experimental)
114
136
If “Enable Intelligent Leak Detection” is checked, you’ll be presented with another page:
115
-
116
-
Intelligent Leak Detection (experimental)
117
137
- Occupancy mode input_select (optional)
118
138
- Away states (comma-separated, optional)
119
139
- Vacation states (comma-separated, optional)
120
140
- Enable learning mode (toggle)
141
+
- Auto shutoff on trigger (per-detector)
121
142
122
143
Notes
123
-
124
144
- CSV fields accept multiple labels separated by commas, e.g. "On Vacation, Returning from Vacation".
125
145
- Learning mode is intended for future automation-assisted tuning; you can toggle it via Options or automations.
126
146
127
-
Reconfiguration
147
+
### Synthetic Flow Options
148
+
If Enable Synthetic Flow (testing) is enabled, you'll be presented with another page:
149
+
- Include synthetic flow in detectors - allow detectors to see synthetic flow
150
+
- Include synthetic flow in daily analysis - allow intelligent leak analysis to see synthetic flow
151
+
152
+
## Reconfiguration
128
153
129
154
- Open Settings → Devices & Services → Water Monitor → Configure.
130
-
- The low-flow leak sensor is optional and can be enabled/disabled at any time:
131
-
- Enabling creates the binary sensor.
132
-
- Disabling removes the binary sensor on reload.
155
+
- The leak sensors are optional and can be enabled/disabled at any time from the main setup page.
156
+
- The shutoff valve and auto-shutoff toggles can be changed at any time via Options
133
157
134
-
Units
158
+
## Units
135
159
136
160
- If a Volume sensor is configured, its unit determines display (gallons/liters) and ensures alignment with the Energy dashboard.
137
161
- If no Volume sensor is configured, Water Monitor computes volume by integrating the Flow sensor (default method: Trapezoidal; alternative: Left to match external counters). Units are inferred from the Flow sensor (e.g., GPM → gal, L/min → L).
138
162
- Flow sensor units are reflected in the low-flow leak sensor attributes and used for last-session average flow when possible.
139
163
- Average flow sensor displays as <volume_unit>/min derived from the volume unit.
140
-
164
+
141
165
## Sensors created
142
166
143
167
- Last session volume (sensor)
@@ -276,7 +300,20 @@ Notes
276
300
- Clearing: when no similar refills occur for the configured idle period; optional cooldown prevents immediate re-triggering.
277
301
- Guards: refills below Minimum/shorter than Min duration or above Maximum/longer than Max duration (if set) are ignored to avoid false positives from noise or large draws unrelated to tank refills.
278
302
279
-
Tuning tips
303
+
### Shutoff Valve and Auto-Shutoff Details
304
+
305
+
- The shutoff valve can be any Home Assistant entity that supports on/off (switch, input_boolean, or valve)
306
+
- Each leak detector (low-flow, tank refill) can have auto-shutoff enabled or disabled independently
307
+
- When a leak is detected and auto-shutoff is enabled, the valve is turned off automatically
308
+
- While the valve is off, leak sensors will not clear, ensuring you don't miss a leak event
309
+
- Synthetic flow is automatically zeroed when the valve is off
310
+
- The Upstream Health sensor will show the valve as unavailable if it cannot be reached
311
+
- Leak sensor attributes:
312
+
-**auto_shutoff_on_trigger**: True if auto-shutoff is enabled for this detector
313
+
-**auto_shutoff_effective**: True if auto-shutoff is enabled and a valid valve is configured and available
314
+
-**valve_off**: True if the valve is currently off
315
+
316
+
### Tuning tips
280
317
281
318
- Minimum refill volume: set just below your typical toilet refill to ignore tiny noise.
282
319
- Maximum refill volume: set just above a toilet refill to ignore showers/sprinklers; set 0 to disable the cap.
0 commit comments