Inverter built in meter accuracy vs emonTx

I have a solaredge inverter and I’ve been using an EmonTX 3.4 since almost the beginning. I enabled the Modbus over TCP protocol on my inverter and can poll for SunSpec data on it any time. It’s great, provides a lot of info, including total generation and also instantaneous DC, AC values, heatsink temp, etc. But there’s a catch. SolarEdge has a user portal where one can follow daily generation, updated at 15 min intervals. I checked a full day, and have collected the following generation data:

  1. SolarEdge portal: 19.3 kWh
  2. Inverter, night to night kWh difference: 19.3 kWh
  3. Inverter, sum(Watts queried each minute once) / 60 / 1000: 18.863 kWh
  4. emonTx: 18.5 kWh

So the cumulative energy values are the same for the portal and my inverter. The energy calculated from the instantaneous values is less by about 2.3%, and what my emonTx shows is less by about 4.3%. Which is more accurate? EmonTx is sampling instantaneous values each 10 seconds and provides true RMS metrics. It should be pretty accurate, if the sensors are accurate. But I just don’t know… I still intend to calibrate my emonTx using some method, but I thought checking out the data provided by the inverter might worth a shot. Any ideas?

Therein lies your problem. There’s a page in ‘Learn’ where the possible error sources are listed and the worst-case values evaluated. Having said that, a Monte-Carlo analysis showed that around 45% of the production units should be within ½%, and 82% should be within 1%. But where yours comes between the extreme worst case limits is a matter of luck. And if you are using the EU a.c. adapter rather than the UK version, the tolerance on that is ±5%, not ±3% which is the value that I think the ‘Learn’ article uses, and that would also somewhat reduce the numbers of units that would come within the ½% and 1% bands.

The ultimate definition of accuracy has to be your supplier’s meter, because that is what determines how much you are charged (even when it is wrong :anguished: ).

If you can borrow or hire a high spec. multimeter, you should be able to improve on the 4.3% error. If you were looking to buy, you’d probably need to spend €500 - 1000 to be able to get below 2% overall accuracy on the power value.

Yes, we had a longer discussion in another thread about the possible error sources and calibration in detail. This thread is more like the interver’s meter vs. EmonTx. I can’t directly compare them with the revenue meter because that’s alternating between import and export. Maybe if I swapped the 2 CTs I could calculate the relative accuracy of the CT after letting the system run for a month or so. OTOH, the built-in meter of the inverter is known to overreport about 3-4%, according to other people on the solatpaneltalk forums using revenue grade meters to verify. Despite using fairly high-grade parts for measurements in the inverter.

To clear up this mess I will get a MID certified (~revenue grade, claimed accuracy 1% above 1A, I can make use of it elsewhere too, and fairly cheap) meter and check all interesting paths and system voltage.

I’ve observed something very similar with my calibrated energy monitor (not OEM kit) Vs my SolarEdge inverter. In the graph below I plotted the 10-second Power readings from my monitor (Pink and labelled as ERM) and overlayed the 5-minute Power data from their portal (Dark Blue). You can see excellent agreement throughout the day, typically better than 0.1%.

Then, I plotted SolarEdge’s reported energy data (from the portal) on an hourly basis (Yellow triangles) Vs the energy monitor’s accumulated energy data (Turquoise asterisks). You can see the Yellow triangles get well ahead of the Turquoise but tapers back at the end of the day, still ending up 2.3% higher than the Turquoise.

I generated the Turquoise simply with maths in the spreadsheet by accumulating the Pink. Given the strong correlation between the Pink and Dark Blue, I’m at a loss as to how they generate their Yellow but it doesn’t seem consistent with their 5 minute power data.

I know what my energy monitor’s 10-second Power data is: it’s the energy measured over the last 500 line-cycles (in WattSeconds) divided by 10, so average power over the last 10 seconds. The 501st line-cycle goes into the next reading with no cycles missed… i.e. true continuous monitoring.

What I don’t know is what the SolarEdge 5-minute Power data represents. For a perfect Energy comparison, it would be based on the the energy produced over the last 5 minutes divided by 5 minutes, but I doubt it is. I suspect it’s the instantaneous power reading at that time, hence the excellent Power correlation between the two. So there’s one source of possible discrepancy, but you’ve reduced that source of error by polling the inverter for a power reading every minute (compared to my 5-minute readings).

Do we know anything about how they measure Power and Energy? My conclusion from the graph above is that the answer is “differently”. It looks like they have one thing that measures Power, and another that measures Energy and the two don’t agree.

[EDIT] - actually studying that graph again I think I can see what’s happened. It looks like the two energy plots are horizontally displaced by 1 hour. I wonder if it was a daylight savings bug in their portal (we don’t have daylight savings in Qld but the rest of the east coast of Australia does).

Do they have their own one yet or are they still using “solarman” ? If it is the solarman website, proceed with caution. I have seen some very peculiar results via that platform. It attempts to be a “one size fits all” way of interrogating most inverters (all sunspec compatible) and the results are not always entirely right.

If you have a generation meter you can compare the cumulative inverter results with that, ultimately that is the benchmark for your cumulative energy generation. but for realtime power (rather than energy) readings, I think even a uncalibrated emonTx (at the wrong end of the accuracy band) might be more accurate.

Good idea, you can even get a rs-485/modbus enabled one for £30ish which would give you very accurate readings, even at 5 or 10s sec intervals, this is the monitoring method I’m leaning towards. yes they can be invasive (even the CT based ones require a full mains connection) but they are so accurate and so neat, they are really hard to beat.

Thanks for the insight, @dBC. IIRC you built your system around an Analog Devices ADExxx chip (I migh be mistaken) . What I referred to as high-grade parts are VAC CTs I didn’t see anywhere else. I can imagine the rest of the parts are similarly from respected manufacturers. Of course, that in itself isn’t a guarantee for anything, but SE is one of the best companies making inverters (and panel optimizers).

OTOH, I don’t think they have 2 separate functions to measure instantaneous power vs. energy. One is the integral of the other over time (in our case, sum of discrete samples). The power readout is most likely the last sample in their buffer and not an average over a set time period. Any time I pull it, I get a different value, even in the same second. And that might not very well represent that time slice I’m interested in, eg. the last 1 minute in my setup as of now. An average there for that minute would be better, if they use a continuous sampling method or even just a more frequent one such as OEM or your setup. Continuous seems more probable for me, seeing the ever changing values. Now that I think about it, I’ll add another graph to my Zabbix that’s the difference between subsequent readings of the energy value from the interface and see what it produces.

Anyway, if your own system is accurate and calibrated, then the inverter’s accuracy should also be as they’re almost completely overlapping.

@pb66: They have this portal since we have the solar power system, so at least since 2016. I’ve never heard of solarman before.

Yes, I plan to get a Modbus equipped meter, around that price. I’ll hook it up to an Arduino or an ESP8266 board for continuous monitoring. I don’t have a separate generation meter, what I have is the EmonTx and the upstream import/export meter. And well, the inverter’s own integrated meter, which I’m investigating now.


Agreed… see my edit above.

Although… that still doesn’t explain how after a day of instantaneous power readings that were generally closer than 0.1% we end up with energy totals that are out by 2.3%. When I come up for air I’ll re-do the comparison.

And later…

I compared the two again today, this time without the 1hr horizontal shift in the energy plots which cleaned up the big problem with the previous graph, but I still see a similar discrepancy in the end of day energy totals. There’s superb agreement on the instantaneous power readings (blue dots on pink graph), but by the end of the day the SolarEdge is claiming 2.2% more energy was produced (yellow Vs turquoise).

Curiously, when the blue dots aren’t bang on the pink line they’re generally lower (the worst of that is probably around 12:30 when there’s about a 1.1% difference) so if anything the yellow line should be lower than the turquoise.

The turquoise plot is just a simple integration of the pink, done by the spreadsheet. The yellow is the hourly energy totals out of the SolarEdge portal (I had the spreadsheet fit a curve through them).

That’s good to know. Looking at their front panel LCD display, it looks like it updates the readings about 3 times per second so maybe the values you’re polling are the same as those.

I’ve had a SolarEdge system with EmonPi running for four years, and have noticed a very similar discrepancy. I’ve always assumed the inverter is measuring power on the DC side, and the discrepancy is inverter loss. Some more digging required…

It measures both DC and AC side. This is what the efficiency is calculated from, among other things. Ultimately we’re interested in the AC side.

1 Like

Thanks, I kept clear of using Modbus when the system was installed, might investigate now. I also have a SolarEdge optimiser on every panel (20), which definitely work, would be interesting to see them in almost real time!

As I noted, I’m using the 3.x+ firmware feature, Modbus over TCP. No directly wired Modbus connection. On the TCP interface only Sunspec data is available, whic doesn’t contain panel-level metrics. If you’re planning to dig into that, I suggest JBuehl’s solution and repo.

1 Like