Introduction: Wireless Electrical Power Consumption Monitoring and Logging

There are known many electrical consumption monitoring or metering devices - industrial made, Arduino based etc.
In general they haven't remote data monitoring capabilities - local display show data. Some of them can be used wirelessly - remote display.
Interesting was electric imp Becky - a design for a wireless “plugtop” style power sensing and control.

Practically all designs are not isolated from mains - simple resistor voltage divider are used for voltage sensing.
Non - isolated devices are very dangerous and must be disconnected from mains if necessary to do something with electric circuit.
Protective enclosure must be applied.
For 3-phase power metering it becomes more difficult.
Probably, the main reason for non-isolated designs are voltage sensing transformer - no light-weight and small designs are available.

In order to make safe device isolated energy sensor PES220/240R_UART was applied in connection with electric imp and imp April board.
Necessary:
1 electricimp,
1 April board,
1 resistor 2,4 Kohms,
1 resistor 3,6 Kohms,
1 SMPS +5V power supply, Myrra 47122 or similar,
1 PES220/240R_UART power/energy sensor,
1 pinheader, 12 pins (male+female) to connect April board
1 pinheader, 6 pins to connect sensor.
1 current transformer - Seedstudio Grove (5Amp, ±2V output) or SCT-013-030 (30Amp), SCT-013-100 (100 Amp), ±1V output.

Connection are shown on figure. 
Resistor voltage divider to shift PES +5V TTL level to +3.3V imp level.

Raw output data PES are used so calibration must be done.
Calibration include comparing PES data, received via UART and wattmeter readings.
3pcs 100W halogen lamps (220V) act as load. 
Instead of wattmeter energy metering mains plug can be used. Or well known voltmeter-ampermeter method used.
To finde necessary coefficient PES output readings  - average for 10 or more readings are divided to wattmeter readings (average).
In current case coefficient value is ~575.
Coefficient can be adjusted later testing different load types (inductive, capacitive or rectifier-capacitor)

Below given imp code:

line <- "";
local count = 0;
local sumE = 0;
local sumW = 0;

function rx() {
  local d = uart.read();
  while(d >= 0) {
    if (d>=' ') line += d.tochar();
    if (d=='\r') {
     local E = line.tointeger();
     count +=1;
     sumE += E;
     line="";
     if(count == 2) {
      sumW = sumE/(2*575);
      server.log(" W:" + sumW);
      count = 0;
       sumE=0;
       }
    }
    d=uart.read();
  }
}

uart <- hardware.uart57;
uart.configure(9600, 8, PARITY_NONE, 1, NO_CTSRTS, rx);

server.log("Energy_Rx");