DIY Solutions For Solar Power Diversion Through Home Automation

Smart House - Home Automation and Solar Power

A couple of weeks ago, I took a look at a customer’s need to integrate his solar PV controller with his smart home system, and concluded that this industry needs to settle on standard protocols so systems can get smarter.

That post drew some really interesting comments and suggestions for solutions – and while I haven’t changed my opinion that the industry falls far short of a plug-and-play solution for the “if there’s enough solar power, switch on the heater / pool pump”, it’s worth looking over what our readers suggested (the original comments are beneath the original post).

Thanks to Mark A for pointing out Fronius gets pretty close to a plug-and-play solution: its inverters’ Energy Management feature has load diversion, and Mark told us that with a recent software update, the inverter can manage four digital outputs with selectable priority. However, the ability to integrate that with the smart home depends on support from the smart home vendors – or the user’s willingness to get into Fronius’ Application Programming Interface (API).

pv diversion with Fronius

This example from Fronius uses the Fronius Smart Meter to control a digital output – which switches an external relay when there is surplus solar energy. This is obviously a hard wired solution.

Before picking up other comments, I’d like to return to the IT systems administrator I spoke to while prepping the previous article, because his setup turns out to be pretty typical of most of the advice that turned up in the comments on the story: you need to get data out of the inverter (via Bluetooth in his case); data travels over the Internet to PVOutput; and Home Assistant fetches the data from PVOutput and controls a TP-Link Smart Switch (while TP-Link doesn’t publish its API, there are GitHub projects like this one to help) to turn the pool pump on or off.

example api flow

How many APIs does it take to turn on a smart socket?

Geoff’s comment gave us similar advice – he alerted us to the open source TP-Link software – as did Paul, who uses Home Assistant, Efergy current clamps, and WiFi switches.

You’ve probably noticed by now that there’s a minimum level of DIY, whatever the solution, at least to program what happens in what conditions.

Turning to IFTTT

Another entry in the “most popular solution” list is If This Then That, a service that allows users to choose triggers (for example, “high PV output”) that they link to actions (“switch power to EV charger”).

Commenter Matthew likes IFTTT, with a caveat relevant to the solar power diversion question:

“If solar inverter manufacturers and smart pool pump makers each implement an interface into IFTTT, then users can easily setup whatever rules they want”.

Vendors’ willingness to cooperate is the difficult question. Malcolm also likes IFTTT, but probably accurately considers it too complex for the average user.

Parklea Solar told us they run the Reposit monitoring system, and IFTTT uses Reposit data as triggers to actions in a Homeseer automation system, managing Insteon switches.

solar diversion using reposit -ifttt - homeseer - insteon

A solution using a Reposit monitor, IFTTT web service, a Homeseer home automation hub and an Insteon smart socket.


Doug alerted us to OpenEnergyMonitor, which offers open-source software and hardware to plug this gap.

OpenEnergyMonitor has software for Energy Use, Solar PV, EV Charging and Heat Pump Monitoring. The EV Charging solution handles realtime solar diversion and would suit the Tesla-owning YouTuber CWNE881, but at this point, OpenEnergyMonitor seems to lack hardware specific to the Australian market.

Its approach to solar energy diversion looks daunting if you’re not comfortable building the hardware. It’s not for the faint-hearted.

Big guns for Mac owners

If you’ve got slightly deeper pockets, a Mac Mini is what Mclass runs to host the Indigo home automation system, which runs “the whole house including remote access” on a Mac Mini. Indigo can work with Enphase’s Envoy through a plug-in and directly with Fronius via its API.

I’d like to close with one more concern of my own.

Most of the solutions described here use cloud services for data collection or programming, and that’s a pretty big point of failure.

As the last household on a very long strand of Telstra copper, I couldn’t ever be certain that the upstream service is visible from my place; and cloud smart home services can be taken out of service by faults in the wider Internet (this isn’t the place for a tutorial on the Domain Name Service or the Border Gateway Protocol, but they’re both great ways to break big cloud providers like Amazon, Microsoft Azure, and Google).

Personally, I’d prefer a solution that can at least function locally if it needed to.


  1. Or as Mondo pointed out – the Zappi charger does PV diversion out of the box
About Richard Chirgwin

