{
  "$schema": "https://raw.githubusercontent.com/nobrega8/mbmap-library/main/schema/mbmap-2.schema.json",
  "mbmap": 2,
  "vendor": "Socomec",
  "model": "Countis E13",
  "models": [
    "Countis E13"
  ],
  "vendor_website": "socomec.com",
  "revision": 3,
  "revised": "2026-11-10",
  "sources": [
    {
      "title": "Countis E13 MODBUS communication table",
      "version": "48503043 V103.19 (table V 1.1)",
      "date": "2017-08",
      "url": "https://www.socomec.co.uk/sites/default/files/2021-05/COUNTIS-E13-MODBUS-48503043-V103.19_COMMUNICATION-TABLE_2017-08_CMT_EN.html",
      "note": "Whole table except reserved, command and date registers"
    }
  ],
  "notes": [
    "Single-phase meter: only phase 1 voltage, current and power are listed.",
    "Addresses are the decimal addresses printed in the table, sent as written (address_base 0). Registers are read as holding registers.",
    "Scales follow the table's unit column (for example V/100 becomes a scale of 0.01); energy counters are in kWh, kvarh and kVAh, or in 10 Wh steps in the second set.",
    "The table gives neither function codes nor byte or word order: big-endian with the high word first is assumed (Socomec convention). Not tested on a device.",
    "Values the table types as 8-bit sit in one 16-bit register and are read as uint16. Date and time, 64-bit, record and command registers (resets, tariff selection) are not mapped."
  ],
  "byte_order": "big",
  "word_order": "big",
  "address_base": 0,
  "x_status": "official",
  "registers": [
    {"name": "Manufacturer signature", "group": "Identification", "area": "holding", "address": 50000, "type": "string", "length": 4, "reference": "SOCO"},
    {"name": "Product family code", "group": "Identification", "area": "holding", "address": 50004, "type": "uint16", "reference": 100},
    {"name": "Product ID", "group": "Identification", "area": "holding", "address": 50005, "type": "uint16"},
    {"name": "Table version", "group": "Identification", "area": "holding", "address": 50006, "type": "uint16", "scale": 0.01},
    {"name": "Software version", "group": "Identification", "area": "holding", "address": 50007, "type": "uint16", "scale": 0.01, "role": "firmware"},
    {"name": "Product version, major", "group": "Identification", "area": "holding", "address": 50018, "type": "uint16"},
    {"name": "Product version, minor", "group": "Identification", "area": "holding", "address": 50019, "type": "uint16"},
    {"name": "Product VLO code", "group": "Identification", "area": "holding", "address": 50030, "type": "string", "length": 4},
    {"name": "Vendor name", "group": "Identification", "area": "holding", "address": 50042, "type": "string", "length": 8},
    {"name": "Product name", "group": "Identification", "area": "holding", "address": 50050, "type": "string", "length": 8},
    {"name": "Extended name", "group": "Identification", "area": "holding", "address": 50058, "type": "string", "length": 8},
    {"name": "Slave address", "group": "Settings", "area": "holding", "address": 57344, "type": "uint16", "access": "RW", "comment": "8-bit value held in one register."},
    {"name": "Baud rate", "group": "Settings", "area": "holding", "address": 57345, "type": "uint16", "enum": {"0": "1200", "1": "2400", "2": "4800", "3": "9600", "4": "19200", "5": "38400", "6": "57600", "7": "115200"}, "access": "RW"},
    {"name": "Stop bits", "group": "Settings", "area": "holding", "address": 57346, "type": "uint16", "enum": {"0": "1", "1": "2"}, "access": "RW"},
    {"name": "Parity", "group": "Settings", "area": "holding", "address": 57347, "type": "uint16", "enum": {"0": "None", "1": "Odd", "2": "Even"}, "access": "RW"},
    {"name": "Voltage V1 (phase-neutral)", "group": "Measurements", "area": "holding", "address": 50520, "type": "uint32", "scale": 0.01, "unit": "V"},
    {"name": "Frequency", "group": "Measurements", "area": "holding", "address": 50526, "type": "uint32", "scale": 0.001, "unit": "Hz"},
    {"name": "Current I1", "group": "Measurements", "area": "holding", "address": 50528, "type": "uint32", "scale": 0.001, "unit": "A"},
    {"name": "Active power, total", "group": "Measurements", "area": "holding", "address": 50536, "type": "int32", "scale": 10, "unit": "W"},
    {"name": "Reactive power, total", "group": "Measurements", "area": "holding", "address": 50538, "type": "int32", "scale": 10, "unit": "var"},
    {"name": "Apparent power, total", "group": "Measurements", "area": "holding", "address": 50540, "type": "uint32", "scale": 10, "unit": "VA"},
    {"name": "Power factor, total", "group": "Measurements", "area": "holding", "address": 50542, "type": "int32", "scale": 0.001},
    {"name": "Active power L1", "group": "Measurements", "area": "holding", "address": 50544, "type": "int32", "scale": 10, "unit": "W"},
    {"name": "Reactive power L1", "group": "Measurements", "area": "holding", "address": 50550, "type": "int32", "scale": 10, "unit": "var"},
    {"name": "Apparent power L1", "group": "Measurements", "area": "holding", "address": 50556, "type": "uint32", "scale": 10, "unit": "VA"},
    {"name": "Power factor L1", "group": "Measurements", "area": "holding", "address": 50562, "type": "int32", "scale": 0.001},
    {"name": "Voltage V1 (phase-neutral) (no CT/VT ratio)", "group": "Measurements", "area": "holding", "address": 51284, "type": "uint16", "scale": 0.01, "unit": "V", "description": "Reading before the transformer ratio is applied."},
    {"name": "Frequency (no CT/VT ratio)", "group": "Measurements", "area": "holding", "address": 51287, "type": "uint16", "scale": 0.001, "unit": "Hz", "description": "Reading before the transformer ratio is applied."},
    {"name": "Power factor, total (no CT/VT ratio)", "group": "Measurements", "area": "holding", "address": 51295, "type": "int16", "scale": 0.001, "description": "Reading before the transformer ratio is applied."},
    {"name": "Power factor L1 (no CT/VT ratio)", "group": "Measurements", "area": "holding", "address": 51305, "type": "int16", "scale": 0.001, "description": "Reading before the transformer ratio is applied."},
    {"name": "Total active energy import (16-bit)", "group": "Measurements", "area": "holding", "address": 51311, "type": "uint16", "unit": "MWh"},
    {"name": "Total reactive energy import (16-bit)", "group": "Measurements", "area": "holding", "address": 51312, "type": "uint16", "unit": "Mvarh"},
    {"name": "Total active energy export (16-bit)", "group": "Measurements", "area": "holding", "address": 51313, "type": "uint16", "unit": "MWh"},
    {"name": "Total reactive energy export (16-bit)", "group": "Measurements", "area": "holding", "address": 51314, "type": "uint16", "unit": "Mvarh"},
    {"name": "Total active energy import (non-resettable)", "group": "Energy", "area": "holding", "address": 50770, "type": "uint32", "unit": "kWh"},
    {"name": "Total reactive energy import (non-resettable)", "group": "Energy", "area": "holding", "address": 50772, "type": "uint32", "unit": "kvarh"},
    {"name": "Total apparent energy (non-resettable)", "group": "Energy", "area": "holding", "address": 50774, "type": "uint32", "unit": "kVAh"},
    {"name": "Total active energy export (non-resettable)", "group": "Energy", "area": "holding", "address": 50776, "type": "uint32", "unit": "kWh"},
    {"name": "Total reactive energy export (non-resettable)", "group": "Energy", "area": "holding", "address": 50778, "type": "uint32", "unit": "kvarh"},
    {"name": "Partial active energy import", "group": "Energy", "area": "holding", "address": 50780, "type": "uint32", "unit": "kWh"},
    {"name": "Partial reactive energy import", "group": "Energy", "area": "holding", "address": 50782, "type": "uint32", "unit": "kvarh"},
    {"name": "Partial apparent energy", "group": "Energy", "area": "holding", "address": 50784, "type": "uint32", "unit": "kVAh"},
    {"name": "Partial active energy export", "group": "Energy", "area": "holding", "address": 50786, "type": "uint32", "unit": "kWh"},
    {"name": "Partial reactive energy export", "group": "Energy", "area": "holding", "address": 50788, "type": "uint32", "unit": "kvarh"},
    {"name": "Total active energy import (non-resettable) (10 Wh step)", "group": "Energy", "area": "holding", "address": 50946, "type": "uint32", "scale": 10, "unit": "Wh"},
    {"name": "Total reactive energy import (non-resettable) (10 Wh step)", "group": "Energy", "area": "holding", "address": 50948, "type": "uint32", "scale": 10, "unit": "varh"},
    {"name": "Total active energy export (non-resettable) (10 Wh step)", "group": "Energy", "area": "holding", "address": 50952, "type": "uint32", "scale": 10, "unit": "Wh"},
    {"name": "Total reactive energy export (non-resettable) (10 Wh step)", "group": "Energy", "area": "holding", "address": 50954, "type": "uint32", "scale": 10, "unit": "varh"},
    {"name": "Partial active energy import (10 Wh step)", "group": "Energy", "area": "holding", "address": 50956, "type": "uint32", "scale": 10, "unit": "Wh"},
    {"name": "Partial reactive energy import (10 Wh step)", "group": "Energy", "area": "holding", "address": 50958, "type": "uint32", "scale": 10, "unit": "varh"},
    {"name": "Partial active energy export (10 Wh step)", "group": "Energy", "area": "holding", "address": 50962, "type": "uint32", "scale": 10, "unit": "Wh"},
    {"name": "Partial reactive energy export (10 Wh step)", "group": "Energy", "area": "holding", "address": 50964, "type": "uint32", "scale": 10, "unit": "varh"},
    {"name": "Active tariff", "group": "Tariffs", "area": "holding", "address": 50849, "type": "uint16", "comment": "8-bit value held in one register."},
    {"name": "Tariff 1 active energy import", "group": "Tariffs", "area": "holding", "address": 50850, "type": "uint32", "unit": "kWh"},
    {"name": "Tariff 2 active energy import", "group": "Tariffs", "area": "holding", "address": 50852, "type": "uint32", "unit": "kWh"},
    {"name": "Tariff 1 reactive energy import", "group": "Tariffs", "area": "holding", "address": 50866, "type": "uint32", "unit": "kvarh"},
    {"name": "Tariff 2 reactive energy import", "group": "Tariffs", "area": "holding", "address": 50868, "type": "uint32", "unit": "kvarh"},
    {"name": "Tariff 1 time counter", "group": "Tariffs", "area": "holding", "address": 50882, "type": "uint32", "scale": 0.01, "unit": "h"},
    {"name": "Tariff 2 time counter", "group": "Tariffs", "area": "holding", "address": 50884, "type": "uint32", "scale": 0.01, "unit": "h"},
    {"name": "Active tariff (second table)", "group": "Tariffs", "area": "holding", "address": 51201, "type": "uint16", "comment": "8-bit value held in one register."},
    {"name": "Tariff 1 active energy import (10 Wh step)", "group": "Tariffs", "area": "holding", "address": 51202, "type": "uint32", "scale": 10, "unit": "Wh"},
    {"name": "Tariff 2 active energy import (10 Wh step)", "group": "Tariffs", "area": "holding", "address": 51204, "type": "uint32", "scale": 10, "unit": "Wh"},
    {"name": "Tariff 1 reactive energy import (10 Wh step)", "group": "Tariffs", "area": "holding", "address": 51218, "type": "uint32", "scale": 10, "unit": "varh"},
    {"name": "Tariff 2 reactive energy import (10 Wh step)", "group": "Tariffs", "area": "holding", "address": 51220, "type": "uint32", "scale": 10, "unit": "varh"},
    {"name": "Tariff 1 time counter (second table)", "group": "Tariffs", "area": "holding", "address": 51234, "type": "uint32", "scale": 0.01, "unit": "h"},
    {"name": "Tariff 2 time counter (second table)", "group": "Tariffs", "area": "holding", "address": 51236, "type": "uint32", "scale": 0.01, "unit": "h"},
    {"name": "Sum of lines total active energy import", "group": "Energy by line", "area": "holding", "address": 19843, "type": "uint32", "unit": "kWh"},
    {"name": "Sum of lines total active energy import, fractional part", "group": "Energy by line", "area": "holding", "address": 19845, "type": "uint16", "scale": 0.1, "unit": "Wh", "description": "Remainder below the main counter step, to add to the counter above."},
    {"name": "Sum of lines total active energy export", "group": "Energy by line", "area": "holding", "address": 19846, "type": "uint32", "unit": "kWh"},
    {"name": "Sum of lines total active energy export, fractional part", "group": "Energy by line", "area": "holding", "address": 19848, "type": "uint16", "scale": 0.1, "unit": "Wh", "description": "Remainder below the main counter step, to add to the counter above."},
    {"name": "Sum of lines total reactive energy import", "group": "Energy by line", "area": "holding", "address": 19849, "type": "uint32", "unit": "kvarh"},
    {"name": "Sum of lines total reactive energy import, fractional part", "group": "Energy by line", "area": "holding", "address": 19851, "type": "uint16", "scale": 0.1, "unit": "varh", "description": "Remainder below the main counter step, to add to the counter above."},
    {"name": "Sum of lines total reactive energy export", "group": "Energy by line", "area": "holding", "address": 19852, "type": "uint32", "unit": "kvarh"},
    {"name": "Sum of lines total reactive energy export, fractional part", "group": "Energy by line", "area": "holding", "address": 19854, "type": "uint16", "scale": 0.1, "unit": "varh", "description": "Remainder below the main counter step, to add to the counter above."},
    {"name": "Sum of lines total apparent energy", "group": "Energy by line", "area": "holding", "address": 19855, "type": "uint32", "unit": "kVAh"},
    {"name": "Sum of lines total apparent energy, fractional part", "group": "Energy by line", "area": "holding", "address": 19857, "type": "uint16", "scale": 0.1, "unit": "VAh", "description": "Remainder below the main counter step, to add to the counter above."},
    {"name": "Sum of lines total reactive energy import (lagging)", "group": "Energy by line", "area": "holding", "address": 19858, "type": "uint32", "unit": "kvarh"},
    {"name": "Sum of lines total reactive energy import (lagging), fractional part", "group": "Energy by line", "area": "holding", "address": 19860, "type": "uint16", "scale": 0.1, "unit": "varh", "description": "Remainder below the main counter step, to add to the counter above."},
    {"name": "Sum of lines total reactive energy export (lagging)", "group": "Energy by line", "area": "holding", "address": 19861, "type": "uint32", "unit": "kvarh"},
    {"name": "Sum of lines total reactive energy export (lagging), fractional part", "group": "Energy by line", "area": "holding", "address": 19863, "type": "uint16", "scale": 0.1, "unit": "varh", "description": "Remainder below the main counter step, to add to the counter above."},
    {"name": "Sum of lines total reactive energy import (leading)", "group": "Energy by line", "area": "holding", "address": 19864, "type": "uint32", "unit": "kvarh"},
    {"name": "Sum of lines total reactive energy import (leading), fractional part", "group": "Energy by line", "area": "holding", "address": 19866, "type": "uint16", "scale": 0.1, "unit": "varh", "description": "Remainder below the main counter step, to add to the counter above."},
    {"name": "Sum of lines total reactive energy export (leading)", "group": "Energy by line", "area": "holding", "address": 19867, "type": "uint32", "unit": "kvarh"},
    {"name": "Sum of lines total reactive energy export (leading), fractional part", "group": "Energy by line", "area": "holding", "address": 19869, "type": "uint16", "scale": 0.1, "unit": "varh", "description": "Remainder below the main counter step, to add to the counter above."},
    {"name": "Partial active energy import, tariff 1", "group": "Tariffs", "area": "holding", "address": 32768, "type": "uint32", "unit": "kWh"},
    {"name": "Partial active energy import, tariff 1, fractional part", "group": "Tariffs", "area": "holding", "address": 32770, "type": "uint16", "scale": 0.1, "unit": "Wh", "description": "Remainder below the main counter step, to add to the counter above."},
    {"name": "Partial active energy import, tariff 2", "group": "Tariffs", "area": "holding", "address": 32771, "type": "uint32", "unit": "kWh"},
    {"name": "Partial active energy import, tariff 2, fractional part", "group": "Tariffs", "area": "holding", "address": 32773, "type": "uint16", "scale": 0.1, "unit": "Wh", "description": "Remainder below the main counter step, to add to the counter above."},
    {"name": "Partial active energy export, tariff 1", "group": "Tariffs", "area": "holding", "address": 32792, "type": "uint32", "unit": "kWh"},
    {"name": "Partial active energy export, tariff 1, fractional part", "group": "Tariffs", "area": "holding", "address": 32794, "type": "uint16", "scale": 0.1, "unit": "Wh", "description": "Remainder below the main counter step, to add to the counter above."},
    {"name": "Partial active energy export, tariff 2", "group": "Tariffs", "area": "holding", "address": 32795, "type": "uint32", "unit": "kWh"},
    {"name": "Partial active energy export, tariff 2, fractional part", "group": "Tariffs", "area": "holding", "address": 32797, "type": "uint16", "scale": 0.1, "unit": "Wh", "description": "Remainder below the main counter step, to add to the counter above."},
    {"name": "Net active energy, import minus export, summed over tariffs", "group": "Energy", "area": "holding", "address": 33024, "type": "uint32", "unit": "kWh"},
    {"name": "Net active energy, import minus export, summed over tariffs, fractional part", "group": "Energy", "area": "holding", "address": 33026, "type": "uint16", "scale": 0.1, "unit": "Wh", "description": "Remainder below the main counter step, to add to the counter above."},
    {"name": "Net reactive energy, import minus export, summed over tariffs", "group": "Energy", "area": "holding", "address": 33027, "type": "uint32", "unit": "kvarh"},
    {"name": "Net reactive energy, import minus export, summed over tariffs, fractional part", "group": "Energy", "area": "holding", "address": 33029, "type": "uint16", "scale": 0.1, "unit": "varh", "description": "Remainder below the main counter step, to add to the counter above."},
    {"name": "Sum of lines active tariff", "group": "Tariffs", "area": "holding", "address": 26368, "type": "uint16"},
    {"name": "Sum of lines tariff 1 active energy import", "group": "Tariffs", "area": "holding", "address": 26369, "type": "uint32", "unit": "kWh"},
    {"name": "Sum of lines tariff 2 active energy import", "group": "Tariffs", "area": "holding", "address": 26371, "type": "uint32", "unit": "kWh"},
    {"name": "Sum of lines tariff 1 active energy export", "group": "Tariffs", "area": "holding", "address": 26385, "type": "uint32", "unit": "kWh"},
    {"name": "Sum of lines tariff 2 active energy export", "group": "Tariffs", "area": "holding", "address": 26387, "type": "uint32", "unit": "kWh"},
    {"name": "Sum of lines tariff 1 reactive energy import", "group": "Tariffs", "area": "holding", "address": 26401, "type": "uint32", "unit": "kvarh"},
    {"name": "Sum of lines tariff 2 reactive energy import", "group": "Tariffs", "area": "holding", "address": 26403, "type": "uint32", "unit": "kvarh"},
    {"name": "Sum of lines tariff 1 reactive energy import (lagging)", "group": "Tariffs", "area": "holding", "address": 26417, "type": "uint32", "unit": "kvarh"},
    {"name": "Sum of lines tariff 2 reactive energy import (lagging)", "group": "Tariffs", "area": "holding", "address": 26419, "type": "uint32", "unit": "kvarh"},
    {"name": "Sum of lines tariff 1 reactive energy import (leading)", "group": "Tariffs", "area": "holding", "address": 26433, "type": "uint32", "unit": "kvarh"},
    {"name": "Sum of lines tariff 2 reactive energy import (leading)", "group": "Tariffs", "area": "holding", "address": 26435, "type": "uint32", "unit": "kvarh"},
    {"name": "Sum of lines tariff 1 reactive energy export", "group": "Tariffs", "area": "holding", "address": 26449, "type": "uint32", "unit": "kvarh"},
    {"name": "Sum of lines tariff 2 reactive energy export", "group": "Tariffs", "area": "holding", "address": 26451, "type": "uint32", "unit": "kvarh"},
    {"name": "Sum of lines tariff 1 reactive energy export (lagging)", "group": "Tariffs", "area": "holding", "address": 26465, "type": "uint32", "unit": "kvarh"},
    {"name": "Sum of lines tariff 2 reactive energy export (lagging)", "group": "Tariffs", "area": "holding", "address": 26467, "type": "uint32", "unit": "kvarh"},
    {"name": "Sum of lines tariff 1 reactive energy export (leading)", "group": "Tariffs", "area": "holding", "address": 26481, "type": "uint32", "unit": "kvarh"},
    {"name": "Sum of lines tariff 2 reactive energy export (leading)", "group": "Tariffs", "area": "holding", "address": 26483, "type": "uint32", "unit": "kvarh"},
    {"name": "Sum of lines tariff 1 active energy", "group": "Tariffs", "area": "holding", "address": 26497, "type": "uint32", "unit": "kVAh"},
    {"name": "Sum of lines tariff 2 active energy", "group": "Tariffs", "area": "holding", "address": 26499, "type": "uint32", "unit": "kVAh"},
    {"name": "Meter overflow value", "group": "Energy", "area": "holding", "address": 36864, "type": "uint32", "scale": 10, "unit": "Wh"},
    {"name": "Overflow count, total active energy import", "group": "Energy", "area": "holding", "address": 36866, "type": "uint16", "comment": "8-bit value held in one register."},
    {"name": "Overflow count, total reactive energy import", "group": "Energy", "area": "holding", "address": 36867, "type": "uint16", "comment": "8-bit value held in one register."},
    {"name": "Overflow count, total active energy export", "group": "Energy", "area": "holding", "address": 36868, "type": "uint16", "comment": "8-bit value held in one register."},
    {"name": "Overflow count, total reactive energy export", "group": "Energy", "area": "holding", "address": 36869, "type": "uint16", "comment": "8-bit value held in one register."},
    {"name": "Overflow count, total apparent energy", "group": "Energy", "area": "holding", "address": 36870, "type": "uint16", "comment": "8-bit value held in one register."},
    {"name": "Overflow count, active energy import tariff 1", "group": "Energy", "area": "holding", "address": 36871, "type": "uint16", "comment": "8-bit value held in one register."},
    {"name": "Overflow count, active energy import tariff 2", "group": "Energy", "area": "holding", "address": 36872, "type": "uint16", "comment": "8-bit value held in one register."},
    {"name": "Current I1 (no CT ratio)", "group": "Measurements", "area": "holding", "address": 40576, "type": "uint32", "scale": 0.001, "unit": "A", "description": "Reading before the transformer ratio is applied."},
    {"name": "Industrial mode", "group": "Identification", "area": "holding", "address": 40544, "type": "uint16", "enum": {"0": "Disabled", "1": "Enabled"}, "comment": "8-bit value held in one register."},
    {"name": "MID status", "group": "Identification", "area": "holding", "address": 40545, "type": "uint16", "enum": {"0": "Not MID", "1": "MID"}, "comment": "8-bit value held in one register."},
    {"name": "Communication board type", "group": "Identification", "area": "holding", "address": 40608, "type": "uint16", "enum": {"1": "E3x/E4x communication board", "2": "E63 communication board"}, "comment": "8-bit value held in one register."}
  ]
}
