Solved

Can we get access to the OVO energy online account API to download our smart meter usage data?



Show first post

142 replies

Gave up when I saw the file extension, was hoping for something written that I could run on my Pi.   I tried to decompile it using Visual Studio but didn’t get far.

Userlevel 1

Gave up when I saw the file extension, was hoping for something written that I could run on my Pi.   I tried to decompile it using Visual Studio but didn’t get far.

Looks like C++ I’m guessing it’s using a large library for the http requests and that’s taking up the size, but haven’t had too deep a look myself

Userlevel 4

Tim, I haven’t had any WinX devices for over 10 years so Poweshell is useless to me.  My Python script continues to work fine for me. Thanks.

After looking at the data I can see that my half hourly readings for gas have stopped from August 20th 2020.

I am sure that it’s NOT a fault of the utility as I see the same in the web portal.

Userlevel 7
Badge +2

There’s another very active discussion about missing data on Online Graphs which you should have a look at, @MikeWilliams .

Userlevel 7
Badge +3

Yes its c# in .net core 3. I spoke to my friend who said i can compile a linux version. So will try that soon too!

Sorry for another spamming comment but I’m keen to hear if others have checked out this work done by @Jequinlan this week? 

 

@Gary @GarethMarlow @rgphilpott @atilagiant @Deanohol @Peter_Mat @didge05 @sam_cat @jmontalvo @adec @Pramsbottom @ryck @CeeJayCee @alexbaulch @Random @maccordingley @sfgreenwood @johnk @jadam @Fordy @Steveo67 @Siggy0 @CerebralDigits @deanjames @ChrisB @jadam @DaveJenYearsley @ErTnEc @Marshcroft @jordanharper @Simonfea @obiwanzamora @AdamJ @dorinho @Ross2411 @Chrherms  @blakedrayson @TerryE @VibroAxe @jdenver @maurorappa @adec @100903609 @Riscy @r3m0dul8 @MyZoe.Uk @Ajk @AlanN51 @CloudCircus @r3m0dul8 @technogeoff @resoai @Fuzzysteve @mattc @andsee @uvarvu  @g-de 

 

 

No longer with Ovo, but as a sysadmin I wouldn't trust a compiled exe distributed via gdrive.

That in itself is very bad practice.

Source needs publishing through something like github, and you should host the exe under the releases section of some of that. 

Without it, no one can trust the security of it, especially when you have to put account information in it. 

Yes its c# in .net core 3. I spoke to my friend who said i can compile a linux version. So will try that soon too!

At work we write our code as .net core 3 assemblies, then run them with the command line

dotnet assembly.dll

As far as I know we use the same command line and the same assembly running on our windows Dev machine or in our Linux docker containers

/Mike

@Tim_OVO 

You'd be much better allowing users to pair their own CAD to the system so that they could use the local API off that, rather than it having a dependency on an internet connection (portal scraping etc).

If ovo are still fitting SMETS1 meters, something like the Hildebrand glow would work if it could be paired. https://shop.glowmarkt.com/products/glow-stick

 

Other providers such as octopus (who I moved to) allow this.

@Tim_OVO

You'd be much better allowing users to pair their own CAD to the system so that they could use the local API off that, rather than it having a dependency on an internet connection (portal scraping etc).

If ovo are still fitting SMETS1 meters, something like the Hildebrand glow would work if it could be paired. https://shop.glowmarkt.com/products/glow-stick

 

Other providers such as octopus (who I moved to) allow this.

That's fine for the more technical users, who don't mind paying for extra gadgets.

However, I am sure that there are loads more who just want to use what they already have. I.e. web connection and either Excel or any other free spread sheet software from the likes of open office or libre office etc.

/Mike

That's fair, though I'd have thought that 

"Download this exe, add credentials to config json, look at data in spreadsheet format"

Doesn't quite hit the "live usage API" goal of this topic, and would appear more complicated and daunting to a general user.

Being able to buy a third party device that just needs pairing with your account, and then browsing your usage from anywhere using the companion Bright app, while also providing a local API, would. 

Unless Ovo change the devices they use in their installations that's the only solution I can think of that would hit the target of this topic. 

1. Oops, you are 100% right that download exe etc does not fit with the post title. It's easy to loose sight of this after 8 pages of replies.

2. Yes there is a lot of faffing around to get at your data. Editing the JSON file to add your credentials does not work (yet??) so not worth doing. It is still considered less of a security risk by some.

I would have written this as an azure web app which could be called directly from the browser and generate a choice of xlsx or CSV file directly as a download. This would satisfy the non Windows users.

Userlevel 7

@Jequinlan as the creator of this latest work, can you help me judge if we need a new ‘best answer’? The current one relates to @g-de’s post...

Userlevel 7

@Tim_OVO @Transparent @TerryE @andsee @SianiAnni 

 

Here is it: The API exe I promised that takes all that HH data and nicely formats it into a consumable Sheet

 

https://drive.google.com/drive/folders/1A7XRov0579O53T8OsIGe3wXCk09jul0F?usp=sharing

 

Download all the files, and read the Readme! (oh, and Enjoy) - now I can start work on ther TOU comparison tool!! 

 

If anyone is willing to send me their export please do!  - It will help me build the tooling.

John (at) QuinlanServices (dot) Com 

 

@Jequinlan and others, should I add this comment (above) to the best answer by @g-de ? Is a combination of these two the best customer created workaround for a lack of API we currently have? Let me know please :blush:

Userlevel 1

@Tim_OVO I suspect you should probably hold off on that for now until the source code is published. As others have mentioned, it’s generally not a good idea to run DLLs found on the internet, especially when raw credentials are being used.

@Tim_OVOI suspect you should probably hold off on that for now until the source code is published. As others have mentioned, it’s generally not a good idea to run DLLs found on the internet, especially when raw credentials are being used.


Yes, you should be suspicious, at least when it’s published as Open Source it can be verified that it is not stealing your credentials whether intentionally or accidentally.

As a developer, I have access to tools which can make this as safe as possible before I try something out.

 

/Mike

Good evening , 

@Tim_OVO is this solution still available ?

I know the thread is 3 years old. I’m looking for a way to integrate reading from OVO energy on my smart automation platform. 
Please advise, I will be happy to test it. 
regards 

Userlevel 7

Hi @Pappa - yep let me share the relevant comments from members who have produced ways to do this. Also please be advised that Kaluza are going to be posting a blog update on public API access and documentation soon! I’ll update this topic when they do. 

 

@Tim_OVO @Transparent @TerryE @andsee @SianiAnni 

 

Here is it: The API exe I promised that takes all that HH data and nicely formats it into a consumable Sheet

 

https://drive.google.com/drive/folders/1A7XRov0579O53T8OsIGe3wXCk09jul0F?usp=sharing

 

Download all the files, and read the Readme! (oh, and Enjoy) - now I can start work on ther TOU comparison tool!! 

 

If anyone is willing to send me their export please do!  - It will help me build the tooling.

John (at) QuinlanServices (dot) Com 

 

 

 

can you help me understand if the links above allow users to access raw data as if from an API?

I can certainly give it a go.

 

Firstly, big thanks to Timmo and other contributors for developing the library. All thanks go to them and links to buy them a coffee for their effort can be found on PyPi or GitHub:

https://pypi.org/project/ovoenergy/
https://github.com/timmo001/ovoenergy

 

I assume the way the library was developed this was to reverse engineer the My OVO website. That is, browse the website as normal and and monitor the traffic to see what OVO URLs and APIs it uses. Assuming this is the case, one of these URLs (get account IDs) already seems to be different but the library is still working for the moment. The APIs being used are not officially supported outside of the website, so first, a warning that any changes to the My OVO website may break the library.

 

For anyone using Python, you should be able to include the ovoenergy library and look at https://github.com/timmo001/ovoenergy/blob/master/ovoenergy/cli.py for how to use it.

 

For replicating this in other languages, the process seems to be as follows:

  1. Login by sending a POST request to https://my.ovoenergy.com/api/v2/auth/login with the following JSON in the body:
    {
    "username": "...",
    "password": "...",
    "rememberMe": true
    }

    From the response, save the cookies to use in all future requests.

  2. Next, send a GET request to https://smartpaym.ovoenergy.com/api/customer-and-account-ids . Be sure to save the items in the “accountIds” property (usually only one item).
  3. Finally, make a GET request to https://smartpaym.ovoenergy.com/api/energy-usage/daily/{accountId}?date={yyyy-MM} where {accountId} is the value from the previous request and {yyyy-MM} is the month in the format 2020-08.

