Smooth out Enphase Power Graph?

Now I see it… A 5 minute plot is just fine, but it needs to be a 3-period (i.e. 15 minute) moving average. No need to compute and store 15-minute average values. Maybe simpler??

Just showing 15-minute intervals will simply display the table/graph data in 15-minute increments and hide the calculated 10-minute intervals in between, this will make the graph look smooth.

10:30AM
10:15AM
10:00AM
etc...

To try this out, I plotted my data from 4/4/2018 four different ways. The current PVOutput sawtooth (GREEN) looks the worst, but adds up to the exact same kWh as Enphase reports. Your suggestion of sampling the data on the quarter hour (RED) is much better, but overstates the output by 2% over the day. (Sampling at 10 min after the quarter hour (GREEN) is worst, and understates output by 4%.)

If doable, the dotted line (BLACK) is best… a 5 min plot of a 15 min moving average. It is spot-on for correct energy output. The Enphase Auto Uploader could do this if it could compute and store the moving average data instead of the raw data, and (I think!) nothing else would need to change in PVoutput (or PVOutputPRO)

Here’s a zoom in on my plot, then the whole day of April 4th…

1 Like

Thanks - we just need to make sure the end result energy is the same.

It makes sense that a plot of the points at the midpoint of the fifteen minute interval is the way to present the data accurately.

Hi Iwsmiser. Enphase (on Enlighten) plots 15 minute data points as the average of the following three 5 minute points. If you just plot the midpoints, you get an incorrect plot, unless you are one of the minority still getting actual 5-minute data. The data being sent now is A, A, B where A seems to be a peak-5-minute power number, and B is a correction to get to the correct 15-minute average. So (A+A+B)/3 is correct. A 15-minute moving average plotted at 5 minute intervals fits PVOutput’s plotting format, and would give a correct 15 minute average power, and thus adds up to the correct energy for the day.

Bankstownbloke… Thanks for your feedback. I’m thinking the math behind a moving average says the energy has to be the same as the raw data, and it comes out that way for samples on my system and another Enphase Team system. The worst error difference I got was under 0.05% in a day (5 Wh in 10000 Wh) for moving average vs current PVOutput or Enphase Enlighten, and that’s probably accumulated rounding errors somewhere.

I count 77% of the 350 Enphase Team sites with the sawtooth problem. But the remaining sites still get true 5 minute data at this point in time. If everyone gets moving-averaged data, they will all get correct energy calcs, but the minority would lose power precision and see true peaks and valleys smoothed out a bit. Maybe a new primary device called Enphase-Avg or whatever would allow the user to make the choice??

FYI… Below is a recent sample of raw data vs 3-period-moving-averaged data (BLUE vs RED) from a PVOutput site still getting true 5-minute data:

I was just googling this and glad to see its not just my outputs with enpahse that look bad. Hopefully there is a solution.

Looks nice! I downloaded today’s PVOutput live data for my system, moving-averaged the output power data, and uploaded it back. Take a look.

BEFORE…

AFTER…

I haven’t had this issue with my Enphase system. I just changed the Status Interval under Live Settings for my system to 15 minutes, and the Poll Interval under Automatic Uploads to 15 minutes.

This is yesterday’s graph. It’s nice and smooth.
https://www.pvoutput.org/intraday.jsp?id=60768&sid=54224&dt=20180414

Congrats! You’re one of the few (about 1 in 5) that is still blessed with true, 5-minute data from Enphase. Look at the POWER data on your “live” page, and you’ll see unique data values for every 5 minutes. Doesn’t matter how often you poll. Enphase changed policy last year… can’t tell you why you are lucky!!

Nope. I got my system installed after that change was made. I’m on 15 minute intervals. The data on my PVOutput is every 15 minutes. I just logged into EnlightenManager to check, and all data there is in 15 minute intervals.

Like I said in my last comment, I changed the time settings to 15 minutes and got a nice smooth graph. The day I setup PVOutput I did have a staircase up/down graph, but after changing the polling intervals, it smoothed it out.

