How to use Utitlity Meter integration to convert WaterFlow (liters / minute) to Quantities per day, week, month

I am trying to use the Utility meter to convert a waterflow sensor (liters per minute) to hourly, daily, weekly quantities. Who has experience with this?

To summarize:
I want the value of a waterflow sensor to be added (increasing) EVERY MINUTE to hourly, daily, weelky Utility Meters regardless of the state of the waterflow.

My approach so far:
From my boiler device EMS Gateway E32 I get a WaterFlow sensor (liters per minute). When the water tap is off, the state of Waterflow sensor is 0, when it is on, it has a numeric value, e.g. 3.9 liters per minute. I want to know the boiler water quantity but my boiler does not provide this waterquantity sensor.

I am trying to use the Utility Meter integration to create hourly, daily, weekly boiler water volumes.

My Utility Meter configuration so far:

  • is to create a Utility meter with a 1 minute cron on the waterflow sensor, so that is gives me a (aproximately) value every minute of the water usage form the water flow (since the quantity per minute is equal to the flow per minute). I call this utility meter sensor water_per_minute.
  • In my approach I am assuming this first utility meter should change every minute to 0 and back to a value of the waterflow.sensor again. This should trigger subsequent utility meters to add the value.
  • then a Utility meter with a hourly cycle on the first utility meter sensor water_per_minute should add the new minute value to the hourly utility meter (until its reset to 0 after 1 hour)
  • the daily, weekly etc utility meter should work as the hourly with its on subsequent cycles

But somehow this approach does not work because the first 1 minute utility meter does not always reflects the value of the waterflow on every new minute after the “first minute” the waterflow flips from 0 (off) to a value. At least: I can see that after 1 minute of waterflow the 1-minute utility meter resets to 0 and then picksup the current state of the waterflow again. But not always, sometimes the 1-minute utility meter stays 0 when its source sensor (waterflow) still has a (same) value.

I think the problem is that the utility meter per minute does not actualy change when the waterflow sensors state is stable for more than 1 minute, e.g. for 3 subsequent minutes the waterflow sensor (and hence the 1 minute utility meter) has the same value

 utility_meter:
   tap_water_per_minute:
      name: "tap water deze minuut"
      source: sensor.boiler_dhw_current_tap_water_flow
      cron: "0/1 * * * *"
    tap_water_this_hour:
      name: "tap water dit uur"
      source: sensor.tap_water_per_minute
      cycle: hourly

To summarize: I want the value of the waterflow sensor to be added (increasing) to the hourly, daily, weelky Utility Meters every minute regardless of the state of the waterflow.

What am I doing wrong?

I’m not sure to get everything right here.
But if you have a value fluctuating from 0 to something and back, you probably have to use a Riemann helper first, to have something always increasing.

Then this “something” can be used in the utility_meter integration

2 Likes

Olivier is right. You can’t use a rate with a utility meter. Just make one sensor that’s e.g. a total or always increasing (i.e. consumption and not a rate) then you can use this one sensor in all your utility meters.

1 Like

@loovanloon did you find a way?

I acquired the EMS Gateway lately and have been experimenting with it, and I found myself wondering the same thing about how to handle the conversion.