Getting gross generation data from SolarEdge with Solaredge DC linked battery

One of the Sites in a group I am setting up for family members has a Solaredge DC linked battery coupled with their inverter.
It seems like the generation data arriving at PVOuput and appearing on the database / graphs is not including the PV generation that is going direct into the batteries.
Does anyone have this setup, and if so if there anything special to be done in the PVO upload parameters?

In fact it seems that PVOutput is tracking the inverter AC output which is either pure DC linked battery discharge or from the PV generation. I looked at the SolarEdge API spec manual which I think gives information on how to get other linked battery related data so I wonder if anyone has found a way to make use of this in PVO tracking? Page 26 etc of https://www.solaredge.com/sites/default/files/se_monitoring_api.pdf

Hi, I’m in the same situation.

Hope someone can help us.

I think we need @bankstownbloke ’s help with this as it looks like something not already being done by any users.

PVOutput uses the “Total Active Power” value of the “Inverter Technical Data” API on page 38.

Is this not correct for a site with a battery setup?

Thanks very much for taking a look at this. I think that “Total Active Power” is referring to the AC output of the inverter regardless of whether it is coming from the PV array or from the DC-coupled battery. If you look at RIversideSolaredge 4.620kW the output continues into the night until the battery charge runs out.
At the moment, the battery is only being charged from “spare “ PV not immediately consumed in the house. However, in the future once the TOU metering sorted out it may at times also be charged from the grid too.
Ideally we are after the real-time PV generation through the daylight hours. I can also envisage wanting to see the battery SoC and maybe some other data, but the actual PV as generated is the prime goal.
Would it be useful for you to have the API key details if you are willing to look at this?
John

@bankstownbloke do you think there might be anything that be done to just retrieve the PV real-time generation from this inverter?

We would need to know what calculation is required to get the required data. We only have what is available from the SolarEdge API.

I am using Grafana + InfluxDB to graph my solar panel data locally, and I ran into this same issue. I could not find a value returned by SolarEdge that showed simply PV generation, so what I had to do is add the PV Inverter power (Inverter power_ac) to the Battery instantaneous power (Battery1 instantaneous_power).
To obtain this information, I am accessing the SolarEdge locally through the modbus protocol, using this python script: https://github.com/nmakel/solaredge_modbus

Wondering if this was sorted/fixed?

A few weeks ago we added additional panels and battery, the generation data appears to be what SolarEdge call System Production in the app. ie It is not the total PV generation and does not include the energy that charges the DC coupled battery.

pvoutput example… Cotswolds 15.500kW

From the app…

I am keen to work out how to spearately report PV generation and ideally battery stats too.

I am new to this and trying to wrok out how I can contribute on this issue.

Is there documentation on how PVOUTPUT does things? Does pvoutput poll the portal to get a site inventory so it knows if there is a battery and how many? Does it use the same API call for all SolarEdge sites?

PVOutput polls for a list of inverters and does not consider batteries.

The totalActivePower from the following API used -

If ‘Use SolarEdge Energy’ option is used then -

Poked around a bit and came to following conclusion (which you probably already knew)…

Those API calls are returning what SolarEdge is otherwise calling “System Production”. When there is no storage within the site it seems to be the same as “Solar Production”.

However, if the site has (DC coupled) storage it is no longer the same as Solar Production, rather it is the totalActivePower that the inverter is generating. As a DC coupled battery is charged from the DC bus, the energy used to charge the battery is not reported.

However, when the battery discharges either overnight or during low solar production the power is reported as the inverter is generation AC Power form the battery.

This distorts the pvoutput reporting, reporting some PV production from one day to the evening or next morning.

I understand that PVOutput does not support batteries, which leads me to wonder how best to handle this (if possible)?

  • There is a V2 of the API, with a migration guide from V1, would you consider moving to V2 or want to stick the V1? Migrating from V1 to V2 | Monitoring

  • Would you consider adding support for batteries? If so do you have any ideas how?

  • If not supporting batteries, would you be open to trying to “correct” the reporting to use “solar Production” instead of “System Produciton”? See screenshot below showing difference.

Migration to v2 for existing API queries would be considered if v1 is no longer supported by SolarEdge.

There are Battery Charge/Discharge APIs in v2 which may be useful in adding battery support.

Initially, support for battery data would be added by recording the charge/discharge information in an extended parameter (v7-v12).

We can then observe the relationship between the battery data and production and consumption data currently provided, and hopefully come up with a calculation that represents the correct gross generation and consumption data.

A volunteer site would be required to do this testing.

The only caveat is both battery/production and consumption data in v2 is only available in 15-minuite intervals. Current data in v1 is at 5-minutes.

I have been poking around the API, if timeUnit is not specified then the storageData API returns in 5 minutes intervals unfortunately only JSON or XML accoring to the V1 docs for URL:/site/{siteId}/storageData

Thanks - this API is responding with some useful 5-minute battery data.

This will be used as a starting point for battery queries.

1 Like

That is good the hear.

If you have a test site I can compare the results with that reported from the mobile app and monitoring portal if you want. Or I can provide additional screenshots from particular days if you like.

I will do my best to provide whatever helps.

Try setting up the battery data for your site -

Use the generation/consumption (v1-v3) overlays to check against the battery power charge/discharge data.

I started this topic in November 2022 and it is great to see that the amazing bankstownbloke has now managed to work out how to resolve it.
I’ve set up the extended parameters as illustrated and that seems fine so far.
Do I also need to migrate to the V2 API for this particular SolarEdge instance or will that be necessary anyway in due course for continued SolarEdge support?

Thanks for being so patient :slight_smile:

There is no action required on your part as all SolarEdge systems have access to both v1 and v2.

PVOutput would need to switch to v2 if/when SolarEdge decides to drop support for v1.