I just had my system installed and is up and running on pvoutput and I seem to be getting 5 minute data from my enphase system

https://pvoutput.org/intraday.jsp?id=36992&sid=58477

I’ve now switched my reporting to what @cjsimmons suggested and thats now cleaned up the output for the PV. That said, it looks like the consumption data from Rainforest Eagle is a bit less granular now, but I can live with that.

How it looks now:
https://pvoutput.org/intraday.jsp?id=15114&sid=12970&dt=20180420
How it looked before:
https://pvoutput.org/intraday.jsp?id=15114&sid=12970&dt=20180418

Perfect! Thanks to cjsimmons and StrangePV! What you found is 15 minute moving average data taken from the 5 minute data that gives us the sawtooth graphs. Not sure if the smooth 15 minute data is coming directly from Enphase or is computed by PVoutput, but the curves look (almost) the same, and the Energy total is identical for the day.

(FYI: Comparing to 5-minute data downloaded from Enphase, the PVoutput power curve is shifted by 10 minutes from the Enlighten curve. For example, the PVoutput data for 6:00pm is the average of 5:55, 6:00, and 6:05 values. The Enphase Enlighten power curve value for 6:00pm is the average of 6:05, 6:10, and 6:15 values. Both are a correct, and both give the same total energy.)

Bankstownbloke: Hope you’re still following this thread. Problem solved by setting STATUS INTERVAL to 15 Minutes, Maybe this is what you were suggesting earlier. I’m intrigued… I can’t find any provision in the Enphase API for 15 minute data, so it appears the existing PVoutput live loader computes a moving average to convert 5 minute data to 15. Yes??

Enphase reports 15-minute intervals, the Auto Uploader to divide the data into 5-minute intervals. By setting a 15-minute interval on PVOutput the additional 10-minute in between will be ignored.

Sorry if I’m being dense! But I can’t see any evidence that the Uploader “divides the data into 5-min intervals.” The “sawtooth” 5-minute data we see plotted on PVOutput is the same exact data I can download from Enphase into a spreadsheet… PVOutput plots the smooth 5-min data enphase still sends for a few systems, and it plots the jagged 5-min data now provided for most systems.

According to Enphase API documentation, the “stats” request is used to get performance data, and only 5 minute intervals are supported.

So, I’m thinking the only explanation for your 15-minute smooth graph is averaging by the Uploader. Here’s how I think it works: for the 11:00 data point (as an example) the Uploader requests 10:55, 11:00, and 11:05 “stats” then receives and averages the three power values, and stores that number as 11:00 power.

Previously all Enphase systems reported in 5-minute intervals via the API, recently they have reduce this down to 15-minutes for some systems.

See below -

When the Auto Uploader detects that is is downloading 15-minute data from Enphase then each of these 15-minute intervals will be divided into 5-minute intervals to match the PVOutput Status Interval setting.

Hmmm… Not exactly. the Enphase API still reports 5-minute data for all systems… but most are accurate only to 15-minutes. You set us straight on this last July 4th. See Below (highlighting is mine)[quote=“bankstownbloke, post:9, topic:142, full:true”]
There has been no changes on the PVOutput side - it reports the data returned by the Enlighten API.
However, it has not affected all Enphase systems. This one is still reporting 5-minute data.

https://pvoutput.org/intraday.jsp?sid=48806
[/quote]

You also included API data in the above post. Here is a subset of it showing three 5-minute values with the now-typical high-high-low sawtooth power sequence:

You were right on, and I don’t think Enphase or PVOutput has changed anything since. But, when I switch the Uploader interval to 15-minutes, each live data point recorded and plotted by PVOutput is precisely the average of the three sequential 5-min points provided by the API. Also, your energy calc exactly matches Enphase’s. If the API still gives only the 5-minute data like you showed (above), then it sure seems like the Uploader is computing a simple average for each 15-minute point.

1 Like