Richard Chirgwin is a journalist with more than 30 years' experience covering a wide range of technology topics, including electronics, telecommunications, computing and science.


  1. koen weijand says

    the main problem is in the PV inverter. a throttled inverter does not know and cannot tell how much power there is available at MPP. only inverters operating at MPP can tell what they are actually doing. then we can decide how to use that power by controlling loads. a pool pump using a frequency inverter is a good example of controllable load. inverter heatpumps are good candidates too.

  2. Hi Richard,
    Great article.
    Having done some investigation in this area, I found discrete energy diversion products were way too expensive and too structured for my specific needs.
    I ultimately went down the OpenEnergyMonitor path and built my own 3 phase unit to divert surplus solar energy to my HWS and both of our electric cars. The configurability is great as I can have the diverter do exactly what I want. The cost was less than $200 and it’s working well. You do require some confidence and an interest to learn, but the available information in the OpenEnergyMonitor website is excellent.

    • koen weijand says

      car chargings is a great opportunity as the charge current can be controlled by the dutycycle of the 1khz pilot that we send to the car, so we can divert power based on the smart meter feed-in information.

      those that built their own EV charger charge point (basically a relay and a 1khz pilot generator plus some 12V circuitry , a ripoff of many providers), know how to implement that.

    • I agree with your facts Gavin. The reliability factor is probably one of the most important aspects followed by the inherent design flaws in modern electronics equipment. Future compatibility is also another major factor as equipment is reconfigured to new or emerging ‘standards’.

    • Do you have more details on your set-up? Drawings, parts list, code?

      I have had a look at the OpenEnergyMonitor website and will need to do more study, but a few hints would be nice, if there is a good forum or how-to.

  3. Tim Lawson says

    Great Information, Thanks.

    Another challenge:.

    Have you seen any innovative products or ways to tap into that mythical 1.66kW of throttled generation between 10 and 2 pm in the middle of summer?

    • If you DC couple a battery, the battery can take full advantage of the DC power from the solar panels regardless of the size of the inverter. In fact if you DC couple anything you can do this.

      SolarEdge have an inverter where you can AC and DC couple your panels – good for retrofitting batteries to existing systems and adding panels for the battery without going over DNSP limits.

      • Daniel Debreceny says

        …. but solaredge only support DC coupled LG HV batteries at this time …

        or the new combo inverter/charger SExy00H series with the Solaredge HD-Wave car charger …

  4. Mark Reynolds says

    Like Richard (the author) I was not keen on the cloud hosting being the controlling factor in pretty much every diy system.
    It’s actually more embedded than it seems, with the Inverter normally reporting back to the manufacturers website and database. And then after you figure out how you want to turn your plugins switches on and off, they are normally/mostly/often also controlled by a server in the cloud, also by their manufacturer. Then perhaps your using IFTTT also, which of course, is in the cloud too.
    My system has been running now reliably for a year, with the previous year being lots of learning and development. Sungrow hybrid inverter. While I use a local raspberry pi to collect data, and control SONOFF switches, everything else is in the cloud.
    It’s been far more reliable than I was expecting.
    Then again, I’m across the road from the NBN node, and getting 70Mbps for our NBN internet.
    The general argument from people arguing in favour of cloud solutions, is that they’re more reliable and cheaper, than anything you can operate locally. Think updates, upgrades, security etc etc. I’m beginning to agree with them, even though sungrow forced an upgrade to their website on me, and now I can’t get some of the data I need. More investigations.

  5. Steve Ingram says

    This is definitely on my wish list but it is currently on the too-hard list too.

    I have an Enphase system and with the Envoy can see what is happening minute to minute. I can decide whether there is enough available solar power to turn on the hot water booster or run the dishwasher, but would love to be able to at least have an IFTTT system running the hot water booster.

    The best I have at present is a Clipsal Iconic Bluetooth timer/clock that comes on in the afternoon for an hour. I schedule it when I know my demand is low, but when there should be enough solar surplus. Today is a good example – surplus when it switched on, but 30 minutes later there is cloud so it is using network power. Ideally the IFTTT would shut the booster down until the cloud passed or if I turned the espresso machine on.

  6. Hi Richard,

    Great article. The lack of device communication standards and restrictions on data access (cloud or local) for managing house load, production and storage is becoming a more pressing issue. I expect these are also a barrier to commodity home management devices.
    There are limits to just adding more CT clamps for each management device…

    Consider the question: How easy is it to “plug” that new smart fridge, dryer, or washing machine into your home management system so it effectively utilises available power?

    In terms of local control, most of the time it is possible to access the devices locally but it’s not easy to do. For example I can get local access to the data on my Powerwall and Enphase system, down to the second, but it takes a bit of work to get access to it. The Enphase is fairly locked down for the customer to access, the Tesla not so much.

    I run Node-Red locally, it handles all my rules and has a lot of plugins available for local devices, like for my TPLink switches, or fudging local Alexa devices like my fans and lights. (I also use a TPLink switch to manage my pool pump). Node-Red runs fine on a Raspberry PI 2 or 3.

    My Power Diverter is a bit frustrating as I have no real-time control over it, and it can only sense a single phase. I expect a wifi switch at the meter board could be an option.

  7. Great to see Gavin has an Open Energy Monitor (OEM) & re-director system running. I like the Open Energy designs. In particular, the Hot Water controller can use any excess energy. It does this by switching cycle-by-cycle (triggering an electronic switch) & monitoring the power output. So, if excess energy is available, it will be re-directed until the HWS turns off. A similar thing happens with EV charging, but the power for EV charging needs to be more consistent, so the management is different.
    The OEM can also control things like pumps, & heating/cooling.

    One issue I found with my Internet connected Solar-Edge system is the Web update is not as often as I would like, so my solution is to go to the OEM. Eventually, I will monitor & control my Water tank system so I switch the transfer pump when power is available, & monitor the tank levels. At present, we charge our EV at night, but in the future will move this to daytime charging (when my wife retires, so does not use the car for commuting).

    Eventually, I would like to see a standard for communication for devices. I would like (in the future) to be able to sell power to my energy retailer at a premium price (as in Battery to grid), or power save at request as load shedding.

  8. My solution is an SMA Sunny island 8.0h-12 and a number of sunny Boy grid feed inverters in off grid mode…three BYD 13.8kw lithium batteries complete the picture….42kw.

    The grid feeds the generator input on the Sunny island if needed.

    The Sunny island and the Sunny Boys all have relays built in that can be triggered by many thresholds.

    It just works…no need for silly little arduino or triac solutions.

    Relays are good…you can HEAR them working.

    Why would i want to feed the grid in Australia at all?

    They charge us 30c/kwh and pay is 5c to feed in.

    Stuff them…give the multinationals zero…run the hot water, the desalinator, the heat pump…or let the electrons dump on the lawn rather than giving the power away.

  9. Christopher Stewart says

    For a direct integration solution you may look at the following:

    Many of the inverters are Sunspec certified, which use an old PLC protocol MODBUS as their communications standard. If you use one of these inverters you can directly connect to them to get all of the inverter status information including current kwh data. You can use an Arduino / ESP8266 based controller (<$10) and free software on github to program the controller. While not plug and play you can use this information to control a pool / heat pump and connect to home automation system like Alexa.
    I have done a project (free on github) which controls my pool via Alexa using MODBUS as the communications. In future when I get solar (too much shading on my roof at the moment to make cost effective) I intend to also integrate the inverter by using one of these Sunspec compliant ones.

  10. Thomas Martin says

    I too am very interested in maximizing self consumption. My feed-in tariff is currently $0.10/kWh, while it costs me $0.36/kWh to buy it back!
    Here are a few devices, which haven’t gotten much attention in the article or comments:
    Solaredge has several products which can help. They have Smart Energy switches, sockets, relays, and hot water controller, which communicate with their inverters via zigbee:
    Unfortunately, the sockets and switches are not compatible with US electronics at this time.
    Their SE7600H-US inverter with built in EV charger can be set to either boost EV charging with excess solar power or use surplus solar power to charge your EV.

    Myenergi makes Zappi, which has several smart charging modes including one that only uses surplus renewaable (PV or wind) energy to charge your EV and Eddi, which powers your water heater or space heater.

    My solar energized home are in a warm climate with no need for heating but a great need for AC. An ice storage system to augment or replace AC like the Ice-Energy Ice Bear seems to be very attractive but I have had a hard time getting info from the company besides what is on their website and I can’t find any outside review of the efficiency of their devices.

    • Does anyone have experience with Eddi? I read the whirlpool forums where they are not happy with the diverters due to still importing grid energy while having surplus generation.

      I tried out both home assitant and openhab. Found openhab has a hack to utilise Solaredges realtime monitoring instead of relying on api (limited to 300 a day). Tested openhab to turn on smart light bulbs when ever there is excess solar generation.

      Next steps:
      option 1: get an electrician to either install Sonoff POW or change 3.6kw heating element to 2.4kw and use a Tp-Link switch to switch it on automatically.
      option 2: get myenergi Eddi

      I prefer Eddi but not sure if it works.

  11. Steve Ingram says

    This looks interesting:

    But at $980 for the hardware and plus installation, the payback period would be a while.

  12. Hi Steve,
    Apologies for the delay in responding.
    I don’t have formal documents prepared, but you are welcome to the code I have.
    Essentially the diverter is comprised of the following:

    – Power Sensing
    There are many approaches here, some very simple. You could simply monitor the output from your inverter using a non invasive current transformer and set arbitrary limits to divert power. This is not perfect as it won’t take into account your overall consumption, but it’s really easy to implement and would be better than nothing.
    I ended up using a slightly more complex approach with both current transformers and voltage sensing to determine actual power flow to/from the grid. This isn’t overly difficult and you can utilise simple AC power packs for voltage sensing. The process is more complex for 3 phase systems, but not overly so – you just need to have 3 of everything.

    – Diversion
    Once you have your power sensing calibrated, your can then program modes (Case statements on the Arduino) to do something based on the magnitude of the power flow. I have used solid state relays for switching power and to keep things simple. Essentially once power flow to the grid exceeds a predetermined value, you can switch on an appliance or multiple appliances in sequence. I have configured 15 modes. Some modes provide priority to the HWS (then Car 1 and Car 2) and some provide priority to the the cars first and then the HWS. There’s heaps of flexibility here.

    Some commercial diverters will divert power on a variable basis to resistive loads (ie: once I’m exporting 200W, start diverting 200W to the HWS). The downside of using relays is that you’re working with power thresholds and variable diversion is not possible. Having said that, for the low cost of this system, the opportunity cost of variable diversion isn’t a worry to me.

    In relation to charging EVs, I basically switch power to the EVSE, I’ve found with both our vehicles that they can tolerate breaks in the power connection (ie: once the power is restored, the EV (mostly) recommences charging). To ensure however that the EVs aren’t being cycled on and off quickly on a (say) cloudy day or when other appliances are switched on in the house, I’ve had to incorporate delay/trigger/hysteresis code in the unit which keeps the EV active for 10 minutes once it’s switched on. This seems to be working pretty well.

    I really like this simple system I have in place. It’s by no means perfect, but it was inexpensive to implement (assuming my time was free!!) and it works really well. It’s already paid for itself and it’s great to have some basic automation in place to divert power.

  13. Like many I have been looking at ways of using excess power, unfortunately we have a combi boiler and dont have a hot water tank. This led me to looking at other ways to utilise the excess PV power.. and one way for us was to turn on our towel radiators and other oil fires etc.. this is only any good in winter.. but in the summer I can divert to our air conditioning etc.

    We have two different PV inverters, one dumb one Solis 4G with Wifi Stick. initially I had looked at using various Arduino DIY ways of measuring export and generation.. all way over complicated I realised.

    We have a lot of amazon alexa devices and I already have a sonos IFTT device setup that can trigger groups / events etc on an NO input. So i have been looking at simple ways to measure export to trigger a relay that will trigger the Sonos device etc.. Most of the commercial solar diverters I have seen are expensive and overkill for my requirements.

    We have separate meter tails for load and generation, so my most simple setup idea was a CT current relay (Ebay for £6) connected to the Sonus IFTT device on the tails of the PV System… this obviously doesent take in account the house load… but is merely setup to turn on loads at periods of high PV generation. That said its simple cheap and ROI is high which is the important part.

    Hope this makes sense 🙂

Speak Your Mind


%d bloggers like this: