{
  "$schema": "https://raw.githubusercontent.com/nobrega8/mbmap-library/main/schema/mbmap-2.schema.json",
  "mbmap": 2,
  "vendor": "GE",
  "model": "EPM 5100",
  "models": ["EPM 5100"],
  "vendor_website": "gevernova.com",
  "revision": 2,
  "source": "Modbus Database (Jibril Sharafi, MIT licence), table ge/epm-5100; https://www.aggsoft.com/serial-data-logger/tutorials/modbus-data-logging/ge-epm-5100.htm. Not verified against the manufacturer's documentation",
  "notes": [
    "GE EPM 5100.",
    "Converted automatically from the Modbus Database (MIT licence, Jibril Sharafi).",
    "Not verified against the manufacturer's documentation. The byte order is a guess: the source does not give one.",
    "Corrections are welcome (CONTRIBUTING.md). Change x_status once this table has been checked against the manual."
  ],
  "byte_order": "big",
  "word_order": "big",
  "address_base": 0,
  "x_status": "unofficial",
  "x_origin": "modbus-database",
  "registers": [
    {"name": "Initialize meter", "area": "holding", "address": 1, "type": "uint16", "access": "R"},
    {"name": "Clear energy (var hour)", "area": "holding", "address": 2, "type": "uint16", "access": "R"},
    {"name": "Clear meter errors", "area": "holding", "address": 3, "type": "uint16", "access": "R"},
    {"name": "Serial number", "area": "holding", "address": 4, "type": "int32", "access": "R"},
    {"name": "Firmware revision", "area": "holding", "address": 6, "type": "float32", "access": "R"},
    {"name": "COC software revision", "area": "holding", "address": 8, "type": "float32", "access": "R"},
    {"name": "Number of pending event messages", "area": "holding", "address": 1000, "type": "int16", "access": "R"},
    {"name": "KVA max, total of all phases", "area": "holding", "address": 1002, "type": "float32", "unit": "kVA", "access": "R"},
    {"name": "KW max, total of all phases", "area": "holding", "address": 1004, "type": "float32", "unit": "kW", "access": "R"},
    {"name": "Kvar lag max, total of all phases", "area": "holding", "address": 1006, "type": "float32", "unit": "kvar", "access": "R"},
    {"name": "Kvar lead max, total of all phases", "area": "holding", "address": 1008, "type": "float32", "unit": "kvar", "access": "R"},
    {"name": "Current max phase A", "area": "holding", "address": 1010, "type": "float32", "unit": "A", "access": "R"},
    {"name": "Current max phase B", "area": "holding", "address": 1012, "type": "float32", "unit": "A", "access": "R"},
    {"name": "Current max phase C", "area": "holding", "address": 1014, "type": "float32", "unit": "A", "access": "R"},
    {"name": "Kvarh lag, total of all phases", "area": "holding", "address": 1016, "type": "float32", "unit": "kvar", "access": "R"},
    {"name": "Kvarh lead, total of all phases", "area": "holding", "address": 1018, "type": "float32", "unit": "kvar", "access": "R"},
    {"name": "KWh, total of all phases", "area": "holding", "address": 1020, "type": "float32", "unit": "kW", "access": "R"},
    {"name": "KQh, total of all phases", "area": "holding", "address": 1022, "type": "float32", "access": "R"},
    {"name": "KVAh, total of all phases", "area": "holding", "address": 1024, "type": "float32", "unit": "kVA", "access": "R"},
    {"name": "Average power factor since last reset, all phases", "area": "holding", "address": 1026, "type": "float32", "access": "R"},
    {"name": "Power factor, total of all phases, at maximum kVA", "area": "holding", "address": 1028, "type": "float32", "access": "R"},
    {"name": "Apparent power demand (kVA), total of all phases", "area": "holding", "address": 1030, "type": "float32", "unit": "kVA", "access": "R"},
    {"name": "Real power demand (kW) total of all phases", "area": "holding", "address": 1032, "type": "float32", "unit": "kW", "access": "R"},
    {"name": "Reactive power demand (kvar lag), total of all phases", "area": "holding", "address": 1034, "type": "float32", "unit": "kvar", "access": "R"},
    {"name": "Reactive power demand (kvar lead), total of all phases", "area": "holding", "address": 1036, "type": "float32", "unit": "kvar", "access": "R"},
    {"name": "Current demand, phase A", "area": "holding", "address": 1038, "type": "float32", "unit": "A", "access": "R"},
    {"name": "Current demand, phase B", "area": "holding", "address": 1040, "type": "float32", "unit": "A", "access": "R"},
    {"name": "Current demand, phase C", "area": "holding", "address": 1042, "type": "float32", "unit": "A", "access": "R"},
    {"name": "Power factor, all phases (over last demand interval)", "area": "holding", "address": 1044, "type": "float32", "access": "R"},
    {"name": "Real power (kW), phase A", "area": "holding", "address": 1046, "type": "float32", "unit": "kW", "access": "R"},
    {"name": "Real power (kW), phase B", "area": "holding", "address": 1048, "type": "float32", "unit": "kW", "access": "R"},
    {"name": "Real power (kW), phase C", "area": "holding", "address": 1050, "type": "float32", "unit": "kW", "access": "R"},
    {"name": "Reactive power (kvar), phase A", "area": "holding", "address": 1052, "type": "float32", "unit": "kvar", "access": "R"},
    {"name": "Reactive power (kvar), phase B", "area": "holding", "address": 1054, "type": "float32", "unit": "kvar", "access": "R"},
    {"name": "Reactive power (kvar), phase C", "area": "holding", "address": 1056, "type": "float32", "unit": "kvar", "access": "R"},
    {"name": "Apparent power (kVA), phase A", "area": "holding", "address": 1058, "type": "float32", "unit": "kVA", "access": "R"},
    {"name": "Apparent power (kVA), phase B", "area": "holding", "address": 1060, "type": "float32", "unit": "kVA", "access": "R"},
    {"name": "Apparent power (kVA), phase C", "area": "holding", "address": 1062, "type": "float32", "unit": "kVA", "access": "R"},
    {"name": "Power factor, phase A", "area": "holding", "address": 1064, "type": "float32", "access": "R"},
    {"name": "Power factor, phase B", "area": "holding", "address": 1066, "type": "float32", "access": "R"},
    {"name": "Power factor, phase C", "area": "holding", "address": 1068, "type": "float32", "access": "R"},
    {"name": "Apparent power (kVA), total of all phases", "area": "holding", "address": 1070, "type": "float32", "unit": "kVA", "access": "R"},
    {"name": "Real power (kW), total of all phases", "area": "holding", "address": 1072, "type": "float32", "unit": "kW", "access": "R"},
    {"name": "Reactive power (kvar), total of all phases", "area": "holding", "address": 1074, "type": "float32", "unit": "kvar", "access": "R"},
    {"name": "L N voltage, phase A N", "area": "holding", "address": 1076, "type": "float32", "unit": "V", "access": "R"},
    {"name": "L N voltage, phase B N", "area": "holding", "address": 1078, "type": "float32", "unit": "V", "access": "R"},
    {"name": "L N voltage, phase C N", "area": "holding", "address": 1080, "type": "float32", "unit": "V", "access": "R"},
    {"name": "L L voltage, phase A B", "area": "holding", "address": 1082, "type": "float32", "unit": "V", "access": "R"},
    {"name": "L L voltage, phase B C", "area": "holding", "address": 1084, "type": "float32", "unit": "V", "access": "R"},
    {"name": "L L voltage, phase C A", "area": "holding", "address": 1086, "type": "float32", "unit": "V", "access": "R"},
    {"name": "Total power factor of all phases", "area": "holding", "address": 1088, "type": "float32", "access": "R"},
    {"name": "Real power (KW), total of all phases at maximum kVA", "area": "holding", "address": 1090, "type": "float32", "unit": "kW", "access": "R"},
    {"name": "Current, phase A", "area": "holding", "address": 1092, "type": "float32", "unit": "A", "access": "R"},
    {"name": "Current, phase B", "area": "holding", "address": 1094, "type": "float32", "unit": "A", "access": "R"},
    {"name": "Current, phase C", "area": "holding", "address": 1096, "type": "float32", "unit": "A", "access": "R"},
    {"name": "Neutral current", "area": "holding", "address": 1098, "type": "float32", "unit": "A", "access": "R"},
    {"name": "Hour", "area": "holding", "address": 3000, "type": "int16", "access": "R"},
    {"name": "Minute", "area": "holding", "address": 3001, "type": "int16", "access": "R"},
    {"name": "Seconds", "area": "holding", "address": 3002, "type": "int16", "access": "R"},
    {"name": "Password", "area": "holding", "address": 3003, "type": "int16", "access": "R"},
    {"name": "Pulse value interval time for pulse KYZ output 1", "area": "holding", "address": 3005, "type": "float32", "access": "R"},
    {"name": "Pulse value interval time for pulse KYZ output 2", "area": "holding", "address": 3007, "type": "float32", "access": "R"},
    {"name": "Pulse units for KYZ output 1", "area": "holding", "address": 3009, "type": "uint16", "access": "R"},
    {"name": "Pulse units for KYZ output 2", "area": "holding", "address": 3010, "type": "uint16", "access": "R"},
    {"name": "Programming flags", "area": "holding", "address": 3011, "type": "uint16", "access": "R"},
    {"name": "Demand interval length (in minutes)", "area": "holding", "address": 3013, "type": "int16", "access": "R"},
    {"name": "Number of sub intervals", "area": "holding", "address": 3014, "type": "int16", "access": "R"},
    {"name": "Display scroll time", "area": "holding", "address": 3015, "type": "int16", "access": "R"},
    {"name": "Meter configuration", "area": "holding", "address": 3016, "type": "uint16", "access": "R"},
    {"name": "Potential transformer ratio", "area": "holding", "address": 3017, "type": "float32", "access": "R"},
    {"name": "Current transformer ratio", "area": "holding", "address": 3019, "type": "float32", "access": "R"},
    {"name": "Energy display format", "area": "holding", "address": 3021, "type": "uint16", "access": "R"},
    {"name": "Demand display format", "area": "holding", "address": 3022, "type": "uint16", "access": "R"},
    {"name": "Voltage display format", "area": "holding", "address": 3023, "type": "uint16", "access": "R"},
    {"name": "Amps display format", "area": "holding", "address": 3024, "type": "uint16", "access": "R"},
    {"name": "Energy display scale (kWh, MWh)", "area": "holding", "address": 3025, "type": "uint16", "access": "R"},
    {"name": "Demand display scale (W, kW, MW)", "area": "holding", "address": 3026, "type": "uint16", "access": "R"},
    {"name": "Voltage display scale (V, kV)", "area": "holding", "address": 3027, "type": "uint16", "access": "R"},
    {"name": "Amps display scale (A, kA)", "area": "holding", "address": 3028, "type": "uint16", "access": "R"},
    {"name": "Local faceplate password", "area": "holding", "address": 3029, "type": "uint16", "access": "R"}
  ]
}
