diy solar

diy solar

An Enphase Ensemble Installation

Found some interesting data with GET http://envoy.local/home

JSON:
    "enpower": {
        "connected": true,
        "grid_status": "closed"
    }
"grid_status" is "open" when the grid is offline.

Unverified, but I suspect "connected" means the Enpower is talking to the Envoy and "closed" means on-grid. If so, that's my primary need as I want an alert when the grid goes out so I can reduce non-critical power (e.g., car recharging, hot water heater).

The "comm" section seems to show the devices connected vie ethernet over powerline (EoP) and some other data. "num" is the number of units, unclear what "level" is, the value has been all "3" and all "2". "pcu" are the microinverters, "acb" is the AC Battery. The "encharge" entry is new. Looks like they got confused... the field is an array, but despite having multiple batteries there's only one entry.

JSON:
    "comm": {
        "num": 23,
        "level": 5,
        "pcu":  { "num": 23, "level": 5   },
        "acb":  { "num": 0,  "level": 0    },
        "nsrb": { "num": 0, "level": 0     },
        "encharge": [
            {  "num": 4,
               "level": 3,
               "level_24g": 3,
               "level_subg": 3 }
        ]
    },
    "alerts": [],

Included "alerts" as it might have something interesting when there are issues. Also returned, but not shown, are Signal strength indicators under interfaces and wireless_connection.
 
Last edited:
The state of charge came up with http://envoy.local/home#encharge/manage. With the anchor function that's a little hard to use in a program, but fine for viewing and all local to the envoy.
1596493356920.png
Didn't see any battery information in the Enlighten API

In the Enlighten app, the battery information is retrieved via GET /pv/settings/xxxxxxx/battery_status
JSON:
{
    "current_charge": "100%",    "available_energy": 13.44,    "max_capacity": 13.44,    "available_power": 5.12,   "max_power": 5.12,...,
    "storages": [
        {..., "current_charge": "100%",    "available_energy": 3.36,     "max_capacity": 3.36,  ...  "error_code": null,...,
             "available_power": 1.28,        "max_power": 1.28,...          "status": "normal",...     },
       ....
    ]
}
But that requires a TLS 1.2 hand-shake....need to keep digging...
 
Last edited:
Finally, a battery SoC winner! It's local to the envoy and easy to get. Naturally uses the installer password and Digest authentication, so not quite as easy as pi. The other downside is that it's an unsupported API and new stuff, so very likely to change

GET http://envoy.local/ivp/ensemble/inventory (deleted mundane stuff so it just illustrates the battery & grid data...)
JSON:
        "type": "ENCHARGE",
        "devices": [
            {  "serial_num": "12202xxxx",
                "device_status": [  "envoy.global.ok" ],
                "last_rpt_date": 1596538459,
                "admin_state": 6,
                "admin_state_str": "ENCHG_STATE_READY",
                "operating": true,
                "communicating": true,
                "sleep_enabled": false,
                "percentFull": 100,
                "temperature": 31,
                "maxCellTemp": 32,
            },....
        ]
    },
    {
        "type": "ENPOWER",
        "devices": [
            {
                "serial_num": "1220xxxxxxxx",
                "device_status": [ "envoy.global.ok"     ],
                "last_rpt_date": 1596538438,
                "admin_state": 24,
                "admin_state_str": "ENPWR_STATE_OPER_CLOSED",
                "operating": true,
                "communicating": true,
                "temperature": 91,
                "mains_admin_state": "closed",
                "mains_oper_state": "closed",
                "Enpwr_grid_mode": "multimode-ongrid",
                "Enchg_grid_mode": "multimode-ongrid",
                "Enpwr_relay_state_bm": 496,
                "Enpwr_curr_state_id": 16
            }
        ]
    },
]
 
Last edited:
The response to the questions about the importance of getting notified of outages and the best
way to detect it was: yes and a relay triggering an attention getter (e.g., fog horn).

I wasn't crazy about getting alerts during short term outages, so decided to write an android
app for a cell phone that could poll the device. This way I could get alerts when I wanted (
e.g., waiting out a hurricane), and not when I didn't (normal short outages).

