Power Consumption Measurement on MAP12H

I have WB-MAP12H device and so far its giving proper measurements for RMS Voltage, current etc.
Now I need to calculate tariff from power consumption data. Tariff is as per Indian Power Ministry guidelines.

Tariff is calculated as per Active Power Consumption (kWh). But whenever I read Active Power Consumption from WB-MAP12H it bounces back and forth around value 1845 kWh.

So can someone help me how can I measure and VERIFY the value shown by WB-MAP12H is correct. We have an authority to verify this data, but they only allow us to use their service once or twice.

I have properly connected the CT and Calibrated the TR and Phase values already.
Request to moderator: Please correct my category as I do not understand russian.

Good day! Could you tell me, what registers exactly do you read Active Power Consumption (kWh) from?

For example, for channel 1 for phase L1 active power consumption can be read from register 0x1204, for channel 1 total active power consumption can be read from register 0x1200: https://wirenboard.com/wiki/WB-MAP12H_Data_Registers

To calculate for example channel 1 total active power consumption correctly you should keep in mind next points:

  • registers types are “input”
  • power consumption is stored as 64-bit value (it iccupies four 16-bit modbus registers)
  • byte order is little endian (that means 0x1200 is the least significant byte, 0x1203 is the most significant byte). You should change order of bytes read in usual way from power consumption registers to make resulting value correct. Bytes in resulting value should be placed like 0x1203 0x1202 0x1201 0x1200. Instructions for converting can be found following the link above.
  • after converting you should myltiply the resulting value after convertion by 0.00001 to get final value of power consumption.

In case of difficulty, pleasy show us separately raw values (in hex format) from registers, for example, 0x1200, 0x1201, 0x1202, 0x1203.


I am using 0x1200 Power consumption. Here is complete details with 200W resistive load on Ch1 L1. L2,L3 and other channels are not loaded.

Image1 : Voltage à OK


Image2 : Channel 1 CT à 0.77Amps, 174.2 Instantaneous Power à OK


Image 3 : Power Consumption : Values are not understood à NOT OK


Here is the abstract of logic implemented:

Here is the raw response values: for 0x1200 and 0x1220 and 0x1240

After Factor multiplication,

Please advise how Wiren Board output these values?

Good day! Thank you for the detailed information (raw values and read / write commands are all I need)!
I’ll try to illustrate how you should calculate the total power consumption.

Case 1, registers 0x1200 - 0x1203

Case 2, registers 0x1220 - 0x1223

Oh!!! I understand the mistake. Thank you.

So 7.64831kWh is the power consumed from the point of very first boot_up of device. right?

Is there any way to reset this to 0?


This is the power consumed for the whole working time (from the first boot to current moment).

No, there is no way to reset this values.