Inductive water meter

Here’s where I ended up… I hope this helps others.

I have a sensor that detects the rate of water flow (out of a pump for my pool) in gallons per minute. Here’s what its past 24 hours looked like changing rates throughout the day:

image

I then needed to create an “integration sensor” to sum up the integral (the area under the GPM line) which will give me the quantity of gallons pumped:

- platform: integration
  name: pool_cycle_flow_integral
  source: sensor.pool_pump_flow_rate
  unit_time: min
  unit: "Gallons"
  round: 0

image

That number seemingly never resets (maybe on restarts?), so i needed a sensor that summed up the difference from midnight to now. Possibly could have done this with a combination of Statistics sensors and template sensors … but the Utility Meter did exactly what i needed:

pool_cycle_gallons_today:
  source: sensor.pool_cycle_flow_integral
  cycle: daily

The last thing I added was a “turn overs today” sensor which is just a simple template sensor with some algebra, but it’s based on top of all of these other sensors… so i thought i’d include it here:

- platform: template
  sensors:
    pool_cycle_turnovers:
      value_template: "{{ ((states.sensor.pool_cycle_gallons_today.state)|int / 13000)|int }}"

image