Skip to content

Instantly share code, notes, and snippets.

@sfirke
Created December 30, 2020 15:37
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save sfirke/47393f597353ebd52cf767c2f02c213b to your computer and use it in GitHub Desktop.
Save sfirke/47393f597353ebd52cf767c2f02c213b to your computer and use it in GitHub Desktop.
Retrieving SolarEdge solar panel generation data from the API using Python
import pandas as pd
import solaredge
import time
s = solaredge.Solaredge("YOUR-API-KEY")
site_id = YOUR-SITE-ID
# Edit this date range as you see fit
# If querying at the maximum resolution of 15 minute intervals, the API is limited to queries of a month at a time
# This script queries one day at a time, with a one-second pause per day that is polite but probably not necessary
day_list = pd.date_range(start="2019-12-01",end="2020-12-01")
day_list = day_list.strftime('%Y-%m-%d')
energy_df_list = []
for day in day_list:
temp = s.get_energy_details(site_id,day+' 00:00:00',day + ' 23:59:59',time_unit='QUARTER_OF_AN_HOUR')
temp_df = pd.DataFrame(temp['energyDetails']['meters'][0]['values'])
energy_df_list.append(temp_df)
time.sleep(1)
power_df_list = []
for day in day_list:
temp = s.get_power_details(site_id,day+' 00:00:00',day + ' 23:59:59')
temp_df = pd.DataFrame(temp['powerDetails']['meters'][0]['values'])
power_df_list.append(temp_df)
time.sleep(1)
energy_df = pd.concat(energy_df_list)
energy_df.columns = ['date','energy']
power_df = pd.concat(power_df_list)
power_df.columns = ['date','power']
merged = pd.merge(energy_df,power_df)
merged.to_csv("C:/merged_solar_data.csv",index=False)
@sfirke
Copy link
Author

sfirke commented Apr 19, 2024

@MaykThewessen I see you created an issue in that repo, let's continue there.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment