Yarra Valley Water — hourly meter readings on the Water dashboard

If you are a Yarra Valley Water customer in Melbourne with one of their digital meters, this pulls your hourly readings into Home Assistant and writes them into long-term statistics, so they appear on the Water dashboard alongside everything else — including the hours recorded before Home Assistant ever asked for them.

Repo: GitHub - gheydon/ha-yvw: Home Assistant integration for Yarra Valley Water digital meters, with historical import into the Water dashboard · GitHub

You need a digital meter. If the Usage page of MyAccount shows you an hourly chart, you have one. If it shows quarterly billing figures only, this has nothing to read yet.

What you get

The main thing is a water consumption statistic you add as a source under Settings → Dashboards → Energy → Water. Setting it up backfills the last 30 days, which is as far back as the portal serves, and it accumulates from there.

There are also four sensors for glancing at: litres in the most recent hour, litres across the last complete day, when the meter last reported, and whether the sign-in still works.

Readings arrive about a day late. That is the portal, not the integration — so scroll back a day on the dashboard when you first set it up.

Signing in

There is no API and no OAuth, so it signs in the way you do: email, password, and the code they text you.

Your password is never stored. It is sent once to the portal’s own sign-in and discarded when that request returns — not written to the config entry, not kept in memory. Same with the SMS code. What is kept is the session that sign-in produced, and from then on that session is the only thing used to talk to them.

It cannot sign itself back in, by design and by necessity: they issue a fresh code on every sign-in, so a stored password would buy nothing. Instead the session is kept warm by touching the portal every hour, and if it lapses anyway you get a repair notification and a re-auth prompt.

If you are away and it lapses, nothing is lost as long as you sign in again within a month — the next poll backfills the gap. A fortnight away costs one sign-in and nothing else.

The part I had fun with

Nobody documents when a day’s readings actually get published, and it clearly differs between meters. Rather than polling blindly, it looks every ten minutes from early morning until yesterday’s readings turn up, then stops until tomorrow. Ordinarily that is one or two requests a day.

The start time then steers itself. If the readings were already waiting on the very first attempt, it starts half an hour earlier tomorrow; if finding them took over an hour of empty requests, half an hour later. Over a few mornings it walks to just before publication and settles.

That last part matters more than it sounds. Digital meters are still being rolled out across the network, and the more there are to process each night, the later a given meter’s readings are likely to land. An hour I pick today is the wrong hour eventually, so it follows the drift instead.

Installing

HACS → three-dot menu → Custom repositories → add https://github.com/gheydon/ha-yvw as an Integration, install, restart, then add it from Settings → Devices & services.

Known limits

  • 30 days of history is all the portal serves. No further back exists to fetch.
  • Hours the meter did not report are skipped rather than stored as zero — the portal pads its response with zero-litre rows, and recording those would invent readings you did not use.
  • Multiple properties on one login is the untested case. The code reads every property it finds and asks which to follow, but I only have a single-property login to test against.

What would help

It works well on my meter. The trouble is that it has only ever seen one account, and every assumption in it was worked out from that one.

So if you try it, I would genuinely like to hear how it goes — especially:

  • when your meter publishes each morning, once it has settled
  • whether a multi-property login lists properly
  • anything that broke

Good and bad both welcome. Issues on the repo, or reply here.


This is an independent project by a customer. It is not made by, associated with, endorsed by or supported by Yarra Valley Water — please don’t contact them about it, their support staff didn’t write it and can’t help with it. Anything to do with the integration belongs on the repo.

2 Likes

Thanks for putting this together.

I installed it a few days ago. I didnt have two addresses but as the place was a knock down rebuild we had two water accounts for the same address on the one log in account. (I hope that makes sense)

The old house showed as deactivated or disconnected and the other account was active which is working well.

I wasnt expecting the energy graph to go back beyond the day i installed it, so that was a nice surprise.

1 Like

This for the info, I am glad you are using it and I hope that YVW will make changes and add a real API which would make this work a lot nicer.

If you dont mind what time do the reading turn you for you Mine are arriving at 2:30 every morning which is cool

Looking from 05:00, learned from recent mornings.

Got that message from the configure page on the integration. It says start from 4 am so its obviously learning when its getting the update.

Agree with you on the api. I would love to see this update during the current day. Even if its 12pm to get half a days data. Obviously battery drain and data charges might be an issue at scale.

I remember when these started to be rolled out and i asked the question in this post

https://community.home-assistant.io/t/water-meter-sensor-australia-victoria/543528/74?u=ezekiel

To see if someone knew how to sniff or put a device to read it.

No one directly replied so the work you did to get it from the account page is great

sniffing it or having direct access to the data would be great, but I do not think that this will ever be possible. And also I am not sure that the edge ai device will work now either. since the display only activates when you press the button.

If there was a serial port or something would also be great but I do not think there is anything like this as well.

No i would say this is the best we will get untill they release an api or the government mandates these with similar requirements the eletrical smart meters have. Which i doubt eill ever happen.

Thanks for this, I didn’t expect an integration to be available at all so this was a pleasant surprise! I’ll install now :slight_smile:

Edited to add:
Setup was seamless. I have two accounts (one “inactive” account from our previous address plus our current home), and the process of selecting the right account was easy.

I have an authenticator app set up on my YVW account, so I don’t get SMS confirmation codes - entering the TOTP from my authenticator app during the login flow worked fine though. You might consider updating the wording to note that the code needed is either an SMS or TOTP, whatever is normally used to log in to YVW, as it currently reads as if it must be an SMS.