Per station irrigation tracking

I’ve just started a new project. I have OpenSprinkler (integrated with HA) and I’ve go new water meters installed with which I’m measuring consumption both internal to the house and outside. I also have automated shut-off for the house and a soft-close solenoid master valve for outside. All that is installed and integrated with HA, working great (I made a small modification to the Brultech integration that I haven’t submitted a PR for yet, but that’s all I needed to do).

What I want to do next is to track the per-station water use for irrigation. I’ve found this helpful in the past to notify me of leaks or - in the case of drip - crimped lines. These use more or less than expected, respectively. I’d love to know if anyone has come up with a clever way to do this. The only way I’ve found is to create template sensors and sample the overall water usage when a zone comes on, then calculate the usage when it triggers off. This results in lots of intermediate state sensors, but seems to work in limited testing (we’re closed down for winter on most of the irrigation so limited testing yet).

If there’s a more elegant approach to this I’d love to hear suggestions. I also wonder if there is any kind of a tabular display for dashboards? I’d like to display my irrigation status with a row for each zone that has columns for last run, last run duration, last water usage and a chip/indicator/icon for current status. I can use entity cards but with 20 zones this would be more compact.

Finally, I’d like to have and average of the last N runs for each station and then compare that to each run to automatically alert if I’, too far away from expected value. I think I can do this with history_stats. Does that sound like the right approach?

Appreciate suggestions, looking forward to adding this to my overall home monitoring which has gotten quite good with HA.