Solved

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



Show first post

227 replies

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
Badge

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 1

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 1

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 +1

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 1

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 +1

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

Userlevel 7
Badge +1

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

They are not part of ovo and don't use any of the ovo api or software or data. 

They are a SECAS (Smart Energy Code Administrator) approved DCC Other User. 

https://smartenergycodecompany.co.uk/your-security-and-privacy-obligations/

Only authorised organisations have been given secure access to the smart meter data. They are grabbing the same data as ovo. 

They have their own secure database and are ISO 27001 Certified.

They also have their own IHD CAD. If you buy this you can get real time data (circa every 8 seconds) rather than 30mins. This is commonly used in energy automation, both domestic and businesses.

You don't have to purchase the IHD CAD if you only want 30 min data.

OVO and other suppliers are DCC Users

https://smartenergycodecompany.co.uk/becoming-a-dcc-user/

Userlevel 7
Badge +3

It’s probably also worth noting that the fact you can use the OVO API at all is really just a coincidence related to how OVO’s billing platform is designed, because the API isn’t actually intended for use by anyone other than OVO.

The primary function is to allow the front end web app and mobile apps to communicate with the back end billing platform. There is no official support for anything else to use the OVO API and OVO won’t be able to help you out with it. It’s possible that might happen eventually, but that’s some way off yet.

Intersting points to me (especially as a software developer)

They are not part of ovo

I never (intentionally) implied they were.

They are a SECAS (Smart Energy Code Administrator) approved DCC Other User. 

https://smartenergycodecompany.co.uk/your-security-and-privacy-obligations/

Only authorised organisations have been given secure access to the smart meter data. They are grabbing the same data as ovo. 

This implies that OVO do not store any data for my meter readings. If I were writing a billing system I would not want to rely on externally stored data.

They have their own secure database and are ISO 27001 Certified.

I would expect that part of the approval process for SECAS is that if you store data extracted it must be secured stored.

Userlevel 7
Badge +3

Actually, OVO is a DCC Supplier User, so doesn’t need DCC Other User. It’s everyone else who isn’t DCC, a Distribution Network or a Supplier who needs to apply for the Other User role.

OVO’s billing platform does also store all collected usage data, billing data and meter readings that are retrieved from smart meters. A backup copy is also kept on the meters themselves with enough capacity for at least 13 months worth of data in the event it needs to be re-downloaded. The new billing platform OVO now uses is also custom built in-house by their sister company Kaluza. The old legacy one is third-party, but will be terminated once the migration process for all OVO and Boost members is completed.

The rules are more or less the same regardless of user role and OVO has indeed got measures in place to secure the data. If you think you’ve found a security hole though, please check out https://www.ovoenergy.com/security as OVO will definitely want to know about it.

Userlevel 7
Badge +1

I think what we are seeing with things like the Bright app and associated IHD CAD and API are only going to dramatically increase over the next few years and become more user friendly and mainstream. 

For example we also have Chameleon working with Samsung Smartthings and Uswitch and smart meter data

Loop working with solar installers and comparison tariff data and smart meter data

Ovo Kaluza and Octopus Kraken and similar technologies which which may evolve separately or we may end up with a single platform or at least standard. 

The IoT and time of use tariffs will quickly expand to support demand management over the next few years, along with heat pumps, solar panels, batteries, EVs and better home installation and draft proofing. 

Exciting times for many who can afford any upfront transition costs or get involved in pilots as early adopters. It may be a bumpy transition, but it is inevitable. 

Given that data is stored centraly as well as on OVO servers I would like to see a public API which I could download all readings that my smart meter has sent to the central server so that when I change energy supplier I can still access data my meter supplied while with my previous supplier(s)

Userlevel 7
Badge +3

A Public API would be pretty neat and I think it’s something OVO and Kaluza are willing to consider as a future feature. It’s definitely a valid feature idea, that’s for sure.

In the meantime, if you’d like to grab ALL of your smart meter data at once, the recommended route would be to have a chat with the Support Team and request a data export from OVO directly. This can take a while to crunch, but there’s no cost for this service and you’ll receive the data in a machine and human readable format.

Userlevel 7
Badge +1

The ability to download old data is certainly becoming more common. I can still logon to Scottishpower who i was with prior to ovo and download all my usage data from when i was with them. Data export is to a spreadsheet all the way back to 2019. I didn't have a smart meter then so the data is limited but interesting for comparison. This is obviously data going back further than i can get from the likes of the Bright app which is limited to smart meter data. Does beg the question how long suppliers are allowed to store my old data before they have to delete it. 

Userlevel 7
Badge +1

