An important change regarding Enphase Auto Uploader systems

Effective August 16, 2022 Enphase will be decommissioning their current API v2 which PVOutput is using to Auto Upload data.

This will be replaced with the new v4 API with the following changes affecting PVOutput members using the Enphase Auto Uploader.

  1. Enphase will no longer be providing PVOutput complimentary access to their gigawatt subscription which avoid individual members requesting API access themselves on the free plan.

  2. The Enphase API terms of service has changed and access to their API is for internal business purposes, and specifically not in connection with any public or consumer-facing application, tool, or service and not in connection with any product or service that is competitive with any product or service that Enphase now or in the future offers.

What change (2) means is PVOutput will no longer be able to provide the Enphase device as an Auto Uploader service in its current form as of August 16, 2022

Feel free to provide feedback to regarding these changes.

UPDATE - April 20, 2022

Enphase and PVOutput now have a signed agreement in place to allow PVOutput to access to the v4 API without the restrictions of the standard agreement.

Many thanks to the Enphase Team for addressing this in a timely manner and to PVOutput members that reached out to Enphase expressing their concerns.

Next steps

PVOutput will be developing a new Auto Uploader for Enphase v4 over the coming weeks. A new thread for testing and feedback of the Auto Uploader will be started soon.


Very annoying. It shouldn’t be too hard to modify one of my old scripts to use the new API but using the PVOutput autouploader was certainly more convenient. Also, I noticed that the # of API hits for the free plan is limited to 1000 per month which is roughly 30 per day. Assuming a worst case long summer day with 10 hours of sunlight, that pretty much limits me to 20-30 minute updates. The lowest cost paid plan is way to expensive ($250 per month). Seems like Enphase really doesn’t want their residential customers to be using the API. What a shame.

1 Like

This makes as much sense as stabbing yourself in the head with a fork.
There are 1000 users in the Enphase team.
I’d have ~300 Enphase users in the Positronic team.
PVOutput provides a lot of features Enlighten doesn’t, such as proper tariff set up, graphing by kW not kWh (who thinks graphing by kWh makes sense?) and the ability for system and tempral analysis, not to mention the overall better GUI.
Positronic Solar uses PVOutput to show prospective customers how well Enphase works compared to other systems - it helps us sell Enphase.
Having 1000 Enphase systems logging to PVOutput helps put us and the Enphase team at the top of the Team Ladder.
“not in connection with any product or service that is competitive with any product or service that Enphase now or in the future offers.” is about as visionary as News Ltd charging FB for links to News Ltd sites - Facebook drives traffic to News, PVOutput drives traffic to Enphase.
I tried arguing this back when it was first flagged and am currently arguing it again.
I don’t hold much hope though, arguing with an American company is pretty pointless…


“I don’t hold much hope though, arguing with an American company is pretty pointless…”

hippiesparx, While I certainly can appreciate your frustration, I take offense at your generalization about American businesses. Up until now this forum has done very well at avoiding remarks that some of us might find offensive so I would hope that can continue.

What a mess! I really hope Enphase reverses course, because I have fundamentally come to rely upon what PVOutput provides me…

August is still a ways away, so I trust we can figure out something by then :crossed_fingers:

After looking into it a bit, isn’t there a way to poll the Envoy/IQ Gateway locally and then we could upload the data to PVOutput? That way we wouldn’t have to use the Enphase API method?

Hi @tycho0. My daughter’s P.V. system has an Enphase Envoy which will be affected by Enphase’s decision to ‘retire’ their current API.

I have written and am currently testing a short script to poll the Envoy directly and then to push that data directly to PVO. A side benefit will be that the data will be updated at 5 minute intervals in the future rather than the current 15 minute interval.

She does NOT have a consumption meter so I will only be able to extract and push v1 and v2.

The critical API call, for her Envoy at least, is “http://”.$enphaseIP."/api/v1/production".

I found this URL to be a source of useful information.



1 Like

Hi @grannos,

That’s great news! I’m excited to hear it.

I do have consumption CTs installed on my system. Do you think you’d be able to add consumption data to your script? Do you need access to a system with consumption data to test against? I wonder if that’s something I could help out with?

It looks like http://envoy.local/production.json contains both production and consumption data? There’s also http://envoy.local/api/v1/consumption

And it looks like you’ll have to start generating a 6-month token when the IQ Gateway firmware is updated to v7.


UPDATE: There has been an initial discussion with Enphase APAC to explore the possibility of making an exemption for PVOutput members with the new Enphase API v4 terms.

We should have a decision by July 2022.


I just installed an IoTaWatt energy monitoring device on my main panel to monitor specific circuits/devices and to also add consumption monitoring as my Envoy is at the array 200 feet away and I never installed the consumption CT’s at install. I compared the data from both yesterday and they are spot on so I am just stopping the Enphase data pull. Instead I will push the data from IotaWatt instead.

Here is my post about my experience setting that up.


Seems they are using the Microsoft playbook of get big from your partners then screw them all over.

I can’t find the link now but there was mention with the updated firmware that the refresh time would be going up even with the local API.

So even if we get to keep local API access the refresh time may make it less useful, assuming in future firmware the local API is still there(they seem to flip/flop regularly)

I’m a sucker and pay for Enlighten Manager so I could get per panel stats, by the sound of the above it seems even I would lose API access.

I am also upset by this change. Enphase has always been difficult to work with if you are a residential customer. Years ago they made a change which resulted in a sawtooth graph and just ignored requests to fix it. That’s one of the reasons I’ve stopped installing them and don’t recommend them.
(Don’t think this is an American company thing, just universal corporate arrogance.)

