{
  "$schema": "https://raw.githubusercontent.com/nobrega8/mbmap-library/main/schema/mbmap-2.schema.json",
  "mbmap": 2,
  "vendor": "Carlo Gavazzi",
  "model": "EM26-96",
  "models": ["EM26-96"],
  "vendor_website": "gavazziautomation.com",
  "description": "Three-phase energy analyzer (96x96 mm panel) with RS485 Modbus RTU",
  "revision": 2,
  "revised": "2026-10-17",
  "source": "Carlo Gavazzi, \"EM26-96 Communication Protocol\", version 2 revision 0 (2008-03-25)",
  "sources": [{"title": "EM26-96 Communication Protocol", "version": "Version 2 Revision 0", "date": "2008-03-25", "url": "https://www.enika.cz/data/files/produkty/energy%20m/CP/em26%20cp.pdf"}],
  "notes": [
    "FC03 or FC04 read (the same values), FC06 writes one register; at most 11 registers per read.",
    "32-bit values are low word first (bytes high first in each word).",
    "Overflow (---- on the display) reads 7FFFh in the high word of the variable.",
    "Status and identity registers (0x0300-0x0305, 0x000B) must be read one word at a time."
  ],
  "protocol": "rtu",
  "unit_id": 1,
  "baudrate": 9600,
  "parity": "N",
  "byte_order": "big",
  "word_order": "little",
  "address_base": 0,
  "max_read_registers": 11,
  "x_status": "official",
  "registers": [
    {"name": "Voltage L1-N", "group": "Measurements", "area": "input", "address": "0x0000", "type": "int32", "scale": 0.1, "unit": "V", "access": "R"},
    {"name": "Voltage L2-N", "group": "Measurements", "area": "input", "address": "0x0002", "type": "int32", "scale": 0.1, "unit": "V", "access": "R"},
    {"name": "Voltage L3-N", "group": "Measurements", "area": "input", "address": "0x0004", "type": "int32", "scale": 0.1, "unit": "V", "access": "R"},
    {"name": "Voltage L1-L2", "group": "Measurements", "area": "input", "address": "0x0006", "type": "int32", "scale": 0.1, "unit": "V", "access": "R"},
    {"name": "Voltage L2-L3", "group": "Measurements", "area": "input", "address": "0x0008", "type": "int32", "scale": 0.1, "unit": "V", "access": "R"},
    {"name": "Voltage L3-L1", "group": "Measurements", "area": "input", "address": "0x000A", "type": "int32", "scale": 0.1, "unit": "V", "access": "R"},
    {"name": "Current L1", "group": "Measurements", "area": "input", "address": "0x000C", "type": "int32", "scale": 0.001, "unit": "A", "access": "R"},
    {"name": "Current L2", "group": "Measurements", "area": "input", "address": "0x000E", "type": "int32", "scale": 0.001, "unit": "A", "access": "R"},
    {"name": "Current L3", "group": "Measurements", "area": "input", "address": "0x0010", "type": "int32", "scale": 0.001, "unit": "A", "access": "R"},
    {"name": "Active power L1", "group": "Measurements", "area": "input", "address": "0x0012", "type": "int32", "scale": 0.1, "unit": "W", "access": "R"},
    {"name": "Active power L2", "group": "Measurements", "area": "input", "address": "0x0014", "type": "int32", "scale": 0.1, "unit": "W", "access": "R"},
    {"name": "Active power L3", "group": "Measurements", "area": "input", "address": "0x0016", "type": "int32", "scale": 0.1, "unit": "W", "access": "R"},
    {"name": "Apparent power L1", "group": "Measurements", "area": "input", "address": "0x0018", "type": "int32", "scale": 0.1, "unit": "VA", "access": "R"},
    {"name": "Apparent power L2", "group": "Measurements", "area": "input", "address": "0x001A", "type": "int32", "scale": 0.1, "unit": "VA", "access": "R"},
    {"name": "Apparent power L3", "group": "Measurements", "area": "input", "address": "0x001C", "type": "int32", "scale": 0.1, "unit": "VA", "access": "R"},
    {"name": "Reactive power L1", "group": "Measurements", "area": "input", "address": "0x001E", "type": "int32", "scale": 0.1, "unit": "var", "access": "R"},
    {"name": "Reactive power L2", "group": "Measurements", "area": "input", "address": "0x0020", "type": "int32", "scale": 0.1, "unit": "var", "access": "R"},
    {"name": "Reactive power L3", "group": "Measurements", "area": "input", "address": "0x0022", "type": "int32", "scale": 0.1, "unit": "var", "access": "R"},
    {"name": "Voltage L-N system", "group": "Measurements", "area": "input", "address": "0x0024", "type": "int32", "scale": 0.1, "unit": "V", "access": "R"},
    {"name": "Voltage L-L system", "group": "Measurements", "area": "input", "address": "0x0026", "type": "int32", "scale": 0.1, "unit": "V", "access": "R"},
    {"name": "Active power total", "group": "Measurements", "area": "input", "address": "0x0028", "type": "int32", "scale": 0.1, "unit": "W", "access": "R"},
    {"name": "Apparent power total", "group": "Measurements", "area": "input", "address": "0x002A", "type": "int32", "scale": 0.1, "unit": "VA", "access": "R"},
    {"name": "Reactive power total", "group": "Measurements", "area": "input", "address": "0x002C", "type": "int32", "scale": 0.1, "unit": "var", "access": "R"},
    {"name": "Active power demand", "group": "Measurements", "area": "input", "address": "0x002E", "type": "int32", "scale": 0.1, "unit": "W", "access": "R"},
    {"name": "Apparent power demand", "group": "Measurements", "area": "input", "address": "0x0030", "type": "int32", "scale": 0.1, "unit": "VA", "access": "R"},
    {"name": "Power factor L1", "group": "Measurements", "area": "input", "address": "0x0032", "type": "int16", "scale": 0.001, "access": "R", "description": "Negative = lead (C), positive = lag (L)"},
    {"name": "Power factor L2", "group": "Measurements", "area": "input", "address": "0x0033", "type": "int16", "scale": 0.001, "access": "R"},
    {"name": "Power factor L3", "group": "Measurements", "area": "input", "address": "0x0034", "type": "int16", "scale": 0.001, "access": "R"},
    {"name": "Power factor total", "group": "Measurements", "area": "input", "address": "0x0035", "type": "int16", "scale": 0.001, "access": "R"},
    {"name": "Phase sequence", "group": "Measurements", "area": "input", "address": "0x0036", "type": "int16", "access": "R", "enum": {"-1": "L1-L3-L2", "0": "L1-L2-L3"}, "description": "Meaningful only in 3-phase systems"},
    {"name": "Frequency", "group": "Measurements", "area": "input", "address": "0x0037", "type": "int16", "scale": 0.1, "unit": "Hz", "access": "R"},
    {"name": "Active power demand max", "group": "Measurements", "area": "input", "address": "0x0038", "type": "int32", "scale": 0.1, "unit": "W", "access": "R"},
    {"name": "Apparent power demand max", "group": "Measurements", "area": "input", "address": "0x003A", "type": "int32", "scale": 0.1, "unit": "VA", "access": "R"},
    {"name": "Current demand max", "group": "Measurements", "area": "input", "address": "0x003C", "type": "int32", "scale": 0.001, "unit": "A", "access": "R"},
    {"name": "Active energy import total", "group": "Energy", "area": "input", "address": "0x003E", "type": "int32", "scale": 0.1, "unit": "kWh", "access": "R"},
    {"name": "Reactive energy import total", "group": "Energy", "area": "input", "address": "0x0040", "type": "int32", "scale": 0.1, "unit": "kvarh", "access": "R"},
    {"name": "Active energy import partial", "group": "Energy", "area": "input", "address": "0x0042", "type": "int32", "scale": 0.1, "unit": "kWh", "access": "R"},
    {"name": "Reactive energy import partial", "group": "Energy", "area": "input", "address": "0x0044", "type": "int32", "scale": 0.1, "unit": "kvarh", "access": "R"},
    {"name": "Active energy import L1", "group": "Energy", "area": "input", "address": "0x0046", "type": "int32", "scale": 0.1, "unit": "kWh", "access": "R"},
    {"name": "Active energy import L2", "group": "Energy", "area": "input", "address": "0x0048", "type": "int32", "scale": 0.1, "unit": "kWh", "access": "R"},
    {"name": "Active energy import L3", "group": "Energy", "area": "input", "address": "0x004A", "type": "int32", "scale": 0.1, "unit": "kWh", "access": "R"},
    {"name": "Active energy import tariff 1", "group": "Energy", "area": "input", "address": "0x004C", "type": "int32", "scale": 0.1, "unit": "kWh", "access": "R"},
    {"name": "Active energy import tariff 2", "group": "Energy", "area": "input", "address": "0x004E", "type": "int32", "scale": 0.1, "unit": "kWh", "access": "R"},
    {"name": "Active energy import tariff 3", "group": "Energy", "area": "input", "address": "0x0050", "type": "int32", "scale": 0.1, "unit": "kWh", "access": "R"},
    {"name": "Active energy import tariff 4", "group": "Energy", "area": "input", "address": "0x0052", "type": "int32", "scale": 0.1, "unit": "kWh", "access": "R"},
    {"name": "Reactive energy import tariff 1", "group": "Energy", "area": "input", "address": "0x0054", "type": "int32", "scale": 0.1, "unit": "kvarh", "access": "R"},
    {"name": "Reactive energy import tariff 2", "group": "Energy", "area": "input", "address": "0x0056", "type": "int32", "scale": 0.1, "unit": "kvarh", "access": "R"},
    {"name": "Reactive energy import tariff 3", "group": "Energy", "area": "input", "address": "0x0058", "type": "int32", "scale": 0.1, "unit": "kvarh", "access": "R"},
    {"name": "Reactive energy import tariff 4", "group": "Energy", "area": "input", "address": "0x005A", "type": "int32", "scale": 0.1, "unit": "kvarh", "access": "R"},
    {"name": "Active energy export total", "group": "Energy", "area": "input", "address": "0x005C", "type": "int32", "scale": 0.1, "unit": "kWh", "access": "R"},
    {"name": "Reactive energy export total", "group": "Energy", "area": "input", "address": "0x005E", "type": "int32", "scale": 0.1, "unit": "kvarh", "access": "R"},
    {"name": "Hour counter", "group": "Energy", "area": "input", "address": "0x0060", "type": "int32", "scale": 0.01, "unit": "h", "access": "R"},
    {"name": "Counter 1", "group": "Energy", "area": "input", "address": "0x0062", "type": "int32", "scale": 0.1, "access": "R"},
    {"name": "Counter 2", "group": "Energy", "area": "input", "address": "0x0064", "type": "int32", "scale": 0.1, "access": "R"},
    {"name": "Counter 3", "group": "Energy", "area": "input", "address": "0x0066", "type": "int32", "scale": 0.1, "access": "R"},
    {"name": "Current demand L1", "group": "Measurements", "area": "input", "address": "0x0068", "type": "int32", "scale": 0.001, "unit": "A", "access": "R"},
    {"name": "Current demand L2", "group": "Measurements", "area": "input", "address": "0x006A", "type": "int32", "scale": 0.001, "unit": "A", "access": "R"},
    {"name": "Current demand L3", "group": "Measurements", "area": "input", "address": "0x006C", "type": "int32", "scale": 0.001, "unit": "A", "access": "R"},
    {"name": "THD voltage L1-N", "group": "Harmonics", "area": "input", "address": "0x006E", "type": "int16", "scale": 0.1, "unit": "%", "access": "R"},
    {"name": "THD voltage L2-N", "group": "Harmonics", "area": "input", "address": "0x006F", "type": "int16", "scale": 0.1, "unit": "%", "access": "R"},
    {"name": "THD voltage L3-N", "group": "Harmonics", "area": "input", "address": "0x0070", "type": "int16", "scale": 0.1, "unit": "%", "access": "R"},
    {"name": "THD voltage L1-L2", "group": "Harmonics", "area": "input", "address": "0x0071", "type": "int16", "scale": 0.1, "unit": "%", "access": "R"},
    {"name": "THD voltage L2-L3", "group": "Harmonics", "area": "input", "address": "0x0072", "type": "int16", "scale": 0.1, "unit": "%", "access": "R"},
    {"name": "THD voltage L3-L1", "group": "Harmonics", "area": "input", "address": "0x0073", "type": "int16", "scale": 0.1, "unit": "%", "access": "R"},
    {"name": "THD current L1", "group": "Harmonics", "area": "input", "address": "0x0074", "type": "int16", "scale": 0.1, "unit": "%", "access": "R"},
    {"name": "THD current L2", "group": "Harmonics", "area": "input", "address": "0x0075", "type": "int16", "scale": 0.1, "unit": "%", "access": "R"},
    {"name": "THD current L3", "group": "Harmonics", "area": "input", "address": "0x0076", "type": "int16", "scale": 0.1, "unit": "%", "access": "R"},
    {"name": "Digital input 1 open", "group": "Status", "area": "input", "address": "0x0300", "type": "bool", "bit": 0, "access": "R", "description": "1 = open, 0 = closed; read this register alone"},
    {"name": "Digital input 2 open", "group": "Status", "area": "input", "address": "0x0300", "type": "bool", "bit": 1, "access": "R"},
    {"name": "Digital input 3 open", "group": "Status", "area": "input", "address": "0x0300", "type": "bool", "bit": 2, "access": "R"},
    {"name": "Current tariff", "group": "Status", "area": "input", "address": "0x0301", "type": "uint16", "access": "R", "enum": {"0": "Tariff 1", "1": "Tariff 2", "2": "Tariff 3", "3": "Tariff 4"}},
    {"name": "Digital output 1 on", "group": "Status", "area": "input", "address": "0x0305", "type": "bool", "bit": 0, "access": "R", "description": "Read this register alone"},
    {"name": "Digital output 2 on", "group": "Status", "area": "input", "address": "0x0305", "type": "bool", "bit": 1, "access": "R"},
    {"name": "Digital output 3 on", "group": "Status", "area": "input", "address": "0x0305", "type": "bool", "bit": 2, "access": "R"},
    {"name": "Front selector", "group": "Status", "area": "input", "address": "0x0304", "type": "uint16", "access": "R", "enum": {"0": "Keypad unlocked", "1": "Keypad unlocked", "2": "Keypad unlocked", "3": "Keypad locked"}},
    {"name": "Carlo Gavazzi identification code", "group": "Identity", "area": "input", "address": "0x000B", "type": "uint16", "access": "R", "enum": {"49": "EM26-96 AV5", "50": "EM26-96 AV6"}, "role": "model", "description": "Read alone, one word at a time: the same address is the high word of Voltage L3-L1"},
    {"name": "Version code", "group": "Identity", "area": "input", "address": "0x0302", "type": "uint16", "access": "R", "enum": {"0": "EM2696AV53HO3S1XX", "1": "EM2696AV53HR2S1XX", "2": "EM2696AV53HI3S1XX", "3": "EM2696AV63HO3S1XX", "4": "EM2696AV63HR2S1XX", "5": "EM2696AV63HI3S1XX", "6": "EM2696AV53HO1XXXX", "7": "EM2696AV563HO1XXXX"}},
    {"name": "Revision code", "group": "Identity", "area": "input", "address": "0x0303", "type": "uint16", "access": "R", "role": "firmware"},
    {"name": "Password", "group": "Settings", "area": "holding", "address": "0x1100", "type": "uint16", "access": "RW", "write_min": 0, "write_max": 9999},
    {"name": "Application", "group": "Settings", "area": "holding", "address": "0x1101", "type": "uint16", "access": "RW", "enum": {"0": "A application", "1": "B application", "2": "C application", "3": "D application", "4": "E application", "5": "F application", "6": "G application", "7": "H application"}},
    {"name": "Measuring system", "group": "Settings", "area": "holding", "address": "0x1102", "type": "uint16", "access": "RW", "enum": {"0": "3Pn", "1": "3P1", "2": "2P", "3": "1P", "4": "3P"}},
    {"name": "Demand integration time", "group": "Settings", "area": "holding", "address": "0x1103", "type": "uint16", "unit": "min", "access": "RW", "write_min": 1, "write_max": 30},
    {"name": "Selector position 3 page", "group": "Settings", "area": "holding", "address": "0x1104", "type": "uint16", "access": "RW", "enum": {"0": "Page 1", "1": "Page 2", "2": "Page 3", "3": "Page 4", "4": "Page 5", "5": "Page 6", "6": "Page 7", "7": "Page 8", "8": "Page 9", "9": "Page 10", "10": "Page 11", "11": "Page 12", "12": "Page 13", "13": "Page 14", "14": "Page 15", "15": "Page 16", "16": "Page 17", "17": "Page 18", "18": "Page 19", "19": "Page 20", "20": "Page 21", "21": "Page 22", "22": "Page 23", "23": "Page 24", "24": "Page 25", "25": "Page 26", "26": "Page 27", "27": "Page 28", "28": "Page 29", "29": "Page 30", "30": "Page 31"}},
    {"name": "Selector position 2 page", "group": "Settings", "area": "holding", "address": "0x1105", "type": "uint16", "access": "RW", "enum": {"0": "Page 1", "1": "Page 2", "2": "Page 3", "3": "Page 4", "4": "Page 5", "5": "Page 6", "6": "Page 7", "7": "Page 8", "8": "Page 9", "9": "Page 10", "10": "Page 11", "11": "Page 12", "12": "Page 13", "13": "Page 14", "14": "Page 15", "15": "Page 16", "16": "Page 17", "17": "Page 18", "18": "Page 19", "19": "Page 20", "20": "Page 21", "21": "Page 22", "22": "Page 23", "23": "Page 24", "24": "Page 25", "25": "Page 26", "26": "Page 27", "27": "Page 28", "28": "Page 29", "29": "Page 30", "30": "Page 31"}},
    {"name": "Selector position 1 page", "group": "Settings", "area": "holding", "address": "0x1106", "type": "uint16", "access": "RW", "enum": {"0": "Page 1", "1": "Page 2", "2": "Page 3", "3": "Page 4", "4": "Page 5", "5": "Page 6", "6": "Page 7", "7": "Page 8", "8": "Page 9", "9": "Page 10", "10": "Page 11", "11": "Page 12", "12": "Page 13", "13": "Page 14", "14": "Page 15", "15": "Page 16", "16": "Page 17", "17": "Page 18", "18": "Page 19", "19": "Page 20", "20": "Page 21", "21": "Page 22", "22": "Page 23", "23": "Page 24", "24": "Page 25", "25": "Page 26", "26": "Page 27", "27": "Page 28", "28": "Page 29", "29": "Page 30", "30": "Page 31"}},
    {"name": "Selector position 0 page", "group": "Settings", "area": "holding", "address": "0x1107", "type": "uint16", "access": "RW", "enum": {"0": "Page 1", "1": "Page 2", "2": "Page 3", "3": "Page 4", "4": "Page 5", "5": "Page 6", "6": "Page 7", "7": "Page 8", "8": "Page 9", "9": "Page 10", "10": "Page 11", "11": "Page 12", "12": "Page 13", "13": "Page 14", "14": "Page 15", "15": "Page 16", "16": "Page 17", "17": "Page 18", "18": "Page 19", "19": "Page 20", "20": "Page 21", "21": "Page 22", "22": "Page 23", "23": "Page 24", "24": "Page 25", "25": "Page 26", "26": "Page 27", "27": "Page 28", "28": "Page 29", "29": "Page 30", "30": "Page 31"}},
    {"name": "Filter span", "group": "Settings", "area": "holding", "address": "0x1108", "type": "uint16", "access": "RW", "write_min": 0, "write_max": 100},
    {"name": "Filter coefficient", "group": "Settings", "area": "holding", "address": "0x1109", "type": "uint16", "access": "RW", "write_min": 1, "write_max": 32},
    {"name": "RS485 address", "group": "Settings", "area": "holding", "address": "0x110A", "type": "uint16", "access": "RW", "write_min": 1, "write_max": 247},
    {"name": "RS485 baud rate", "group": "Settings", "area": "holding", "address": "0x110B", "type": "uint16", "access": "RW", "enum": {"0": "4800", "1": "9600"}, "description": "8 data bits, no parity, 1 stop bit, fixed"},
    {"name": "User 1 ID code", "group": "Settings", "area": "holding", "address": "0x110C", "type": "uint16", "access": "RW", "write_min": 1, "write_max": 9999},
    {"name": "User 2 ID code", "group": "Settings", "area": "holding", "address": "0x110D", "type": "uint16", "access": "RW", "write_min": 1, "write_max": 9999},
    {"name": "User 3 ID code", "group": "Settings", "area": "holding", "address": "0x110E", "type": "uint16", "access": "RW", "write_min": 1, "write_max": 9999},
    {"name": "Digital input 1 function", "group": "Settings", "area": "holding", "address": "0x1121", "type": "uint16", "access": "RW", "enum": {"0": "Sync", "1": "Tariff", "2": "Gas counter", "3": "Cold water counter", "4": "Hot water counter", "5": "Hot water kWh counter", "6": "Remote (REM)"}},
    {"name": "Digital input 2 function", "group": "Settings", "area": "holding", "address": "0x1122", "type": "uint16", "access": "RW", "enum": {"0": "Sync", "1": "Tariff", "2": "Gas counter", "3": "Cold water counter", "4": "Hot water counter", "5": "Hot water kWh counter", "6": "Remote (REM)"}},
    {"name": "Digital input 3 function", "group": "Settings", "area": "holding", "address": "0x1123", "type": "uint16", "access": "RW", "enum": {"0": "Gas counter", "1": "Cold water counter", "2": "Hot water counter", "3": "Hot water kWh counter", "4": "Remote (REM)"}},
    {"name": "Digital input 1 prescaler", "group": "Settings", "area": "holding", "address": "0x1124", "type": "uint16", "access": "RW", "write_min": 1, "write_max": 9999},
    {"name": "Digital input 2 prescaler", "group": "Settings", "area": "holding", "address": "0x1125", "type": "uint16", "access": "RW", "write_min": 1, "write_max": 9999},
    {"name": "Digital input 3 prescaler", "group": "Settings", "area": "holding", "address": "0x1126", "type": "uint16", "access": "RW", "write_min": 1, "write_max": 9999},
    {"name": "Tariff via serial", "group": "Settings", "area": "holding", "address": "0x1127", "type": "uint16", "access": "W", "description": "Low byte 5Ah, high byte the tariff 0–3 (tariff 1–4); only when no digital input selects tariffs"},
    {"name": "Output 1 function", "group": "Settings", "area": "holding", "address": "0x110F", "type": "uint16", "access": "RW", "enum": {"0": "Pulse kWh", "1": "Pulse kvarh", "2": "Alarm VLN sys", "3": "Alarm V1-N", "4": "Alarm V2-N", "5": "Alarm V3-N", "6": "Alarm VLL sys", "7": "Alarm V12", "8": "Alarm V23", "9": "Alarm V31", "10": "Alarm A L1", "11": "Alarm A L2", "12": "Alarm A L3", "13": "Alarm W sys", "14": "Alarm W demand sys", "15": "Alarm W L1", "16": "Alarm W L2", "17": "Alarm W L3", "18": "Alarm VA sys", "19": "Alarm VA demand sys", "20": "Alarm VA L1", "21": "Alarm VA L2", "22": "Alarm VA L3", "23": "Alarm var sys", "24": "Alarm var L1", "25": "Alarm var L2", "26": "Alarm var L3", "27": "Alarm PF sys", "28": "Alarm PF L1", "29": "Alarm PF L2", "30": "Alarm PF L3", "31": "Alarm Hz", "32": "Alarm phase sequence", "33": "Alarm THD V1-N", "34": "Alarm THD V2-N", "35": "Alarm THD V3-N", "36": "Alarm THD V12", "37": "Alarm THD V23", "38": "Alarm THD V31", "39": "Alarm THD A L1", "40": "Alarm THD A L2", "41": "Alarm THD A L3", "42": "Remote control"}},
    {"name": "Output 1 pulse rate", "group": "Settings", "area": "holding", "address": "0x1110", "type": "uint32", "scale": 0.1, "unit": "pulse/kWh", "access": "RW", "write_min": 0.1, "write_max": 100000},
    {"name": "Alarm 1 set point on", "group": "Settings", "area": "holding", "address": "0x1112", "type": "uint32", "access": "RW", "description": "Limits and weight follow the linked variable"},
    {"name": "Alarm 1 set point off", "group": "Settings", "area": "holding", "address": "0x1114", "type": "uint32", "access": "RW"},
    {"name": "Alarm 1 delay", "group": "Settings", "area": "holding", "address": "0x1116", "type": "uint16", "unit": "s", "access": "RW", "write_min": 0, "write_max": 255},
    {"name": "Alarm 1 output state", "group": "Settings", "area": "holding", "address": "0x1117", "type": "uint16", "access": "RW", "enum": {"0": "Normally de-energised", "1": "Normally energised"}},
    {"name": "Output 2 function", "group": "Settings", "area": "holding", "address": "0x1118", "type": "uint16", "access": "RW", "enum": {"0": "Pulse kWh", "1": "Pulse kvarh", "2": "Alarm VLN sys", "3": "Alarm V1-N", "4": "Alarm V2-N", "5": "Alarm V3-N", "6": "Alarm VLL sys", "7": "Alarm V12", "8": "Alarm V23", "9": "Alarm V31", "10": "Alarm A L1", "11": "Alarm A L2", "12": "Alarm A L3", "13": "Alarm W sys", "14": "Alarm W demand sys", "15": "Alarm W L1", "16": "Alarm W L2", "17": "Alarm W L3", "18": "Alarm VA sys", "19": "Alarm VA demand sys", "20": "Alarm VA L1", "21": "Alarm VA L2", "22": "Alarm VA L3", "23": "Alarm var sys", "24": "Alarm var L1", "25": "Alarm var L2", "26": "Alarm var L3", "27": "Alarm PF sys", "28": "Alarm PF L1", "29": "Alarm PF L2", "30": "Alarm PF L3", "31": "Alarm Hz", "32": "Alarm phase sequence", "33": "Alarm THD V1-N", "34": "Alarm THD V2-N", "35": "Alarm THD V3-N", "36": "Alarm THD V12", "37": "Alarm THD V23", "38": "Alarm THD V31", "39": "Alarm THD A L1", "40": "Alarm THD A L2", "41": "Alarm THD A L3", "42": "Remote control"}},
    {"name": "Output 2 pulse rate", "group": "Settings", "area": "holding", "address": "0x1119", "type": "uint32", "scale": 0.1, "unit": "pulse/kWh", "access": "RW", "write_min": 0.1, "write_max": 100000},
    {"name": "Alarm 2 set point on", "group": "Settings", "area": "holding", "address": "0x111B", "type": "uint32", "access": "RW"},
    {"name": "Alarm 2 set point off", "group": "Settings", "area": "holding", "address": "0x111D", "type": "uint32", "access": "RW"},
    {"name": "Alarm 2 delay", "group": "Settings", "area": "holding", "address": "0x111F", "type": "uint16", "unit": "s", "access": "RW", "write_min": 0, "write_max": 255},
    {"name": "Alarm 2 output state", "group": "Settings", "area": "holding", "address": "0x1120", "type": "uint16", "access": "RW", "enum": {"0": "Normally de-energised", "1": "Normally energised"}},
    {"name": "Output 3 function", "group": "Settings", "area": "holding", "address": "0x1139", "type": "uint16", "access": "RW", "enum": {"0": "Pulse kWh", "1": "Pulse kvarh", "2": "Alarm VLN sys", "3": "Alarm V1-N", "4": "Alarm V2-N", "5": "Alarm V3-N", "6": "Alarm VLL sys", "7": "Alarm V12", "8": "Alarm V23", "9": "Alarm V31", "10": "Alarm A L1", "11": "Alarm A L2", "12": "Alarm A L3", "13": "Alarm W sys", "14": "Alarm W demand sys", "15": "Alarm W L1", "16": "Alarm W L2", "17": "Alarm W L3", "18": "Alarm VA sys", "19": "Alarm VA demand sys", "20": "Alarm VA L1", "21": "Alarm VA L2", "22": "Alarm VA L3", "23": "Alarm var sys", "24": "Alarm var L1", "25": "Alarm var L2", "26": "Alarm var L3", "27": "Alarm PF sys", "28": "Alarm PF L1", "29": "Alarm PF L2", "30": "Alarm PF L3", "31": "Alarm Hz", "32": "Alarm phase sequence", "33": "Alarm THD V1-N", "34": "Alarm THD V2-N", "35": "Alarm THD V3-N", "36": "Alarm THD V12", "37": "Alarm THD V23", "38": "Alarm THD V31", "39": "Alarm THD A L1", "40": "Alarm THD A L2", "41": "Alarm THD A L3", "42": "Remote control"}},
    {"name": "Output 3 pulse rate", "group": "Settings", "area": "holding", "address": "0x113A", "type": "uint32", "scale": 0.1, "unit": "pulse/kWh", "access": "RW", "write_min": 0.1, "write_max": 100000},
    {"name": "Alarm 3 set point on", "group": "Settings", "area": "holding", "address": "0x113C", "type": "uint32", "access": "RW"},
    {"name": "Alarm 3 set point off", "group": "Settings", "area": "holding", "address": "0x113E", "type": "uint32", "access": "RW"},
    {"name": "Alarm 3 delay", "group": "Settings", "area": "holding", "address": "0x1140", "type": "uint16", "unit": "s", "access": "RW", "write_min": 0, "write_max": 255},
    {"name": "Alarm 3 output state", "group": "Settings", "area": "holding", "address": "0x1141", "type": "uint16", "access": "RW", "enum": {"0": "Normally de-energised", "1": "Normally energised"}},
    {"name": "Display colour", "group": "Settings", "area": "holding", "address": "0x1143", "type": "uint16", "access": "RW", "enum": {"0": "Off", "1": "White", "2": "Blue", "3": "Off, flashes white/blue on alarm", "4": "White, flashes white/blue on alarm", "5": "Blue, flashes blue/white on alarm"}},
    {"name": "CT ratio", "group": "Settings", "area": "holding", "address": "0x112C", "type": "uint32", "scale": 0.1, "access": "RW", "write_min": 1, "write_max": 60000},
    {"name": "VT ratio", "group": "Settings", "area": "holding", "address": "0x112E", "type": "uint32", "scale": 0.1, "access": "RW", "write_min": 1, "write_max": 6000},
    {"name": "Reset all meters (except hour counter)", "group": "Commands", "area": "holding", "address": "0x3000", "type": "uint16", "access": "W", "enum": {"1": "Execute"}},
    {"name": "Reset total meters (except hour counter)", "group": "Commands", "area": "holding", "address": "0x3001", "type": "uint16", "access": "W", "enum": {"1": "Execute"}},
    {"name": "Reset partial meters", "group": "Commands", "area": "holding", "address": "0x3002", "type": "uint16", "access": "W", "enum": {"1": "Execute"}},
    {"name": "Reset hour counter", "group": "Commands", "area": "holding", "address": "0x3003", "type": "uint16", "access": "W", "enum": {"1": "Execute"}},
    {"name": "Reset counters 1, 2 and 3", "group": "Commands", "area": "holding", "address": "0x3004", "type": "uint16", "access": "W", "enum": {"1": "Execute"}},
    {"name": "Reset demand max", "group": "Commands", "area": "holding", "address": "0x3005", "type": "uint16", "access": "W", "enum": {"1": "Execute"}},
    {"name": "Remote output 1", "group": "Commands", "area": "holding", "address": "0x3010", "type": "uint16", "access": "W", "enum": {"0": "Off", "1": "On"}, "description": "Output function must be Remote control"},
    {"name": "Remote output 2", "group": "Commands", "area": "holding", "address": "0x3011", "type": "uint16", "access": "W", "enum": {"0": "Off", "1": "On"}},
    {"name": "Remote output 3", "group": "Commands", "area": "holding", "address": "0x3012", "type": "uint16", "access": "W", "enum": {"0": "Off", "1": "On"}}
  ]
}