A Public API would be pretty neat and I think it’s something OVO and Kaluza are willing to consider as a future feature. It’s definitely a valid feature idea, that’s for sure.

In the meantime, if you’d like to grab ALL of your smart meter data at once, the recommended route would be to have a chat with the Support Team and request a data export from OVO directly. This can take a while to crunch, but there’s no cost for this service and you’ll receive the data in a machine and human readable format.

Useful to know. 

So if you had a smart meter before OVO, can OVO give you this prior smart meter data as well?

Is there time limit in terms of how far OVO  can go back prior to being an OVO customer? 

Userlevel 7
Badge +3

Smart Meters of both S1 and S2 are capable of storing at least 13 months worth of billing data, but this doesn’t always include usage data for that entire period, because that takes up a lot more space. If you’ve been with OVO right from when the meter was first installed, then I think OVO can just grab all your data from the archives of the billing platform which is the easy option, although it is possible for them to re-download all the data from the meter again if needed.

If you’ve transferred in from another supplier… Might be a different story. In theory, it’d be a similar case of downloading from the meter, but I’d have to ask @Jess_OVO about that.

Userlevel 7
Badge +1

Smart Meters of both S1 and S2 are capable of storing at least 13 months worth of billing data, but this doesn’t always include usage data for that entire period, because that takes up a lot more space. If you’ve been with OVO right from when the meter was first installed, then I think OVO can just grab all your data from the archives of the billing platform which is the easy option, although it is possible for them to re-download all the data from the meter again if needed.

If you’ve transferred in from another supplier… Might be a different story. In theory, it’d be a similar case of downloading from the meter, but I’d have to ask @Jess_OVO about that.

I wonder if the DCC stores anonymous data for longer than 13 months somewhere away from the meters. Certainly be useful for analysis of trends even if customers can't get access to it. 

Userlevel 7
Badge +3

Not that I know of beyond the usual logs, configurations and the like. The Network Data Dashboard and Network Performance Dashboard suggests that some data is stored, but most of it seems to be more general stuff like how the network is performing as a whole. I don’t think DCC stores meter readings or usage data.

And technically speaking, DCC can’t even touch that data anyway. They’ve deliberately revoked their ability to do that as part of the security model. The whole system is really cleverly designed so that even if you did compromise DCC, you can’t just take control of literally every smart meter ever and disconnect everyone. DCC has considered that possibility and the fact they can’t control such functionality means it wouldn’t work anyway. :)

To pull off a stunt like that, you’d literally have to compromise the entire infrastructure right the way down to each individual smart meter. Good luck with that!

Userlevel 7
Badge +1

Not that I know of beyond the usual logs, configurations and the like. The Network Data Dashboard and Network Performance Dashboard suggests that some data is stored, but most of it seems to be more general stuff like how the network is performing as a whole. I don’t think DCC stores meter readings or usage data.

And technically speaking, DCC can’t even touch that data anyway. They’ve deliberately revoked their ability to do that as part of the security model. The whole system is really cleverly designed so that even if you did compromise DCC, you can’t just take control of literally every smart meter ever and disconnect everyone. DCC has considered that possibility and the fact they can’t control such functionality means it wouldn’t work anyway. :)

To pull off a stunt like that, you’d literally have to compromise the entire infrastructure right the way down to each individual smart meter. Good luck with that!

Makes sense. 

This is a good description of how anonymous data is being captured and used by Western Power. 

https://www.westernpower.co.uk/smarter-networks/smart-meter-data

Userlevel 7
Badge +1

A Public API would be pretty neat and I think it’s something OVO and Kaluza are willing to consider as a future feature. It’s definitely a valid feature idea, that’s for sure.

In the meantime, if you’d like to grab ALL of your smart meter data at once, the recommended route would be to have a chat with the Support Team and request a data export from OVO directly. This can take a while to crunch, but there’s no cost for this service and you’ll receive the data in a machine and human readable format.

For what it’s worth, they had access to (only) the last 6 months of data, nothing older than that when I asked the support team for this before “moving out”, a year ago.

Related points - as a DCC Supplier User, Ovo have actual meter readings and store them, both new (Orion) and old (Apollo) systems, going back to my smart meter installation, over 2 years ago. But they might not appreciate the use of GDPR SAR as a way to get that info (I made my SAR for other reasons).

Meter readings are needed for billing, of course. As  far as I can tell, DCC Other Users only get consumption data (the 30 min Wh values), because they don’t need to bill for consumption.

When I registered my Bright app, over the next few hours it downloaded precisely the last 13 months of data (to within a few minutes, presumably because that’s what was still in the meters at the time it got to the oldest data), and those data are still available in my app, which by now has  just over 2 years of smart meter data.

Reply