1 Like

Weird, I have never seen this issue. Is this on the old pre IQ micros as you say years ago?

I have had access to Enlighten Manager for free since I installed my system DIY in 2018. I always read that many people did not have access as their installer would not give them access. It will be interesting to see what happens in August but IMO the MyEnlighten shows enough data for 99% of people anyway.

Top is from MyEnlighten, bottom from PVOutput.
Enphase switched from 5 minute intervals to 15 minute intervals in MyEnlighten years ago (I guess their servers couldn’t handle the data.). PVOutput used to get nice curves. Now I get a 15 minute sawtooth as Enphase does something weird with the 5 minute intervals that it reports to PVOutput.
These are M250 inverters.

1 Like

Here’s the original discussion of the change in reporting interval.

Yeah I guess I sorta noticed the sawtooth although mine seems to be a bit less. I got the IoTaWatt a few days ago and pretty much immediately decided to get rid of the enphase data pull from PVoutput.

My arrary is 200 ft from the panel so it is prob more accurate as well and smooth like butter.

Check out that voltage spike around 4 that caused the micros to cut off. Weirdly I do not see a high voltage alert from Enphase for this though.

Sorry for hijacking this thread!

@grannos - Note that the Envoys are currently running two main versions of Software/Firmware 5.x.x and 7.x.x

5.x.x allows access to the local API using the Installer user and the password generated by that Data Scraping" method you posted.

7.x.x changes this, access to the local API is via a cloud token that is valid for up to 6 months. It is however currently “broken” as most API url’s fail with 504 errors. The broken urls include the critical one you mention - “http://”.$enphaseIP."/api/v1/production".

I’m in Australia and I had 5.x.x and I wrote a number of scripts to scrape data from other api urls which turns the data into an MQTT stream
Earlier this year Enphase remotely upgraded my Envoy to 7.x.x and my scripts stopped. I haven’t been able to get them working again as the 7.x.x api is broken.

There is a huge argument underway on the Enphase Community forum discussing the poor way that Enphase is rolling out 7.x.x as it breaks existing scripts and seems to be a forerunner to them charging for access to our own data. The announcement that PVOutput will no longer be able to use the API is conclusive proof about our fears of 7.x.x being all about charging users to access their own data.

Here’s a link to the (very) long Enphase Community thread.

1 Like

Hi @vk2him

My daughter’s Envoy is an white coloured / oval shaped beast. It’s firmware appears to be R3.17.3 (0e8c7a) as viewed via its web GUI. It appears to be an ‘Envoy-R’. Oddly the Envoy’s API itself only returns updated data every 15 minutes. I wonder if the Envoy only polls the micro inverters every 15 minutes!

Thanks for the link to the Enphase Community Forum.

The [ PHP ] script that I’ve read can extract and upload the data via “http://”.$enphaseIP."/api/v1/production" without any authentication.

Thanks to @tycho0 I can now access http://".$enphaseIP."/api/v1/production/inverters using the installer account to extract the individual POWER output of the six panels that she has. I’ve just got that part of the script working as the suns sinks here ( Perth ). The data are uploading as v7 … v12.


I also have an Envoy-R, installed in 2010, which shows this currently. Serial and MAC address have been cut off.

I hit F5 in the browser on the page to refresh it over the course of several minutes. The kW data did not change. However, the “Last connection to website” time increased, and then reset back to 0, in much less than 15 minutes. So, it seems the firmware may be polling the micro-inverter data and average it over 15 minute periods. But it’s definitely trying to upload data more frequently than every 15 minutes.
The data being uploaded to Enlighten is more detailed.

This could be because two of the 40 micro-inverters have powerline communication issues. Even after hardware replacement with the newest hardware revision last December, they continue to do so. They eventually report the total kWh either late in the day after dark, or the next day. But power curves throughout the day are all wrong because of these 2.

I have my Envoy integrated in HomeAssistant, which just polls data from that page .

The data in HomeAssistant indeed looks like sawtooth graph, with data changing almost exactly at 15 minute intervals. It’s wrong, because it’s based only on the homepage real-time kW, which are wrong due to the PLC problems with 2 micro-inverters.

Funnily, Enlighten reports this - no communication with any of the micro-inverters (0 communicating), which is wrong :

If I check the “power today” page in Enlighten, I see that it hasn’t been received any real-time data update for the last couple hours, since about 1pm.

Going back to 12:50pm, I see this :

Note the 12.2 kW “system power” at the bottom left. Very interesting, given that my system is only 9.4 kW DC. This is not just for that particular time, too. Looks like it started going over 10 kW around 9:35am. In the very same screenshot, on the top right, under “Today”, peak is shown to be 6.49 kW at 12:45pm, which sounds correct. I looked at data for yesterday, and I see the same bug. I had never seen tat before.

Data in pvoutput shows like this. Production dta is coming from Enlighten API . Consumption is coming from Wattvision cloud, which has my Rainforest Eagle data, and updates much more frequently than every 15 minutes - 15 seconds from the Zigbee smartmeter, not sure what interval in Wattvision.
As a result, the “Power used” is always off. I know from the Eagle/Wattvision my house consumes at least 1.2 kW at night even when we sleep with everything off, and zero solar production. Yes, I’m working on reducing that …

At this point, all the production data from all sources appears to be wrong, both in Enlighten, probably because of display bugs, and locally on the Envoy device itself, because of two micro-inverters that fail to communicate.

The data in HomeAssistant appears to be more correct than in the Enlighten web site.