I know, polling... yuck. But haven't found any way to get local data streamed (yet). There's a screen
snapshot of it to right in a debug session. Seems to be running the query okay with the IP address
but not the name...so still some rough edges to knock off.
1596671680399.png
 
1596726409233.pngNew version with a snapshot running on the cellphone.

Added the last_rpt_date field from the Envoy so if it loses communication
you'd know. Also made the background dark, added alert noises, and
added persistence for the settings (it was getting annoying typing them in).

Still a few bugs with it, e.g., when the phones asleep it stops running,
so rude not wanting to drain the battery. The envoy is only getting
updated every 5 min, so not worth polling any faster.

It's also still not resolving the local host name envoy.local.
Java PC code on a PC does, but the android doesn't in the
emulator and the device. Mr. Google says it's because android looks
locally for an IPv6 and if it's not found does a DNS lookup on the
google DNS servers rather than the local gateway. Apparently easy
to fix if you write your own DNS server and link to it.

So, just manually entering the local address for now. It's only
meant to be a stop-gap measure until home automation is in place,
so good enough once I get it to keep running in the background.
 
Last edited:
From earlier in the blog you'll remember that my Encharge system can't power everything at night, there's not enough Encharge wattage (also not enough battery Wh to last long). My plan was to have enough solar to run most everything during the day, and then trim back at night. At least until V2H is available.

I wouldn't call it the "best" laid plan, but it's definitely gone asunder. Here's some issues I've hit with the Encharge battery while using them in combination with solar power....

Encharge Catch-22
  1. Grid goes off, unexpectedly the IQ7s (solar roof top microinverters) go off for 5 min. This is a normal anti-islanding feature in every GT inverter, but is was unexpected behavior for me since the Enpower is fast enough to provide anti-islanding.
  2. Without the IQ7 microinverters, there's not enough IQ8 inverters to run everything, so they reset which causes an outage which resets the IQ7 microinverter timers.
I expect this will get fixed in an IQ7 firmware patch, ideally their power is just curtailed as normal.
Update: Fixed!

Batteries are fast, but curtailment too slow
Situation: Off grid, 6 kW of solar are available and the the IQ8s have curtailed that to 1 kW which is recharging the battery and powering the house.​
As small loads are turned on/off the system adjusts as expected, way cool.​
But, when a big load is turned on (e.g., AC), even though there is enough solar to power it, the system resets. My guess on this is that the Encharge has to have enough inverter power to handle the load on it's own during the time it takes to ramp up the IQ7s.​
Solving this is probably trickier. It might be possible to "brown-out" as the IQ7s ramp up rather than "reset". It should only take a few AC cycles for the IQ7s to adjust to the power demands.​
 
Last edited:
I reported the issues in the post above on Saturday to my installer and noticed that there had been changes to the system, so went to retest. Switched off the grid and the envoy reported the IQ7s were still outputting power. Woot! 1 issue down.

I still have the problem with the main AC causing the system to reset. I suspect they hoped to fix this by setting the power mode to "savings mode" with 95% reserve. What that does when the system goes off-grid is to open up the IQ7s more so they're pumping more power into the battery. When the AC kicks on, that makes that solar power plus the battery available for the AC. Still not working for me, probably because at 95% it was only using 3kW of solar (2 for the battery and 1 for the house). The battery can supply 7.6 and utilizing the 2 kW of charging that is ~9.6 kW immediately available (3 kW curtailed). Guessing the main AC requires > 10 kW inrush. The breaker is 60 amps, so less than 14.5 kW. A soft-start is supposed to reduce the in-rush by up to 40%, so that might resolve the problem. Not sure it'll work though, I measured the in-rush once at 7 amps which I knew was too low, so it's probably some "smart" startup system that fooled the inrush meter. Still, something to look into.
 
Last edited:
So glad I found this thread, I only have a basic Envoy Enphase system (no battery) but a lot of parallels in the API. Does anyone know if there is a changelog for the D5.0.49 (77afa8) software update? My system is running the same software version on part number 800-00550-r02 which I believe is the "Envoy-IQ". The http://envoy.local URL is handy, I had to assign a static IP to my system so I could find it, that's much easier to use lol.
 
