Posted on Leave a comment

NRG Divert Algorithm

So NRG Divert needs to work as reliably as possible and what work for our use cases new use cases may not work ! So the CUMonitor will allow a record  of the results and a qualitative assessment to be made of those results.

We will publish on our website what Algorithms we are using and you should be able to see the results here


The NRG Divert relies on a CU Monitor to record the two current readings taken from the Consumer Unit feeds. It makes an assessment of the likelihood that the Grid connection is indicating that the CU is exporting to the Grid.

NRG Divert Residual (aggregate current consumption)

NRGDivert calculates the current consumption of the house simply by subtracting the Grid current from the PV generated. Obviously this is only worth doing if the CU is observed to be exporting.

This is then assumed to be a stable value and the remaining “spare” energy is calculated by subtracting the Residual from the total PV generated

The first cut of the NRGDivert software assumes the residual value does not change while it controls the load.

Spare energy and using it

So having calculated the “spare current” how to use it and only it is the next problem:

This is done be turning on a resistive load for some AC cycles every second.

Essentially every second the mains AC signal performs 50 cycles and by selectively turning the load on for these cycles you can consume this “spare energy”. Conveniently 50 cycles means that there are 100 half cycles to chose from every second.



Commanding the Load

Turning a load such as a Immersion heater on  without ensuring that zero current is flowing at the time would give rise to a very noisy electrical signal. So we can only do this as the voltage crosses the zero point to avoid this noise.

The Load is a known quantity (its Resistive load) so you know that the full current requirement will be presented when it is turn on.

This is a  power control solution known as cycle stealing. The consumed power is being monitored by CUMonitor  and we should be able to see this load appear as a change on the Grid Monitored value

Verifying the Load

The NRGDivert software  looks for the load appearing on the Grid monitored value and will only remain controlling the load if the expected value is seen and within acceptable tolerances of what it predicts.

This means if the expected Grid Value is out of the predicted range then NRGDivert will disengage the load and recalculate the residual value.


Proving that the algorithm works

On the electricity meter in Site one (ilog) there is a LED that illuminates when the the Meter is exporting to the Grid. This is recorded in the logs on the second plot as a thick yellow line