Solar PV Monitoring System Application note

This page accompanies the main openenergymonitor guide which details the main step by step process of building an openenergymonitor system.

This page documents application specific notes on building a wireless web-connected solar PV monitoring system that monitors both generation and grid import/export.



As detailed in the main guide an openenergymonitor system comprises of wireless sensor nodes that send data at periodic intervals to a web-connected base-station. The wireless sensor node that is used for the solar PV monitor is the multi purpose board called the emontx.

Plugged into the emontx are two clip-on CT current sensors and an AC-AC plug-in voltage adapter are used to sense the solar PV generation and consumption. It is possible to sense the LED pulses from a pulse output utility meter to monitor the power flow, however CT sensors give a much better quality reading of instantaneous power. When monitoring power using the pulse counting method the sample rate is limited to the number of pulses, at low power values the rate of pulses can be extremely long.

Select the current and voltage emontx firmware when you reach the upload the configuration specific firmware step of the main openenergymonitor guide. Note that the emonTx V2 and emonTx V3 use different versions of the firmware.

1. Install sensors & setup emonTx

Discussion on US installation type: and more recently

How the CT sensors are connected installed depends on how the solar PV system has been installed. For sake of reference we have called these systems type 1 and type 2. 


Type 1​

When the generation and consumption can be monitored separately. The amount exported/imported to or from the grid is simply the excess or deficit of the total of generation minus consumption. Knowledge of the direction of the current is not required therefore a plug-in AC-AC voltage sensor adapter is not essential but still recommended for accurate readings. For a type 1 solar PV monitoring system the grid import/export is calculated as follows:

Grid (import/export) = Consumption – Generation

Consumption and Generation should be positive, reverse orientation of clip-on CT sensor if not. Grid calculation will be positive when importing and negative when exporting.

Type 2​

When the generation and consumption cannot be monitored separately, i.e the AC output from the solar PV inverter is fed into a spare MCB in the fuse box. Other household loads such as lights, shower, electric cooker etc. are also connected to other outlets in the same fuse box. If this is the case the output from the PV inverter and the grid import/export connection will need to be monitored instead. Knowledge of the direction of the current is required to determine the difference between power import and power export. Therefore an AC-AC voltage sensor adapter is essential.

When the AC-AC voltage sensor is used (see below) the grid import/export CT reading will go negative when exporting or vice-versa depending on the orientation of the CT clamp round the wire. To be compatible with the software examples included with this documentation it is desirable to clip the CT round the grid import/export cable orientated so that the reading is positive when importing and negative when exporting. The correct orientation can be determined by trail and error. 

Household power consumption can be calculated in software:

Power consumption = Solar PV generation + Grid import/export (negative when export)

AC-AC voltage sensor adapter

In order to determine the direction of the current flow (important for being able to tell the difference between grid import or export) an AC voltage reading is needed to provide a point of reference; this result is a positive or negative current current reading depending on the direction of the current and the orientation of the CT clamp.

The emonTx obtains a voltage reading using an AC-AC 9V plug-in transformer. Using this adapter also allows us to monitor the RMS AC voltage, real power and power factor. For information about how the AC-AC adapter and AC RMS reading works see relevant section in Building Blocks. A nearby power socket is required for the AC-AC adapter.

Note: The emonTx V2 cannot be powered from this AC-AC adapter, but the emonTx V3 can. Special measures are taken in the design of the emonTx V3 power circuits to minimise the way that the disturbance caused by rectifying and loading the AC-AC adapter affects the sampling of the AC waveform. A separate 5V USB power supply or batteries must be used to power the emonTx V2.

CT sensor connections

General note regarding the installation of CT sensors: the clip-on CT current sensors must be clipped round either the live (brown in the UK), or neutral (blue in the UK) wire. Not both. It is sometimes necessary to carefully remove plastic ducting to access the live and neutral wires. Live terminals should not be exposed but if in doubt switch off the power before investigating. A shock from AC mains electricity can be fatal, if in doubt consult the advice of an experienced electrician.

The CT sensors should be connected to the emonTx before being clipped round a live cable.


Above: CT installation on the live wire AC output from the solar PV inverter. Generation meter can be seen on the top right.

Powering the emonTx

The emonTx V2 can be powered from 2 x AA batteries or via mini-usb.

The emonTx V3 can also be powered by the AC-AC adapter, see the main emonTx V3 documentation

A 5V USB adapter (commonly available as mobile phone chargers, see this blog post before choosing an adapter). The power adapters we sell through the shop have been tried and tested with the emonTx and emonBase. 


The emonTx CT_123_voltage example is the correct example to use when using an AC-AC adapter. If you're using a emonGLCD use channel 1  on the emontx for consumption and channel 2 for generation. You must use the sketch that is correct for the emonTx version that you have.

Solar Display

You may like to add a solar energy display to your setup and there is solar pv monitor specific firmware that can be used for this. Once you have installed the Arduino IDE, libraries and firmware following the Setting up the arduino environment guide. The solar pv monitor firmware for the display can be selected by going to:

File > Sketchbook > OpenEnergyMonitor > EmonGLCD > EmonGLCD_SolarPV


The emonGLCD was wall mounted in the living room. The purpose of the emonGLCD is to give the home owner an instant reading of house energy usage compared to the solar PV generation.

The latest version of the emonGLCD firmware includes icon graphics which change from clouds to sun when the sun in shining and the PV is generating :-)

It has been suggested that a home owner might attempt to reduce their consumption at times when a low amount of power is being generated and perform non-essential tasks that consume more power such as washing machine, dishwasher etc. when excess power is being generated. To give the home owner a clear indication of excess power being generated the tri-colour LED's on the top of the emonGLCD are green when power is being exported (excess power being generated) and red when power is being imported (power deficit).


Financial benefits aside, it was found that the home owner felt personal satisfaction by keeping the lights green when at all possible. Behavioral change due to domestic solar PV monitoring is an interesting topic, there have been several research papers written on the topic, the papers highlight the importance of monitoring and clear indication of both generation and consumption to prompt changes in behavior. The monitoring system described here gives far superior user indication to those used in the research below

Behavioural responses to photovoltaic systems in the UK domestic sector, James Keirstead, Lower Carbon Futures, Environmental Change Institute, University of Oxford, UK, 2007.

Photovoltaics in the UK domestic sector: a double-dividend? , James Keirstead, Lower Carbon Futures, Environmental Change Institute, University of Oxford, UK, 2005.


Example of the kind of dashboard that can be created in emoncms to explore solar pv production. See emoncms user guide on how to use emoncms.