Last edited:
...Does anyone know if there is a changelog
for the D5.0.49 (77afa8) software update?
I don't believe they're public, I'm pretty sure Enphase wants users to go through their public API rather
than the Envoy (which IMHO is silly since you'd most need information when you'd lost internet/cellular
connection).

Although, it's not lost on me that when you click the "Live Status" on the app you get the image to the
right... so looks like they're talking to the envoy locally for some parts at least.
1597335919025.png
Update: In packet sniffing the LAN I didn't see any packets going to the local Envoy from the computer running the app, so their server talking to the envoy to get data to talk to me?
 
Last edited:
Had a power outage blip yesterday and went on/off battery without noticing it. Just happened to spot it in the logs while looking for other data.
Had the AC tried to come on in that time the battery would have reset, definitely would have noticed that!
 
My Envoy is also operating on "Software Version D5.0.49 (77afa8)" in the Envoy home page. We have been having several small power glitches here, but my system only went offline once, when the glitch was more than about 1/2 second. The shorter flickers are not an issue, but after the longer one, the solar was off for the 5 minute lockout.

I just got the call from the freight company, my Schneider XW-Pro will be here tomorrow afternoon. Maybe I will get it wired in and functioning before we have a big power failure. My battery bank is 79% charged just waiting to be hooked up. I need to pickup some #8 wire for the tie in to the panel. I am going to provide up to 40 amps to the essential loads panel, but I have to limit it to just 20 amps back to my main panel to stay within my back feed agreement and to be legal with my 100 amp main panel. The way the renewable energy feeds into the bottom of the panel, and the main breaker is at the top, it really won't stress the buss bars even if I did stuff 40 amps back to the panel, but the rule in the US is that the solar feed and the main added together can not exceed 120% of the buss bar rating. Depending on how things go, I may end up dropping my main breaker to a 90 or even 80 amp breaker to allow the Schneider to push more to the main panel. That way it could truly run my A/C compressor. Even though it can crank out the current, I doubt I will move the A/C to the essential loads panel. My 17 KwH of storage would not last very long, even in full sun on these hot days, it just won't make enough to stay even. Yesterday, I checked, and at 1 pm, it was 102F outside, we had 2 PC's, a few lights, a TV watching dish, and the A/C running. The solar array was producing about 3.3 KW and I was still pulling just over 1.2 KW from the grid. I can't say for sure if the refrigerator compressor was on when I read the iTron meter outside. It only shows the live power use about once a minute. Looks like I would need about 6 more panels to make that up in the heat. Each panel was only making 206 watts AC. If I use a group of 4 larger 385 watt Perc of HIT panels that do better in the heat, and DC couple right to the battery bank, Hmmmm?

I am going to have to look at a globe or something to understand the sun angle here in the early morning. Right as it comes over the horizon, the sun is actually shining in the north facing windows. I am at 34.4 degrees north and 118.5 degrees west. My house is rotated a little so my "south" face is at 205 degrees, so the north windows are turned 15 degrees to the east, but it just does not seem right to have the sun that far "up". It is now 10:30 am and the sun is still east, but has just reached about even straight over the house in the N/S direction, so my panels are tilted 20 degrees away to the south, as well as rotated 15 degrees west at this time. The array is producing about 2.0 KW now. If I do add those DC panels, they will be flatter than the 20 degrees of the roof. My garage roof is flat, So I need to tilt them anyways.
 
NEC 705.12(D) (the 120% rule) through me for a loop at first, but it's a good rule to follow and is explained nicely here. My system is on the supply side, so I can bypass it.

...I just got the call from the freight company, my Schneider XW-Pro will be here tomorrow afternoon....
Woot! We're going to want pictures and a blog of your adventures as you go!!! Might not be able to provide advice, but can cheer you on!

...I am going to have to look at a globe or something to understand the sun angle here in the early morning. Right as it comes over the horizon, the sun is actually shining in the north facing windows....
It's because of the Earth's tilt, visualizing it with a tilted globe is a great idea. You can get the sun path for any date from one of the online calculators like https://www.sunearthtools.com/dp/tools/pos_sun.php

1597688461799.png
 
svetz wrote "NEC 705.12(D) (the 120% rule) through me for a loop at first, but it's a good rule to follow and is explained nicely here. My system is on the supply side, so I can bypass it."

I do understand the reasons for the 120% rule, and why the solar feed is at the opposite end of the buss bars, but it you actually took a clamp on amp meter to each point along the buss bar, there is no place that even the overloaded panel (from the page you noted) has more than the 800 amps in the buss bar. If fact most of the bar is carrying less current than the non overloaded condition. If you had a single 1,200 amp load smack in the middle of the panel, and 500 amps of solar feeding in at the bottom, the top half of the bar is only carrying 700 amps, this is less than the bars 800 amp rating. The only point of overload is if this was a single breaker tab feeding that load in the middle, but as long as each breaker is less than 800 amps, we are still safe from actually overloading the actual buss bars. Make it 2 breakers in the middle of the panel. Each one pulling 600 amps. With no solar, yup, the main pops with 1200 amps and saves the top half of the buss bar. But with the solar feeding 500 amps in at the bottom, the top bar is feeding 700 amps, (safe) with 600 going out the top breaker tab, ok, then only 100 amps on the bar to the next breaker, no problem at all, then another 600 amps out the tab to the next breaker, that's ok, and the lower half of the buss bar below the breakers only have the 500 amps coming up the bar from the solar. All actually safe current on the buss bars. I understand we had to set a limit, and they chose 20%. 20% is being VERY safe. 30% certainly would never cause a problem with the buss bars. But 20% is the limit they set, so I will stick to that to be legal. But no matter how you run the mat, having the solar current feed the opposite end of the buss bar from the main only REDUCES the current through any part of the main buss bar. The only thing that could ever see more current would be a single breaker tab. The individual breakers should protect that.

svetz wrote " Woot! We're going to want pictures and a blog of your adventures as you go!!! Might not be able to provide advice, but can cheer you on! "

I will keep adding to my "Show and Tell" thread with pictures and write up as I get it up and running.

svetz wrote " It's because of the Earth's tilt, visualizing it with a tilted globe is a great idea. You can get the sun path for any date from one of the online calculators like https://www.sunearthtools.com/dp/tools/pos_sun.php "

That is a cool site, I will look at that more, especially if I add the extra panels on the garage. If I do add the extra 4, I want them to pull as much power in this crazy hot summer time. The rest of my array does great from fall to spring, but with the heat losses now and the A/C running at "Ludicrous speed", my power use is going plaid.
 
It was a bit cooler this morning as the sun came up (compared to yesterday) but we have also had some clouds moving through. Here is a screen grab at 1:34 pm of my production, the bars are today, the line graph is yesterday. The samples are every 15 minutes, so the numbers on the left are just 1/4 of the average kilo watts for the 15 minute slice.

Solar8-17-20_1-30pm.PNG
The morning clouds kept the panels cool so when the sun came out at 9 am, it did very well, but as they got hot it fell to the same as yesterday again. The extra dips are the clouds which got pretty dense at 1 PM again. When they clear, the panels may have cooled and it will do better for a bit. Is it worth putting a small fan to move air under the panels?
 
... Is it worth putting a small fan to move air under the panels?
It would be sweet indeed (one might even say cool) to come up with something that kept the panels from getting hot!

When I've looked at the math fans or water re-circulation systems the answer is no.

If I lived in a dry climate where water was cheap, I might try a mister on the panel backs. But I can't
help but wonder if something passive might help. For example, heat sinks on the back of the panel,
or perhaps a wind scoop you might find on a sailboat. The problem is I doubt the capex would be
justified, and certainly here the wind & UV would beat anything like that to death in no time.
1597701701759.png
 
