Power diverter using enphase Envoy-S

(Dkw Dkw) #1

I am looking at more effective ways to use the excess PV rather than feeding it back to the Grid. One of the options that I am exploring is to divert the excess PV to the electric booster on my Solar Hot Water system. My PV installation is as follows:

My setup:


  • Envoy-S monitor
  • Panels 16x320W 4 LG neon
  • Enphase Microinverters.


  • 3 Phase Power
  • Net Power meter, Time of Use


I use a python script to log the following Envoy-S data at 15s intervals. The Envoy also provides Current, Reactive and Apparent Power for Total Consumption, Net Consumption and Production

  • Total-Consumption in watts (use)
  • Total-Consumption watt hours today (cumulative)
  • Net-Consumption in watts (import or export)
  • Net-Consumption watt hours today (cumulative)
  • PV Production in watts (Solar PV)
  • PV watt hours today
  • PV watt hours lifetime

Problem Statement.
I want to divert excess PV to a Hot Water System using data from the Envoy-S.

My plan is to use the data from the Envoy to drive a triac or SSR to divert the excess power to the hotwater booster element. I am thinking of using an ESP32 (have some lying around) as the the TRIAC/SSR controller.

I have 3 main questions, that I am hoping some one can help me with.

Question 1:

In terms of Open Energy Monitor is my enphase microinverter system classified as Type 1 or Type installation.

Question 2:

Can I use the data from the Envoy-S to drive a controller and triac without having to install a mk2pvrouter or emontx3 and associated CT’s.

Any help or advice would be greatly appreciated.


(Robert Wall) #2

Question 1:
The essential difference between a Type 1 & Type 2 (our names) is where the PV infeed joins the rest of your system, which determines where the current can be measured. So with what you’ve told us, I can’t say which it is.

Question 2:
My assumption here is the Envoy only produces data every 15 s. If you want to get an accurate null balance of nett energy flow at your grid connection as recorded by your supplier’s meter, then the data from the Envoy is nowhere near fast enough. In the ideal case, “our” (including Robin’s Mk2PVRouter) systems switch the dump load before your supplier’s meter registers a ‘packet’ of energy, so they can exactly balance the nett energy flow as recorded by your meter to zero, even when the PV excess being generated is less than the rating of your dump load. If the power/energy is only available at 15 s intervals, that won’t be possible. Whether this matters depends on how your electricity is billed and your PV generation is paid for.

(The meter’s ‘packet’ is explained in Learn → PV Diversion → Background, and the operation of the Mk2PVRouter is at Learn → PV Diversion → Mk2 PV Diverter. As you mention the latter, I assume you’ve seen that.)

(Dkw Dkw) #3

Thanks Robert very helpful.

I can poll the envoy-s every at least once per second, but I imagine if it is polled more than that the Envoy may not be able to handle it is likely to crash or become unstable, so it looks like using a power diverter is the way to go.

Yes I have been reading about the MK2PVrouter and Power Diversion on the openenergy monitor website. It’s taking a little to get my head around my system versus a standard single phase, that is commonly discussed.

My solar system consists of 16 panels with enphase micro inverters, I believe the Panels and Microinverters are balanced across the 3 phases such that 2 Phases have 5 panels and the third phase has 6.

I know the phases are not matched in terms of load, if they are not will that matter if I use power diverter that monitors only one phase for voltage?

Looking at the options would I be correct in saying they are:

  1. purchase an MK2PVroutrer 3Phase version
  2. Buy an emonTXv3, using Solar PV Power Diversion with emonTx Using a PLL code
  3. Use and arduinio and emonShield


(Robert Wall) #4

That’s a good question. I believe the inverters will attempt to keep the phase voltages the same - assuming they are linked, if that’s the case then you need only measure one phase voltage. However, it indirectly begs the question that’s hinted at in

which is: how does your meter react to an unbalanced load - particularly if (say) one phase is importing and two are exporting (or vice versa)? As far as we’re able to tell, that depends on how your meter is programmed (if it’s an electronic one, rather than a Ferraris), and that depends on the whim of your supplier. There are roughly two possibilities: One is it records the nett import across all three phases. This is the recommended way in the UK, but it’s not universally observed. The second is it records import per phase and sums those. This isn’t good from your point of view, because you could be importing on one phase and paying for it, whilst exporting rather more on the other two. (There’s an underlying assumption here that it ignores exported energy - nett or per phase as it sees fit.)

You write “the hot water booster element”, which makes me think it’s only one on one phase. That would be OK if your meter charges you for nett import across the 3 phases, because it doesn’t matter which phase supplies the dump load. Otherwise, you need the dump load to be on the phase with the greatest potential for exporting energy, and that’s the phase where you will want to measure the voltage.

I think that’s roughly what’s available to you. The “safest” is Robin’s kit - he’s made many and it’s a good design. The other two mean you making the triac hardware. If you’re happy with that, then that’s possibly the most satisfying route. If you make your own, it would be possible to have three triacs feeding into the same load, but you’d need to never, ever, allow two to conduct at the same instant, or you have a line-line short. The switching algorithm would be quite complicated.

(Dkw Dkw) #5


I have a Atlas MK10D meter, which from what I can tell from the local suppliers installation instructions, the meter is to be configured IAW

Ausgrid’s Metering Installation Requirments clearly states in 6.7.4 quote:

All Ausgrid E3/E3c meters add the instantaneous (maximum every second) power flow (magnitude and direction) in each of the three phases. The resultant, depending on the dominant flow, is accumulated in the import or export kWh register. This approach achieves the consistency across the different network connection configurations and credits the customer for the full value of any generation. This is particularly important in examples such as single phase embedded generation systems connected to three phase supply. In such an example, the single phase generation will offset any consumption in the other two phases.

This is also why a single E3/E3c (rather than multiple E1’s) is mandatory for any embedded
generation connected to multi-phase installations, as detailed in Table 5.

I take it from this that the Import and Export is calculated across all three phases. The meter allows me to look at the Voltage and Current per phase. I had a quick look and they look like they are within 0.1-0.2 V of each other.

I do enjoy building my own home automation projects. So I do prefer the satisfaction option and I have a few of the parts already (arduino, SSR etc). Ultimately, I want to have an overide switch that links in to my openhab automation system, manual overide and the SSR/TRIAC will be 25meters from the 3phase monitor. So I will need to think how best to do that.

The Hot water booster is on phase 2. So using a 3 phase monitor to single phase load power diverter is all I will need.

On a side note, do you think it is work refactoring the latest 3 Phase PLL continuous monitor code to also include a power diversion? or does it already do that and I miss understood?

I appreciate your thoughts and help.

(Robert Wall) #6

No, it doesn’t do diversion. You’re welcome to try. It was quite difficult to add in even a single temperature monitor because of the time it took to collect the data, but you might fare better just driving a triac. On that point, sending a pure on/off signal at 3.3 V or so over 25 m should not be a problem - some years ago, I made a 3-triac switch for a friend with 3 hot water tanks, and tested that with about the same length of plain twisted unscreened “telephone” pair. It was never installed because he moved before the old Ferraris meter that didn’t have a ratchet was replaced.

However, what’s worrying is this:
“All Ausgrid E3/E3c meters add the instantaneous (maximum every second) power flow (magnitude and direction) in each of the three phases.”
Unless you’re paid for generation at the same rate as consumption, what I infer from that is you too need to achieve an energy balance over a 1-second interval, and that seems to rule out burst mode operation. You might find that you need phase angle control.

(Dkw Dkw) #7

I had a look at the Voltage for each phase in more detail.


Hot Water Booster off
PH1 - 246V
PH2 - 249V
PH3 - 246V

Hot Water Booster ON

PH1 - 246V
PH2 - 243V
PH3 - 246V

I did notice that the PH1, PH2 and PH3 voltages fluctuated quite a bit when I checked them at random intervals over a 5 minute period. The greatest fluctuation was 6V.

I guess from this I will need to monitor 3 phases for voltage and use mk2pvrouter 3 phase version.

I would also like to put a Bypass switch in so that the I can operate the booster in manual mode should the booster need to manually put on. I assume this is not too hard on the MK2PVRouter.

(Robert Wall) #8

It’s quite normal for voltages to fluctuate - it all depends on how solid the supply is. What matters most is the balance between phases. 2½% on voltage implies 5% on power, so I think you’re probably justified in wanting to measure all three voltages.

Is it not already there? I thought that already existed - but it is manual, not timed (i.e. you must remember to turn it off again!).

(Andrew Barnard) #9


I saw the price of commercial standalone diverters and the fact they used CT clamps without power factor correction and decided to build my own diverter from an ESP8266 driving an SSR with zero crossing control. In my case the metering is in the garage and the immersion heater is in the tank on the landing. I am on 1phase UK electricity supply (240V).

The diverter gets usage/generation data from the remote meter (again ESP8266) over WiFi every 10s, so about a similar rate to what you were proposing. I am monitoring meters which seem to have an ‘energy bucket’ of 1Wh (1000 pulses per kWh), as described elsewhere on this forum.

Anyway, I wanted just to give feedback about diversion based on 10s updates. Comparing usage/generation/diversion data with the diverter switched on and off it seems I get roughly 90% of excess energy diverted, and this with the system set up to prefer erring on the side of not diverting energy rather than importing when on the margin (i.e. the uncertain area due to measuement error and lag from 10s updates).

Of course your experience may vary, in particular depending on how rapidly usage and/or generation varies on site. In our case the water heats during the day when the house is empty and is mostly running background loads (dominated by fridge/freezer). However, I’d say that a perfectly satisfactory diverter system can be designed for domestic premises with a 15s update interval. And terms of return on investment, if the BOM for an ESP32/SSR based diverter system is £5-£10, then its hard to beat.


(Dkw Dkw) #10

Hi Andrew,
Your hotwater system looks very similar to mine.The issue I have is that my power meter calculates using the maximum energy (import/export) over a 1 second interval. Polling my Envoy-s at 1 second interval will not be practical. I would like to build the energy monitor out of an ESP32 as it looks like it enough ADC inputs to handle 3 Phase Voltage and Current monitoring.

Would you mind sharing your more details about your design? I assume your Zero Crossing SSR is driven by an ESP8266/ESP32 is that correct.