Skip to main content
Solved

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

  • March 9, 2017
  • 214 replies
  • 35552 views

Show first post

214 replies

MikeWilliams
Newcomer
Forum|alt.badge.img
  • Newcomer
  • December 22, 2025

@X10 - Please refer to table MeterReadings in the SQLIte database
Column Type will tell you if the reading is an estimate.
 

Full reply stuck in moderation queue.

/Mike


Firedog
Super User
Forum|alt.badge.img+7
  • Super User
  • December 22, 2025

… does anyone know if there is any way to tell if the data being retrieved is estimate or actual readings? … I just wondered if there is some easy way to tell which are estimates and which are actual.
 

The data retrieved by Mike’s tool are taken from your OVO account. If half-hourly quantities are retrieved, they must have been taken by OVO from your meter at some stage. I’m fairly sure that the system doesn’t generate estimates of half-hourly usage - they wouldn’t be of much use for anything.

It’s possible that meter register readings (the midnight snapshot stored in the meter and saved for a month) weren’t being reliably retrieved, so estimates were used instead both for billing and to generate daily and monthly usage figures. Readings will normally be labelled to indicate their provenance.


MikeWilliams
Newcomer
Forum|alt.badge.img
  • Newcomer
  • December 22, 2025

@X10 ​@Firedog

"Readings will normally be labelled to indicate their provenance."

That's exactly what you see in the table "MeterReadings" type column gives you.


Firedog
Super User
Forum|alt.badge.img+7
  • Super User
  • December 22, 2025

@X10 ​@Firedog

"Readings will normally be labelled to indicate their provenance."

That's exactly what you see in the table "MeterReadings" type column gives you.
 

Yes but … I can see that my own current reading history is a bit hit-and-miss for the SMETS1 era, in my case 2017-2023 (X10 is still on SMETS1). This was also a period when OVO were onboarding a completely new billing system, Orion, to replace the unreliable Apollo. Migration from one to the other didn’t go smoothly for everybody. Luckily, I have my own records going back several years.

Whilst you’re around, Mike, I’d better report that my MeterReadings tables aren’t populating. The readings are all there in the dump, but there’s no chronology to them. I wonder if that’s upsetting your code that puts JSON into DB. 

This isn’t bothering me, but if it’s affecting others , bafflement might ensue …

 


MikeWilliams
Newcomer
Forum|alt.badge.img
  • Newcomer
  • December 22, 2025

@Firedog

My meters are both SMETS1.

I have left OVO, gone to Octopus for their EV tariff.

If you can PM me the JSON file dump from my app and the JSON file from same source you gave me last time I will try to see if I can find out what the difference is. I request less data in the GraphQL query, than the OVO website does so that I only fetch what is needed.

 

The major issue is that I will NOT be able to test any changes.

 

/Mike


Firedog
Super User
Forum|alt.badge.img+7
  • Super User
  • December 22, 2025

If you can PM me the JSON file dump from my app and the JSON file from same source you gave me last time I will try to see if I can find out what the difference is.
  

@MikeWilliams Let’s see how this goes. We’ve not got anything better to do these days, have we!


MikeWilliams
Newcomer
Forum|alt.badge.img
  • Newcomer
  • December 22, 2025

@Firedog I have got the files downloaded, you can delete your post now


MikeWilliams
Newcomer
Forum|alt.badge.img
  • Newcomer
  • December 23, 2025

Thanks ​@Firedog - I have fixed the program using your data set.

It was a SNAFU where I added code to handle my account, which had an end date set.

V1.0.9 is available for download at https://github.com/MikeWilliams-UK/My-Ovo-Data/releases


MikeWilliams
Newcomer
Forum|alt.badge.img
  • Newcomer
  • December 23, 2025

Hi Everyone

I have just released a new version of my program to

https://github.com/MikeWilliams-UK/My-Ovo-Data/releases/latest

This version has corrected a minor issue when obtaining YOUR meter readings


  • Newcomer
  • December 23, 2025

@X10 - If you have used my program and look into the data in the SQLite database using a program such as SQLite Studio (which is free https://sqlitestudio.pl/) you will be able to see in the table MeterReadings when the column Type has a value of “ESTIMATE”

/Mike

 

So for the MeterReadings Table, it only shows my daily reads that were ACTUAL, all the days, that presumeably my meter wasn’t sending data, are just not there, they don’t say ESTIMATE.

Under HalfHourlyElectricity, there is no type column, but it only shows data for the days that a read was taken, so the same data missing for the days that are not included in the main MeterReadings.

Is that expected output, or am I missing a filter somewhere? 

 

 

Also, what’s the difference between the “Get Usage” and “Get Readings” buttons, I couldn’t see any obvious difference when exporting data to xlsx.

 

Thank you!


MikeWilliams
Newcomer
Forum|alt.badge.img
  • Newcomer
  • December 23, 2025

@X10 - If you have used my program and look into the data in the SQLite database using a program such as SQLite Studio (which is free https://sqlitestudio.pl/) you will be able to see in the table MeterReadings when the column Type has a value of “ESTIMATE”

/Mike

 

So for the MeterReadings Table, it only shows my daily reads that were ACTUAL, all the days, that presumeably my meter wasn’t sending data, are just not there, they don’t say ESTIMATE.

Under HalfHourlyElectricity, there is no type column, but it only shows data for the days that a read was taken, so the same data missing for the days that are not included in the main MeterReadings.

Is that expected output, or am I missing a filter somewhere? 

Also, what’s the difference between the “Get Usage” and “Get Readings” buttons, I couldn’t see any obvious difference when exporting data to xlsx.

 

Thank you!

 

Hi ​@X10

  • “Get Usage” button updates the tables “MonthlyElecric/Gas”, “DailyElecric/Gas”, “HalfHourlyElecric/Gas” which are your consumption in kWh per period.
    You should select the most appropriate range to get the usage figures for.  The first time that you use the application on an account it is recommended to select "All Time" then click on the "Get Usage"
  • “Get Readings” button fetches the last 400 meter readings in units.

Firedog
Super User
Forum|alt.badge.img+7
  • Super User
  • December 30, 2025

I have just released a new version of my program to

https://github.com/MikeWilliams-UK/My-Ovo-Data/releases/latest
  

Thanks again, ​@MikeWilliams, and sorry to have been so long getting back to you. Odd things have been happening the past few days …

The program now seems to be working completely as intended, so we can leave you in peace until OVO decide to mess things up again.

Happy New Year 🍾


  • Newcomer
  • January 5, 2026

@X10 - If you have used my program and look into the data in the SQLite database using a program such as SQLite Studio (which is free https://sqlitestudio.pl/) you will be able to see in the table MeterReadings when the column Type has a value of “ESTIMATE”

/Mike

 

So for the MeterReadings Table, it only shows my daily reads that were ACTUAL, all the days, that presumeably my meter wasn’t sending data, are just not there, they don’t say ESTIMATE.

Under HalfHourlyElectricity, there is no type column, but it only shows data for the days that a read was taken, so the same data missing for the days that are not included in the main MeterReadings.

Is that expected output, or am I missing a filter somewhere? 

Also, what’s the difference between the “Get Usage” and “Get Readings” buttons, I couldn’t see any obvious difference when exporting data to xlsx.

 

Thank you!

 

Hi ​@X10

  • “Get Usage” button updates the tables “MonthlyElecric/Gas”, “DailyElecric/Gas”, “HalfHourlyElecric/Gas” which are your consumption in kWh per period.
    You should select the most appropriate range to get the usage figures for.  The first time that you use the application on an account it is recommended to select "All Time" then click on the "Get Usage"
  • “Get Readings” button fetches the last 400 meter readings in units.

Thank you ​@MikeWilliams 

 

Does anyone else know if getting only the actual readings is the expected behaviour, I don’t have any readings for any other days, so lots of data missing. I would have thought the estimated reads would also show up on there.


Firedog
Super User
Forum|alt.badge.img+7
  • Super User
  • January 5, 2026

  

Does anyone else know if getting only the actual readings is the expected behaviour, … I would have thought the estimated reads would also show up …
  

Estimated readings are used by the billing people in order to make it possible to calculate bills etc. when no actual readings are available. What Mike’s utility retrieves is the same data as the billing people get. 

You may find that utilities that get usage data from the meter itself produce more results than OVO can. I use both Bright and n3rgy, but only OVO can retrieve meter readings.


Feedback