Solar Import/Export

Basics and terminology

When using a solar energy system, IoTaWatt can measure power generated, power consumed and power imported from or exported to the grid. The unit will record this data in the datalog at 5 second resolution for up to one year, and at 1 minute resolution thereafter.

How that data is recorded depends on how the system is connected. Generation is always measured directly by a CT on the inverter output.

A CT on the Mains measures Consumption directly when the inverter connects to the mains upstream (before) the Mains. By convention established by Open Energy Monitor we will call this a type 1 system. In this system, Import/Export is calculated as Mains - Generation, so Import is positive and Export is negative.

When the solar inverter connects downstream of the mains, i.e. via a circuit-breaker inside the load center, it is called a type 2 system. With this setup the mains CT measures Import/Export directly and Consumption = Mains + Generation.

Regardless of which system you have there are three primary metrics:

  • Generation
  • Consumption
  • Import/Export (+/-)

Either Import/Export or Consumption will be calculated depending on type 1 or 2 respectively. The vast majority of solar installs are type 2.

Simple Measurement

With the above metrics, power (Watts) and energy (Wh) for a time period up to a day can be graphed using Graph+ by simply graphing the appropriate inputs and outputs corresponding to the above metrics.

Outputs can be specified for Import or Export only:

Import = Import/Export max 0

will yield only the energy imported from the grid.

Export = (Import/Export) min 0) abs

will yield only the energy exported to the grid, as a positive number.

So day-to-day monitoring of solar performance using Graph+ is simple and easy. This works because a daily plot is composed of a series of two minute measurement intervals. For all intents and purposes each of those intervals will be composed of all import or all export. Where both import and export occur during the interval, the net value will be used. On any given day, this typically only happens a few times.

Longer Term Measurement

Plotting or querying over longer periods, the measurement intervals become longer. As described above, IoTaWatt reports the net Import/Export for each interval. So when the interval becomes an hour, the probability is that several of those hours will not be all import or export, but rather the net of import and export. The result is that only net import/export can be extracted and singular import or export metrics will be inacurate.

For example, if over the course of an hour you import 2,400 Wh and export 3,700 Wh you will have a net of 1,400 Wh exported and have no way to discern from these metrics the individual import and export components.

The data is there, in granular form in 5 second intervals, but IoTaWatt would need to process 720 datalog records for each hour in order to integrate those metrics. A monthlong plot will have one hour intervals, so the entire plot would require integrating about half-million 5 second datalog records. It would take a very long time.

There are a few solutions to this problem:

Use PVoutput. Uploading your Consumption and Generation to the free PVoutput site will allow you to view solar performance on their website or via their mobile app. The data is uploaded in 5 minute intervals and PVoutput maintains integrated data for weekly, monthly and yearly analysis. There is also a live view of daily performance.

Upload to a time-series database. IoTaWatt supports uploads to both influxDB and Emoncms. You can upload and accumulate the individual import and export metrics, or in the case of influx you can query the integrated value.

The primary reason that IoTaWatt cannot maintain a continuous integration of import and export is that the datalog has no additional capacity to save the results. Without getting into a lot of peripheral topics, it’s just not practical. The next generation of IoTaWatt will have this capability, but retrofitting extra datalog space would involve serious conversion issues. For the number of folks that would benefit, it doesn’t make sense.

One possibility is to sacrifice an existing input, or rather the datalog storage space of an existing input, to retain the integrated data. Look for that capability in an upcoming release. In the meantime, the data is available with shorter intervals like a day, but not so much as the measurement period extends to weeks, months and years.