You can also get monthly or half-hourly usage using the following URLs similar to step 3:

As mentioned above, if this is wanted for Home Assistant, the integration was added in version 0.114 (https://www.home-assistant.io/integrations/ovo_energy/).


Unfortunately the data only goes up to the end of the previous day as OVO no longer provide real-time data:

 

 

 

Userlevel 3
Badge

Hi all,

Does this still work?  By which I mean the API and associated URLs.  I am looking into solar panels and would like to download my ½ hourly usage data without going to each day and copy and past e the table!!

 

TIA

waiwurrie

Userlevel 3
Badge

Bump @Tim_OVO 

Userlevel 7

Great question, @waiwurrie.

 

As this was a bit of a member-generated workaround I wonder if the original architects of this method might be able to give an update, @Jequinlan, @MikeWilliams?

 

I know we’ve got a couple of users here who have also made use of some third-party apps which might be able to help too - Isn’t that right, @Jeffus and @Blastoise186?

Userlevel 7
Badge +2

Great question, @waiwurrie.

 

As this was a bit of a member-generated workaround I wonder if the original architects of this method might be able to give an update, @Jequinlan@MikeWilliams?

 

I know we’ve got a couple of users here who have also made use of some third-party apps which might be able to help too - Isn’t that right, @Jeffus and @Blastoise186?

I can't comment on the ovo api as i have never used it.

There are third party providers where you can access 30 min data. 

For example https://www.hildebrand.co.uk/ have a beta website where you can download a spreadsheet of timestamped 30min watt data.

https://smarttariffsmartcomparison.org/home

 

Ignore their test comparison data

Just has two columns, one the timestamp, the other the number of watt hours

You can convert the timestamp to a date-time with the appropriate formula as below. I have used the same formula in column c and d. Then just make sure the cell is formatted correctly in the spreadsheet to show the date or time. 

You may find you need to download and register for their Bright app on your mobile phone first to get a login you can then use on their beta website if you haven't already done this. 

The same company also have an API if you would rather use that than a spreadsheet

https://docs.glowmarkt.com/GlowmarktAPIDataRetrievalDocumentationIndividualUserForBright.pdf

Userlevel 3
Badge

Hi @Blastoise186 

Thanks for that I have registered and downloaded the spreadsheet which is what I want! Except it only runs from 29th March.  I am guessing from the registration process that they are getting the ½ hourly data from the IHD/Smart Meter direct and it only stores a few days worth.  What I am looking to get access is the data from last June/July up to now which Ovo clearly have stored somewhere because the website can display it.  Is my guess correct? If so there is no point in me trying the API approach which does allow you to specify a data range.

 

Regards

Userlevel 7
Badge +2

Hi @Blastoise186 

Thanks for that I have registered and downloaded the spreadsheet which is what I want! Except it only runs from 29th March.  I am guessing from the registration process that they are getting the ½ hourly data from the IHD/Smart Meter direct and it only stores a few days worth.  What I am looking to get access is the data from last June/July up to now which Ovo clearly have stored somewhere because the website can display it.  Is my guess correct? If so there is no point in me trying the API approach which does allow you to specify a data range.

 

Regards

You could see how far the data goes back in the Bright app itself. Also if you have only just registered you might find not all the historical data has yet to be transferred to the Bright app. I would check again in a couple of days. All my data from the day the smart meter was installed is in the Bright app and the spreadsheet (June).

Alternatively drop them an email support@glowmarkt.com in a few days

Great question, @waiwurrie.

 

As this was a bit of a member-generated workaround I wonder if the original architects of this method might be able to give an update, @Jequinlan@MikeWilliams?

 

I know we’ve got a couple of users here who have also made use of some third-party apps which might be able to help too - Isn’t that right, @Jeffus and @Blastoise186?

I am a little sceptical of giving my detailed useage figures to a comparison web site (https://smarttariffsmartcomparison.org/home).

From the discussion and looking at their web site I can only assume that they call the OVO API to extract your data and store that into their database.

The other web site seems to be selling a ZigBee adapter or custom In House Display which you would have to purchase.

 

/Mike Williams

Reply