I have not tried to actually measure what temp the panels are getting to, but I know they must be quite a bit above the 110F air temp. The best a fan can do is get it closer to the air temp. 110F is about 43.3C. The NOTC spec for my panels is 45C so if I could keep them at air temp, it should still make the rated power of 227 watts, they are dropping to 200 even. So it is dropping off more than 10% when it is this hot, so I would bet they are getting close to 71C or 160F. Wow, that is getting hot, but they are rated to withstand 85C without damage. I came up with that temperature figure by taking a 10% loss and divided it by the 0.38% loss per degree rise. That works out to a 26 degree rise. But it could be even worse. If they are hitting 71C, how much do I need to cool them to get 10 watts back? By the same math, I would have to drop the panel temp by 12C getting them back to 59C while the air is at 44C or so. That does seem doable, but is it worth it? If a 10 watt fan on each panel could cool the panel enough to just make 10 more watts, it is a total wash on power, and the waste on the cost of the fan. A passive heat sink might help, but the only air flow past my panels now it the heat rising from the roof. I may remove the wind blocker at the bottom, and let a bit more convection go under them. This won't cost anything but a few minutes next time I am on the roof to clean them. It's not like we have high winds here to rip the panels off.
 
As the panels are hotter than the surrounding air, they should make their own micro wind-currents as the air they radiate to heats up and becomes less dense. Sort of like a land/sea breeze but far smaller.
...I may remove the wind blocker at the bottom, and let a bit more convection go under them. This won't cost anything but a few minutes next time I am on the roof to clean them. It's not like we have high winds here to rip the panels off...
That will make a very interesting experiment! Can't wait to see the before/after data on that!
 
I really need to clean them now. It looks like an 1/8 inch (3 mm) thick of ash on the panels thanks to the forest fire near here. It is just way to hot to go on the roof. Even at night, it is in the 80's and the shingles are blazing for a few hours. Best bet would be wake up at 5 am.
 
Soft Starter
...I still have the problem with the main AC causing the system to reset....
One more issue fixed?

So I started checking into Soft Starters and MicroAir was interested in working with me to see if it their solution would work since the IQ8s use frequency shifting to curtail power from the solar panels. They sent me a special blue-tooth version that could get diagnostics from and download firmware updates... they were pretty sure they could get it to work. These guys are very responsive and knowledgeable, easily recommend them to anyone.

For the 3 ton Rheem worked out how to wire it in and installed it:
Snapshot of the wiring diagram from the panel and my edits to
add in the EasyStart.

1597932292335.png
1597932237298.png

The longest step was physically drilling the 4 holes and mounting the box.
Pro Tip: Don't drill through any coils ;)

Prior to installation my in-rush meter read 86.4 amps on the compressor C wire. The meter won't work with the Easy-Start as it has a delayed/staged start, but the app on my "special" version says it pulls between 29 and 36 amps (possibly has to do with how warm the unit is). I'll ask to see if they sell those bluetooth versions, I didn't see them on the web site, but man is it nice to have that data!
Update: They don't sell them yet.

The inverter will output 7.6 kVA for 10s, that’s ~31 amps. So starting on battery alone seemed like it would be iffy. Interestingly, when I start from the inverter there's less in-rush, it's 26.6 amps. My guess is the inverter voltage drops as discussed here; but not so far that it resets the inverter. So, the battery should be able to start it on it's own, but I wouldn't have enough power to run it for more than a few hours anyway and that's not the goal.

The goal is to not have minute long outages from a momentary power blip and to be able to run the AC during the daylight hours if the grid is down. The AC only pulls 8.6 amps (2 kW) when running, so as long as my array is > 3 kW I can run the AC and charge the battery! At night, I can bivouac in a tiny bedroom that has a mini-split and theoretically the battery can run it all night long long with a few general things (e.g., frig).

Maybe...
Still have to do the frequency shifting test. Previously I've only tested in low-light conditions so there was no frequency shifting.
If the clouds clear out then I should be able to run that test today.

Update: First round failed half the time at 50% frequency shifting ...but they have the diagnostics and think they know what the problem is so they're going to send me a firmware update. They said they'd have it today (it's already ready!), but it's clouding up and the system works at 60 Hz so might not get another test in today. Installed the update and it works fine on/off grid with no/minor frequency shifting... hopefully I'll get enough sunlight to test before the hurricane hits on Monday.

Update: IT WORKED!!! The firmware upgrade seems to have it working perfectly. More here.
 
Last edited:
Thanks for all the updates. Haven’t gotten 100% caught up with the thread but excited to hear about all your experiences. You must have been on the waiting list with deposit/pre-order months ago. Surprised the installer allowed the AC to be on the backup circuit! U must have signed a waiver...
The one to two head minisplit will be the approach I take also.
 
Back
Top