{
  "$schema": "https://raw.githubusercontent.com/nobrega8/mbmap-library/main/schema/mbmap-2.schema.json",
  "mbmap": 2,
  "vendor": "Deep Sea Electronics",
  "model": "DSE335 / DSE335 MkII",
  "models": ["DSE335", "DSE335 MkII"],
  "vendor_website": "deepseaelectronics.com",
  "description": "Automatic transfer switch controller (3xx family), GenComm Modbus protocol. S1 and S2 are the two supplies; Load is the switched output",
  "revision": 3,
  "revised": "2026-10-18",
  "source": "Deep Sea Electronics, \"GenComm standard for use with generating set control equipment\" v2.272 (2025-07-21): sections 8.1 (sentinels) and 10 (pages 3, 4, 6, 7, 16, 154, 170, 171, 180, 190)",
  "notes": [
    "DSE335 automatic transfer switch controller, GenComm protocol.",
    "Address = page * 256 + offset. Pages 6, 7, 154, 170, 171, 180 and 190 use the 3xx / 335 layouts. Expansion module rows read as unimplemented when no module is fitted.",
    "Tested on a DSE335 MkII (RS485, 9600 8N2) on 2026-10-13: status, battery, S1 voltages and frequency, phase rotation and clock read correctly.",
    "The register layout comes from the GenComm 3xx / 335 pages, which the manufacturer documents for the whole 3xx family (DSE330, 331, 334, 335). Only the 335 MkII has been tested; for the other 3xx modules, check the pages that differ (180 and 190, output and LED layout) before relying on them."
  ],
  "protocol": "rtu",
  "parity": "N",
  "databits": 8,
  "stopbits": 2,
  "byte_order": "big",
  "word_order": "big",
  "address_base": 0,
  "max_read_registers": 125,
  "enums": {
    "control_mode": {"0": "Stop", "1": "Auto", "2": "Manual", "3": "Test on load", "4": "Auto with manual restore", "5": "User configuration", "6": "Test off load", "7": "Off"},
    "phase_rotation": {"0": "Indeterminate", "1": "L1-L2-L3", "2": "L3-L2-L1", "3": "Phase error"},
    "sm_status": {"0": "Implemented, not changed", "1": "Implemented, changed", "2": "Reserved", "3": "Unimplemented"},
    "alarm_condition": {"0": "Disabled digital input", "1": "Not active", "2": "Warning", "3": "Shutdown", "4": "Electrical trip", "8": "Inactive indication", "9": "Inactive indication (displayed)", "10": "Active indication", "15": "Unimplemented"},
    "sender_category": {"0": "Unused", "1": "Pressure", "2": "Temperature", "3": "Level", "4": "Digital"},
    "system_control": {"0x8B74748B": "Select Stop mode", "0x8B75748A": "Select Auto mode", "0x8B767489": "Select Manual mode", "0x8B777488": "Select Test on load mode", "0x8B787487": "Select Auto with manual restore mode", "0x8B797486": "Start engine if in manual or test modes", "0x8B7A7485": "Mute alarm", "0x8B7B7484": "Reset alarms", "0x8B7C7483": "Transfer to generator", "0x8B7D7482": "Transfer to mains", "0x8B7E7481": "Reset mains failure", "0x8B7F7480": "Close Bus (Bus Tie Controller)", "0x8B80747F": "Open Bus (Bus Tie Controller)", "0x8B81747E": "Toggle Bus Open/Closed (Bus Tie Controller)", "0x8B82747D": "Scroll through mode selections (mode button on 330/331/334/335)", "0x8B83747C": "Enable selected mode (scroll button on 330/331/334/335)", "0x8B84747B": "Mimic Mode Button Action (G8600 only)", "0x8B94746B": "Telemetry start if in auto mode", "0x8B95746A": "Cancel telemetry start in auto mode", "0x8B967469": "Reset alarms", "0x8B977468": "Clear telemetry alarm flag", "0x8B987467": "Lock the user controls", "0x8B997466": "Unlock the user controls", "0x8B9A7465": "Reset the maintenance alarm 1 due times", "0x8B9B7464": "MSC alarm inhibit on", "0x8B9C7463": "MSC alarm inhibit off", "0x8B9D7462": "Reset the maintenance alarm 2 due times", "0x8B9E7461": "Reset the maintenance alarm 3 due times", "0x8BA2745D": "Start data logging (temporarily overrides the module state)", "0x8BA3745C": "Stop data logging (temporarily overrides the module state)", "0x8BA4745B": "Erase all data log files internal to the module (NOT on USB)", "0x8BA5745A": "Force USB drive to stop logging, ready to eject", "0x8BB67449": "Reset battery maintenance alarm 1", "0x8BB77448": "Reset battery maintenance alarm 2", "0x8BB87447": "Reset battery maintenance alarm 3", "0x8BB97446": "Auto DPF regeneration inhibit on", "0x8BBA7445": "Auto DPF regeneration inhibit off", "0x8BBB7444": "Start manual DPF regeneration", "0x8BBC7443": "Battery Charger Boost Mode", "0x8BBD7442": "Battery Charger Stop Charging", "0x8BBE7441": "Battery Charger Battery Test", "0x8BBF7440": "Battery Charger Select Alternative Charging Voltage", "0x8BC0743F": "Select Off Mode", "0x8BC1743E": "Throttle Down", "0x8BC2743D": "Throttle Up", "0x8BC3743C": "Wake ECU", "0x8BC4743B": "Lamp Test", "0x8BC5743A": "Battery Charger Auxiliary Boost Mode", "0x8BC67439": "Battery Charger Auxiliary Stop Charging", "0x8BC77438": "Battery Charger Auxiliary Battery Test", "0x8BC87437": "Battery Charger Auxiliary Select Alternative Charging Voltage", "0x8BC97436": "Stop manual DPF regeneration", "0x8BCA7435": "DSE Proprietary", "0x8BCB7434": "Battery Charger Max Current Mode Timed", "0x8BCC7433": "Battery Charger max Current Mode Manual", "0x8BCD7432": "AVR Droop Enable", "0x8BCE7431": "AVR Droop Disable", "0x8BCF7430": "Governor Droop Enable", "0x8BD0742F": "Governor Droop Disable", "0x8BD1742E": "Remote Mains Fail Enable", "0x8BD2742D": "Remote Mains Fail Disable", "0x8BD3742C": "Remote Mains Fail Toggle (on then off, leaving the alarm latched but able to be reset)", "0x8BD4742B": "Enable signal injection", "0x8BD5742A": "Disable signal injection", "0x8BD77428": "Reset maintenance alarm 4 due times", "0x8BD87427": "Reset maintenance alarm 5 due times", "0x8BD97426": "Battery Charger Stop Charging Out 1", "0x8BDA7425": "Battery Charger Stop Charging Out 2", "0x8BDB7424": "Battery Charger Stop Charging Out 1 and Out 2", "0x8BDC7423": "Reset maintenance alarm 6 due times", "0x8BDD7422": "Reset maintenance alarm 7 due times", "0x8BDE7421": "Reset maintenance alarm 8 due times", "0x8BDF7420": "Reset maintenance alarm 9 due times", "0x8BE0741F": "Reset maintenance alarm 10 due times", "0x8BE1741E": "Switch to Multi Set platform (G8600 only)", "0x8BE2741D": "Switch to Single Set platform (G8600 only)", "0x8BE3741C": "Switch to Mains Parallel platform (G8600 or G8660)", "0x8BE4741B": "Switch to Group Controller platform (G8600 or G8660)"}
  },
  "sentinels": {
    "uint16": {"0xFFFF": "Unimplemented", "0xFFFE": "Over measurable range", "0xFFFD": "Under measurable range", "0xFFFC": "Transducer fault", "0xFFFB": "Bad data", "0xFFFA": "High digital input", "0xFFF9": "Low digital input"},
    "int16": {"0x7FFF": "Unimplemented", "0x7FFE": "Over measurable range", "0x7FFD": "Under measurable range", "0x7FFC": "Transducer fault", "0x7FFB": "Bad data", "0x7FFA": "High digital input", "0x7FF9": "Low digital input"},
    "uint32": {"0xFFFFFFFF": "Unimplemented", "0xFFFFFFFE": "Over measurable range", "0xFFFFFFFD": "Under measurable range", "0xFFFFFFFC": "Transducer fault", "0xFFFFFFFB": "Bad data", "0xFFFFFFFA": "High digital input", "0xFFFFFFF9": "Low digital input"},
    "int32": {"0x7FFFFFFF": "Unimplemented", "0x7FFFFFFE": "Over measurable range", "0x7FFFFFFD": "Under measurable range", "0x7FFFFFFC": "Transducer fault", "0x7FFFFFFB": "Bad data", "0x7FFFFFFA": "High digital input", "0x7FFFFFF9": "Low digital input"}
  },
  "x_status": "verified",
  "registers": [
    {"name": "Manufacturer code", "group": "Status", "area": "holding", "address": 768, "type": "uint16", "access": "R", "comment": "Page 3 - status (base 768)"},
    {"name": "Model number", "group": "Status", "area": "holding", "address": 769, "type": "uint16", "access": "R"},
    {"name": "Serial number", "group": "Status", "area": "holding", "address": 770, "type": "uint32", "access": "R"},
    {"name": "Control mode", "group": "Status", "area": "holding", "address": 772, "type": "uint16", "access": "R", "enum": "control_mode"},
    {"name": "Control mode selection", "group": "Status", "area": "holding", "address": 773, "type": "uint16", "access": "R", "enum": "control_mode", "description": "Mode chosen with the single mode button (330/331/334/335)"},
    {"name": "Control unit not configured", "group": "Status", "area": "holding", "address": 774, "type": "bool", "bit": 15, "access": "R"},
    {"name": "Control unit failure", "group": "Status", "area": "holding", "address": 774, "type": "bool", "bit": 13, "access": "R"},
    {"name": "Shutdown alarm active", "group": "Status", "area": "holding", "address": 774, "type": "bool", "bit": 12, "access": "R"},
    {"name": "Electrical trip alarm active", "group": "Status", "area": "holding", "address": 774, "type": "bool", "bit": 11, "access": "R"},
    {"name": "Warning alarm active", "group": "Status", "area": "holding", "address": 774, "type": "bool", "bit": 10, "access": "R"},
    {"name": "Telemetry alarm", "group": "Status", "area": "holding", "address": 774, "type": "bool", "bit": 9, "access": "R"},
    {"name": "Satellite telemetry alarm", "group": "Status", "area": "holding", "address": 774, "type": "bool", "bit": 8, "access": "R"},
    {"name": "No font file", "group": "Status", "area": "holding", "address": 774, "type": "bool", "bit": 7, "access": "R"},
    {"name": "Controlled shutdown alarm active", "group": "Status", "area": "holding", "address": 774, "type": "bool", "bit": 6, "access": "R"},
    {"name": "State machine 1 status", "group": "State machines", "area": "holding", "address": 775, "type": "uint16", "bit": 14, "bits": 2, "access": "R", "enum": "sm_status"},
    {"name": "State machine 2 status", "group": "State machines", "area": "holding", "address": 775, "type": "uint16", "bit": 12, "bits": 2, "access": "R", "enum": "sm_status"},
    {"name": "State machine 3 status", "group": "State machines", "area": "holding", "address": 775, "type": "uint16", "bit": 10, "bits": 2, "access": "R", "enum": "sm_status"},
    {"name": "State machine 4 status", "group": "State machines", "area": "holding", "address": 775, "type": "uint16", "bit": 8, "bits": 2, "access": "R", "enum": "sm_status"},
    {"name": "State machine 5 status", "group": "State machines", "area": "holding", "address": 775, "type": "uint16", "bit": 6, "bits": 2, "access": "R", "enum": "sm_status"},
    {"name": "State machine 6 status", "group": "State machines", "area": "holding", "address": 775, "type": "uint16", "bit": 4, "bits": 2, "access": "R", "enum": "sm_status"},
    {"name": "State machine 7 status", "group": "State machines", "area": "holding", "address": 775, "type": "uint16", "bit": 2, "bits": 2, "access": "R", "enum": "sm_status"},
    {"name": "State machine 8 status", "group": "State machines", "area": "holding", "address": 775, "type": "uint16", "bit": 0, "bits": 2, "access": "R", "enum": "sm_status"},
    {"name": "String checksum", "group": "Status", "area": "holding", "address": 776, "type": "uint32", "access": "R"},
    {"name": "State machine 1 timer", "group": "State machines", "area": "holding", "address": 778, "type": "uint16", "unit": "s", "access": "R"},
    {"name": "State machine 2 timer", "group": "State machines", "area": "holding", "address": 779, "type": "uint16", "unit": "s", "access": "R"},
    {"name": "State machine 3 timer", "group": "State machines", "area": "holding", "address": 780, "type": "uint16", "unit": "s", "access": "R"},
    {"name": "State machine 4 timer", "group": "State machines", "area": "holding", "address": 781, "type": "uint16", "unit": "s", "access": "R"},
    {"name": "State machine 5 timer", "group": "State machines", "area": "holding", "address": 782, "type": "uint16", "unit": "s", "access": "R"},
    {"name": "State machine 6 timer", "group": "State machines", "area": "holding", "address": 783, "type": "uint16", "unit": "s", "access": "R"},
    {"name": "State machine 7 timer", "group": "State machines", "area": "holding", "address": 784, "type": "uint16", "unit": "s", "access": "R"},
    {"name": "State machine 8 timer", "group": "State machines", "area": "holding", "address": 785, "type": "uint16", "unit": "s", "access": "R"},
    {"name": "State machine 1 state", "group": "State machines", "area": "holding", "address": 786, "type": "uint16", "access": "R", "description": "Model specific state code"},
    {"name": "State machine 2 state", "group": "State machines", "area": "holding", "address": 787, "type": "uint16", "access": "R", "description": "Model specific state code"},
    {"name": "State machine 3 state", "group": "State machines", "area": "holding", "address": 788, "type": "uint16", "access": "R", "description": "Model specific state code"},
    {"name": "State machine 4 state", "group": "State machines", "area": "holding", "address": 789, "type": "uint16", "access": "R", "description": "Model specific state code"},
    {"name": "State machine 5 state", "group": "State machines", "area": "holding", "address": 790, "type": "uint16", "access": "R", "description": "Model specific state code"},
    {"name": "State machine 6 state", "group": "State machines", "area": "holding", "address": 791, "type": "uint16", "access": "R", "description": "Model specific state code"},
    {"name": "State machine 7 state", "group": "State machines", "area": "holding", "address": 792, "type": "uint16", "access": "R", "description": "Model specific state code"},
    {"name": "State machine 8 state", "group": "State machines", "area": "holding", "address": 793, "type": "uint16", "access": "R", "description": "Model specific state code"},
    {"name": "Change in event log contents", "group": "Status", "area": "holding", "address": 794, "type": "uint16", "access": "R", "enum": {"0": "No", "1": "Yes"}},
    {"name": "External panel lock active", "group": "Status", "area": "holding", "address": 806, "type": "bool", "bit": 15, "access": "R"},
    {"name": "Stop and panel lock active", "group": "Status", "area": "holding", "address": 806, "type": "bool", "bit": 14, "access": "R"},
    {"name": "Lock user controls active", "group": "Status", "area": "holding", "address": 806, "type": "bool", "bit": 13, "access": "R"},
    {"name": "Telemetry panel lock active", "group": "Status", "area": "holding", "address": 806, "type": "bool", "bit": 12, "access": "R"},
    {"name": "Telemetry start in auto", "group": "Status", "area": "holding", "address": 806, "type": "bool", "bit": 11, "access": "R"},
    {"name": "Transducer supply", "group": "Status", "area": "holding", "address": 807, "type": "uint16", "access": "R"},
    {"name": "Battery voltage", "group": "Supply", "area": "holding", "address": 1029, "type": "uint16", "scale": 0.1, "unit": "V", "access": "R", "description": "Engine battery voltage register", "comment": "Page 4 - basic instrumentation (base 1024)"},
    {"name": "S1 frequency", "group": "S1", "area": "holding", "address": 1148, "type": "uint16", "scale": 0.1, "unit": "Hz", "access": "R"},
    {"name": "S1 L1-N voltage", "group": "S1", "area": "holding", "address": 1149, "type": "uint32", "scale": 0.1, "unit": "V", "access": "R"},
    {"name": "S1 L2-N voltage", "group": "S1", "area": "holding", "address": 1151, "type": "uint32", "scale": 0.1, "unit": "V", "access": "R"},
    {"name": "S1 L3-N voltage", "group": "S1", "area": "holding", "address": 1153, "type": "uint32", "scale": 0.1, "unit": "V", "access": "R"},
    {"name": "S1 L1-L2 voltage", "group": "S1", "area": "holding", "address": 1155, "type": "uint32", "scale": 0.1, "unit": "V", "access": "R"},
    {"name": "S1 L2-L3 voltage", "group": "S1", "area": "holding", "address": 1157, "type": "uint32", "scale": 0.1, "unit": "V", "access": "R"},
    {"name": "S1 L3-L1 voltage", "group": "S1", "area": "holding", "address": 1159, "type": "uint32", "scale": 0.1, "unit": "V", "access": "R"},
    {"name": "S1 L1 current", "group": "S1", "area": "holding", "address": 1161, "type": "uint32", "scale": 0.1, "unit": "A", "access": "R"},
    {"name": "S1 L2 current", "group": "S1", "area": "holding", "address": 1163, "type": "uint32", "scale": 0.1, "unit": "A", "access": "R"},
    {"name": "S1 L3 current", "group": "S1", "area": "holding", "address": 1165, "type": "uint32", "scale": 0.1, "unit": "A", "access": "R"},
    {"name": "S1 earth current", "group": "S1", "area": "holding", "address": 1167, "type": "uint32", "scale": 0.1, "unit": "A", "access": "R"},
    {"name": "S1 L1 power", "group": "S1", "area": "holding", "address": 1169, "type": "int32", "unit": "W", "access": "R"},
    {"name": "S1 L2 power", "group": "S1", "area": "holding", "address": 1171, "type": "int32", "unit": "W", "access": "R"},
    {"name": "S1 L3 power", "group": "S1", "area": "holding", "address": 1173, "type": "int32", "unit": "W", "access": "R"},
    {"name": "S1 current lag/lead", "group": "S1", "area": "holding", "address": 1175, "type": "int16", "unit": "°", "access": "R"},
    {"name": "S1 phase rotation", "group": "S1", "area": "holding", "address": 1217, "type": "uint16", "access": "R", "enum": "phase_rotation"},
    {"name": "S2 frequency", "group": "S2", "area": "holding", "address": 1176, "type": "uint16", "scale": 0.1, "unit": "Hz", "access": "R"},
    {"name": "S2 L1-N voltage", "group": "S2", "area": "holding", "address": 1177, "type": "uint32", "scale": 0.1, "unit": "V", "access": "R"},
    {"name": "S2 L2-N voltage", "group": "S2", "area": "holding", "address": 1179, "type": "uint32", "scale": 0.1, "unit": "V", "access": "R"},
    {"name": "S2 L3-N voltage", "group": "S2", "area": "holding", "address": 1181, "type": "uint32", "scale": 0.1, "unit": "V", "access": "R"},
    {"name": "S2 L1-L2 voltage", "group": "S2", "area": "holding", "address": 1183, "type": "uint32", "scale": 0.1, "unit": "V", "access": "R"},
    {"name": "S2 L2-L3 voltage", "group": "S2", "area": "holding", "address": 1185, "type": "uint32", "scale": 0.1, "unit": "V", "access": "R"},
    {"name": "S2 L3-L1 voltage", "group": "S2", "area": "holding", "address": 1187, "type": "uint32", "scale": 0.1, "unit": "V", "access": "R"},
    {"name": "S2 L1 current", "group": "S2", "area": "holding", "address": 1189, "type": "uint32", "scale": 0.1, "unit": "A", "access": "R"},
    {"name": "S2 L2 current", "group": "S2", "area": "holding", "address": 1191, "type": "uint32", "scale": 0.1, "unit": "A", "access": "R"},
    {"name": "S2 L3 current", "group": "S2", "area": "holding", "address": 1193, "type": "uint32", "scale": 0.1, "unit": "A", "access": "R"},
    {"name": "S2 earth current", "group": "S2", "area": "holding", "address": 1195, "type": "uint32", "scale": 0.1, "unit": "A", "access": "R"},
    {"name": "S2 L1 power", "group": "S2", "area": "holding", "address": 1197, "type": "int32", "unit": "W", "access": "R"},
    {"name": "S2 L2 power", "group": "S2", "area": "holding", "address": 1199, "type": "int32", "unit": "W", "access": "R"},
    {"name": "S2 L3 power", "group": "S2", "area": "holding", "address": 1201, "type": "int32", "unit": "W", "access": "R"},
    {"name": "S2 current lag/lead", "group": "S2", "area": "holding", "address": 1203, "type": "int16", "unit": "°", "access": "R"},
    {"name": "S2 phase rotation", "group": "S2", "area": "holding", "address": 1218, "type": "uint16", "access": "R", "enum": "phase_rotation"},
    {"name": "Load L1 current", "group": "Load", "area": "holding", "address": 1204, "type": "uint32", "scale": 0.1, "unit": "A", "access": "R"},
    {"name": "Load L2 current", "group": "Load", "area": "holding", "address": 1206, "type": "uint32", "scale": 0.1, "unit": "A", "access": "R"},
    {"name": "Load L3 current", "group": "Load", "area": "holding", "address": 1208, "type": "uint32", "scale": 0.1, "unit": "A", "access": "R"},
    {"name": "Load L1 power", "group": "Load", "area": "holding", "address": 1210, "type": "int32", "unit": "W", "access": "R"},
    {"name": "Load L2 power", "group": "Load", "area": "holding", "address": 1212, "type": "int32", "unit": "W", "access": "R"},
    {"name": "Load L3 power", "group": "Load", "area": "holding", "address": 1214, "type": "int32", "unit": "W", "access": "R"},
    {"name": "Load current lag/lead", "group": "Load", "area": "holding", "address": 1216, "type": "int16", "unit": "°", "access": "R"},
    {"name": "S2 total power", "group": "S2", "area": "holding", "address": 1536, "type": "int32", "unit": "W", "access": "R", "comment": "Page 6 - derived instrumentation, 3xx layout (base 1536)"},
    {"name": "S2 L1 apparent power", "group": "S2", "area": "holding", "address": 1538, "type": "uint32", "unit": "VA", "access": "R"},
    {"name": "S2 L2 apparent power", "group": "S2", "area": "holding", "address": 1540, "type": "uint32", "unit": "VA", "access": "R"},
    {"name": "S2 L3 apparent power", "group": "S2", "area": "holding", "address": 1542, "type": "uint32", "unit": "VA", "access": "R"},
    {"name": "S2 total apparent power", "group": "S2", "area": "holding", "address": 1544, "type": "uint32", "unit": "VA", "access": "R"},
    {"name": "S2 L1 reactive power", "group": "S2", "area": "holding", "address": 1546, "type": "uint32", "unit": "var", "access": "R"},
    {"name": "S2 L2 reactive power", "group": "S2", "area": "holding", "address": 1548, "type": "uint32", "unit": "var", "access": "R"},
    {"name": "S2 L3 reactive power", "group": "S2", "area": "holding", "address": 1550, "type": "uint32", "unit": "var", "access": "R"},
    {"name": "S2 total reactive power", "group": "S2", "area": "holding", "address": 1552, "type": "uint32", "unit": "var", "access": "R"},
    {"name": "S2 L1 power factor", "group": "S2", "area": "holding", "address": 1554, "type": "int16", "scale": 0.01, "access": "R"},
    {"name": "S2 L2 power factor", "group": "S2", "area": "holding", "address": 1555, "type": "int16", "scale": 0.01, "access": "R"},
    {"name": "S2 L3 power factor", "group": "S2", "area": "holding", "address": 1556, "type": "int16", "scale": 0.01, "access": "R"},
    {"name": "S2 average power factor", "group": "S2", "area": "holding", "address": 1557, "type": "int16", "scale": 0.01, "access": "R"},
    {"name": "S2 percentage of full power", "group": "S2", "area": "holding", "address": 1558, "type": "int16", "scale": 0.1, "unit": "%", "access": "R"},
    {"name": "S2 percentage of full reactive power", "group": "S2", "area": "holding", "address": 1559, "type": "int16", "scale": 0.1, "unit": "%", "access": "R"},
    {"name": "S1 total power", "group": "S1", "area": "holding", "address": 1560, "type": "int32", "unit": "W", "access": "R"},
    {"name": "S1 L1 apparent power", "group": "S1", "area": "holding", "address": 1562, "type": "uint32", "unit": "VA", "access": "R"},
    {"name": "S1 L2 apparent power", "group": "S1", "area": "holding", "address": 1564, "type": "uint32", "unit": "VA", "access": "R"},
    {"name": "S1 L3 apparent power", "group": "S1", "area": "holding", "address": 1566, "type": "uint32", "unit": "VA", "access": "R"},
    {"name": "S1 total apparent power", "group": "S1", "area": "holding", "address": 1568, "type": "uint32", "unit": "VA", "access": "R"},
    {"name": "S1 L1 reactive power", "group": "S1", "area": "holding", "address": 1570, "type": "uint32", "unit": "var", "access": "R"},
    {"name": "S1 L2 reactive power", "group": "S1", "area": "holding", "address": 1572, "type": "uint32", "unit": "var", "access": "R"},
    {"name": "S1 L3 reactive power", "group": "S1", "area": "holding", "address": 1574, "type": "uint32", "unit": "var", "access": "R"},
    {"name": "S1 total reactive power", "group": "S1", "area": "holding", "address": 1576, "type": "uint32", "unit": "var", "access": "R"},
    {"name": "S1 L1 power factor", "group": "S1", "area": "holding", "address": 1578, "type": "int16", "scale": 0.01, "access": "R"},
    {"name": "S1 L2 power factor", "group": "S1", "area": "holding", "address": 1579, "type": "int16", "scale": 0.01, "access": "R"},
    {"name": "S1 L3 power factor", "group": "S1", "area": "holding", "address": 1580, "type": "int16", "scale": 0.01, "access": "R"},
    {"name": "S1 average power factor", "group": "S1", "area": "holding", "address": 1581, "type": "int16", "scale": 0.01, "access": "R"},
    {"name": "S1 percentage of full power", "group": "S1", "area": "holding", "address": 1582, "type": "int16", "scale": 0.1, "unit": "%", "access": "R"},
    {"name": "S1 percentage of full reactive power", "group": "S1", "area": "holding", "address": 1583, "type": "int16", "scale": 0.1, "unit": "%", "access": "R"},
    {"name": "S2 L1 lead/lag", "group": "S2", "area": "holding", "address": 1614, "type": "uint16", "access": "R", "description": "Lead/lag code; values not defined for 3xx in GenComm"},
    {"name": "S2 L2 lead/lag", "group": "S2", "area": "holding", "address": 1615, "type": "uint16", "access": "R", "description": "Lead/lag code; values not defined for 3xx in GenComm"},
    {"name": "S2 L3 lead/lag", "group": "S2", "area": "holding", "address": 1616, "type": "uint16", "access": "R", "description": "Lead/lag code; values not defined for 3xx in GenComm"},
    {"name": "S2 total lead/lag", "group": "S2", "area": "holding", "address": 1617, "type": "uint16", "access": "R", "description": "Lead/lag code; values not defined for 3xx in GenComm"},
    {"name": "S1 L1 lead/lag", "group": "S1", "area": "holding", "address": 1645, "type": "uint16", "access": "R", "description": "Lead/lag code; values not defined for 3xx in GenComm"},
    {"name": "S1 L2 lead/lag", "group": "S1", "area": "holding", "address": 1646, "type": "uint16", "access": "R", "description": "Lead/lag code; values not defined for 3xx in GenComm"},
    {"name": "S1 L3 lead/lag", "group": "S1", "area": "holding", "address": 1647, "type": "uint16", "access": "R", "description": "Lead/lag code; values not defined for 3xx in GenComm"},
    {"name": "S1 total lead/lag", "group": "S1", "area": "holding", "address": 1648, "type": "uint16", "access": "R", "description": "Lead/lag code; values not defined for 3xx in GenComm"},
    {"name": "S2 L1 percentage of full power", "group": "S2", "area": "holding", "address": 1618, "type": "int16", "scale": 0.1, "unit": "%", "access": "R"},
    {"name": "S2 L2 percentage of full power", "group": "S2", "area": "holding", "address": 1619, "type": "int16", "scale": 0.1, "unit": "%", "access": "R"},
    {"name": "S2 L3 percentage of full power", "group": "S2", "area": "holding", "address": 1620, "type": "int16", "scale": 0.1, "unit": "%", "access": "R"},
    {"name": "335 misc status register 1", "group": "Status", "area": "holding", "address": 1649, "type": "uint16", "access": "R", "description": "Bit meanings are not defined in GenComm"},
    {"name": "335 misc status register 2", "group": "Status", "area": "holding", "address": 1650, "type": "uint16", "access": "R", "description": "Bit meanings are not defined in GenComm"},
    {"name": "335 misc status register 3", "group": "Status", "area": "holding", "address": 1651, "type": "uint16", "access": "R", "description": "Bit meanings are not defined in GenComm"},
    {"name": "Controller clock", "group": "Counters", "area": "holding", "address": 1792, "type": "uint32", "unit": "s", "access": "RW", "description": "Seconds since 1970-01-01", "comment": "Page 7 - accumulated instrumentation, 3xx layout (base 1792). Read/write; some\nsystems may not support writing to some registers"},
    {"name": "S2 positive energy", "group": "Counters", "area": "holding", "address": 1800, "type": "uint32", "scale": 0.1, "unit": "kWh", "access": "RW"},
    {"name": "S2 apparent energy", "group": "Counters", "area": "holding", "address": 1804, "type": "uint32", "scale": 0.1, "unit": "kVAh", "access": "RW"},
    {"name": "S2 reactive energy", "group": "Counters", "area": "holding", "address": 1806, "type": "uint32", "scale": 0.1, "unit": "kvarh", "access": "RW"},
    {"name": "S1 positive energy", "group": "Counters", "area": "holding", "address": 1810, "type": "uint32", "scale": 0.1, "unit": "kWh", "access": "RW"},
    {"name": "S1 apparent energy", "group": "Counters", "area": "holding", "address": 1814, "type": "uint32", "scale": 0.1, "unit": "kVAh", "access": "RW"},
    {"name": "S1 reactive energy", "group": "Counters", "area": "holding", "address": 1816, "type": "uint32", "scale": 0.1, "unit": "kvarh", "access": "RW"},
    {"name": "System control function 0 supported", "group": "Control", "area": "holding", "address": 4096, "type": "bool", "bit": 15, "access": "R", "comment": "Page 16 - control (base 4096). Writing System control operates the controller"},
    {"name": "System control function 1 supported", "group": "Control", "area": "holding", "address": 4096, "type": "bool", "bit": 14, "access": "R"},
    {"name": "System control function 2 supported", "group": "Control", "area": "holding", "address": 4096, "type": "bool", "bit": 13, "access": "R"},
    {"name": "System control function 3 supported", "group": "Control", "area": "holding", "address": 4096, "type": "bool", "bit": 12, "access": "R"},
    {"name": "System control function 4 supported", "group": "Control", "area": "holding", "address": 4096, "type": "bool", "bit": 11, "access": "R"},
    {"name": "System control function 5 supported", "group": "Control", "area": "holding", "address": 4096, "type": "bool", "bit": 10, "access": "R"},
    {"name": "System control function 6 supported", "group": "Control", "area": "holding", "address": 4096, "type": "bool", "bit": 9, "access": "R"},
    {"name": "System control function 7 supported", "group": "Control", "area": "holding", "address": 4096, "type": "bool", "bit": 8, "access": "R"},
    {"name": "System control function 8 supported", "group": "Control", "area": "holding", "address": 4096, "type": "bool", "bit": 7, "access": "R"},
    {"name": "System control function 9 supported", "group": "Control", "area": "holding", "address": 4096, "type": "bool", "bit": 6, "access": "R"},
    {"name": "System control function 10 supported", "group": "Control", "area": "holding", "address": 4096, "type": "bool", "bit": 5, "access": "R"},
    {"name": "System control function 11 supported", "group": "Control", "area": "holding", "address": 4096, "type": "bool", "bit": 4, "access": "R"},
    {"name": "System control function 12 supported", "group": "Control", "area": "holding", "address": 4096, "type": "bool", "bit": 3, "access": "R"},
    {"name": "System control function 13 supported", "group": "Control", "area": "holding", "address": 4096, "type": "bool", "bit": 2, "access": "R"},
    {"name": "System control function 14 supported", "group": "Control", "area": "holding", "address": 4096, "type": "bool", "bit": 1, "access": "R"},
    {"name": "System control function 15 supported", "group": "Control", "area": "holding", "address": 4096, "type": "bool", "bit": 0, "access": "R"},
    {"name": "System control functions 16-31 supported", "group": "Control", "area": "holding", "address": 4097, "type": "uint16", "access": "R", "description": "One flag per function, same bit order as functions 0-15"},
    {"name": "System control functions 32-47 supported", "group": "Control", "area": "holding", "address": 4098, "type": "uint16", "access": "R", "description": "One flag per function, same bit order as functions 0-15"},
    {"name": "System control functions 48-63 supported", "group": "Control", "area": "holding", "address": 4099, "type": "uint16", "access": "R", "description": "One flag per function, same bit order as functions 0-15"},
    {"name": "System control functions 64-79 supported", "group": "Control", "area": "holding", "address": 4100, "type": "uint16", "access": "R", "description": "One flag per function, same bit order as functions 0-15"},
    {"name": "System control functions 80-95 supported", "group": "Control", "area": "holding", "address": 4101, "type": "uint16", "access": "R", "description": "One flag per function, same bit order as functions 0-15"},
    {"name": "System control functions 96-111 supported", "group": "Control", "area": "holding", "address": 4102, "type": "uint16", "access": "R", "description": "One flag per function, same bit order as functions 0-15"},
    {"name": "System control functions 112-127 supported", "group": "Control", "area": "holding", "address": 4103, "type": "uint16", "access": "R", "description": "One flag per function, same bit order as functions 0-15"},
    {"name": "System control", "group": "Control", "area": "holding", "address": 4104, "type": "uint32", "access": "W", "enum": "system_control", "description": "Writes the key and its ones' complement in a single FC16"},
    {"name": "Signal injection", "group": "Control", "area": "holding", "address": 4128, "type": "uint32", "access": "W", "description": "High word: channel (0 none, 4 all L-N in 0.001 PU, 8 all L-L in 0.001 PU, 9 frequency in 0.01 Hz); low word: value. Enable with system control 96; repeat at least every second"},
    {"name": "Number of named alarms", "group": "Alarms", "area": "holding", "address": 39424, "type": "uint16", "access": "R", "comment": "Page 154 - named alarm conditions, 330/331/334/335 layout (base 39424)"},
    {"name": "Battery high voltage", "group": "Alarms", "area": "holding", "address": 39425, "type": "uint16", "bit": 12, "bits": 4, "access": "R", "enum": "alarm_condition"},
    {"name": "Battery low voltage", "group": "Alarms", "area": "holding", "address": 39425, "type": "uint16", "bit": 8, "bits": 4, "access": "R", "enum": "alarm_condition"},
    {"name": "S2 failure latched", "group": "Alarms", "area": "holding", "address": 39425, "type": "uint16", "bit": 4, "bits": 4, "access": "R", "enum": "alarm_condition"},
    {"name": "S2 failure unlatched", "group": "Alarms", "area": "holding", "address": 39425, "type": "uint16", "bit": 0, "bits": 4, "access": "R", "enum": "alarm_condition"},
    {"name": "S1 failure latched", "group": "Alarms", "area": "holding", "address": 39426, "type": "uint16", "bit": 12, "bits": 4, "access": "R", "enum": "alarm_condition"},
    {"name": "S1 failure unlatched", "group": "Alarms", "area": "holding", "address": 39426, "type": "uint16", "bit": 8, "bits": 4, "access": "R", "enum": "alarm_condition"},
    {"name": "Fail to start", "group": "Alarms", "area": "holding", "address": 39426, "type": "uint16", "bit": 4, "bits": 4, "access": "R", "enum": "alarm_condition"},
    {"name": "Fail to stop", "group": "Alarms", "area": "holding", "address": 39426, "type": "uint16", "bit": 0, "bits": 4, "access": "R", "enum": "alarm_condition"},
    {"name": "Failed to reach loading voltage", "group": "Alarms", "area": "holding", "address": 39427, "type": "uint16", "bit": 12, "bits": 4, "access": "R", "enum": "alarm_condition"},
    {"name": "Failed to reach loading frequency", "group": "Alarms", "area": "holding", "address": 39427, "type": "uint16", "bit": 8, "bits": 4, "access": "R", "enum": "alarm_condition"},
    {"name": "Calibration lost", "group": "Alarms", "area": "holding", "address": 39427, "type": "uint16", "bit": 0, "bits": 4, "access": "R", "enum": "alarm_condition"},
    {"name": "S2 gen under frequency", "group": "Alarms", "area": "holding", "address": 39428, "type": "uint16", "bit": 12, "bits": 4, "access": "R", "enum": "alarm_condition"},
    {"name": "S2 gen over frequency", "group": "Alarms", "area": "holding", "address": 39428, "type": "uint16", "bit": 8, "bits": 4, "access": "R", "enum": "alarm_condition"},
    {"name": "S2 gen low voltage", "group": "Alarms", "area": "holding", "address": 39428, "type": "uint16", "bit": 4, "bits": 4, "access": "R", "enum": "alarm_condition"},
    {"name": "S2 gen high voltage", "group": "Alarms", "area": "holding", "address": 39428, "type": "uint16", "bit": 0, "bits": 4, "access": "R", "enum": "alarm_condition"},
    {"name": "S2 mains under frequency", "group": "Alarms", "area": "holding", "address": 39429, "type": "uint16", "bit": 12, "bits": 4, "access": "R", "enum": "alarm_condition"},
    {"name": "S2 mains over frequency", "group": "Alarms", "area": "holding", "address": 39429, "type": "uint16", "bit": 8, "bits": 4, "access": "R", "enum": "alarm_condition"},
    {"name": "S2 mains low voltage", "group": "Alarms", "area": "holding", "address": 39429, "type": "uint16", "bit": 4, "bits": 4, "access": "R", "enum": "alarm_condition"},
    {"name": "S2 mains voltage", "group": "Alarms", "area": "holding", "address": 39429, "type": "uint16", "bit": 0, "bits": 4, "access": "R", "enum": "alarm_condition"},
    {"name": "S1 mains under frequency", "group": "Alarms", "area": "holding", "address": 39430, "type": "uint16", "bit": 12, "bits": 4, "access": "R", "enum": "alarm_condition"},
    {"name": "S1 mains over frequency", "group": "Alarms", "area": "holding", "address": 39430, "type": "uint16", "bit": 8, "bits": 4, "access": "R", "enum": "alarm_condition"},
    {"name": "S1 mains low voltage", "group": "Alarms", "area": "holding", "address": 39430, "type": "uint16", "bit": 4, "bits": 4, "access": "R", "enum": "alarm_condition"},
    {"name": "S1 mains high voltage", "group": "Alarms", "area": "holding", "address": 39430, "type": "uint16", "bit": 0, "bits": 4, "access": "R", "enum": "alarm_condition"},
    {"name": "Load shedding", "group": "Alarms", "area": "holding", "address": 39431, "type": "uint16", "bit": 12, "bits": 4, "access": "R", "enum": "alarm_condition"},
    {"name": "Load return", "group": "Alarms", "area": "holding", "address": 39431, "type": "uint16", "bit": 8, "bits": 4, "access": "R", "enum": "alarm_condition"},
    {"name": "S1 phase rotation alarm", "group": "Alarms", "area": "holding", "address": 39431, "type": "uint16", "bit": 4, "bits": 4, "access": "R", "enum": "alarm_condition"},
    {"name": "S2 phase rotation alarm", "group": "Alarms", "area": "holding", "address": 39431, "type": "uint16", "bit": 0, "bits": 4, "access": "R", "enum": "alarm_condition"},
    {"name": "S1 breaker aux fail", "group": "Alarms", "area": "holding", "address": 39432, "type": "uint16", "bit": 12, "bits": 4, "access": "R", "enum": "alarm_condition"},
    {"name": "S2 breaker aux fail", "group": "Alarms", "area": "holding", "address": 39432, "type": "uint16", "bit": 8, "bits": 4, "access": "R", "enum": "alarm_condition"},
    {"name": "S1 failed to open", "group": "Alarms", "area": "holding", "address": 39432, "type": "uint16", "bit": 4, "bits": 4, "access": "R", "enum": "alarm_condition"},
    {"name": "S1 failed to close", "group": "Alarms", "area": "holding", "address": 39432, "type": "uint16", "bit": 0, "bits": 4, "access": "R", "enum": "alarm_condition"},
    {"name": "S2 failed to open", "group": "Alarms", "area": "holding", "address": 39433, "type": "uint16", "bit": 12, "bits": 4, "access": "R", "enum": "alarm_condition"},
    {"name": "S2 failed to close", "group": "Alarms", "area": "holding", "address": 39433, "type": "uint16", "bit": 8, "bits": 4, "access": "R", "enum": "alarm_condition"},
    {"name": "S1 and S2 open", "group": "Alarms", "area": "holding", "address": 39433, "type": "uint16", "bit": 4, "bits": 4, "access": "R", "enum": "alarm_condition"},
    {"name": "S1 and S2 closed", "group": "Alarms", "area": "holding", "address": 39433, "type": "uint16", "bit": 0, "bits": 4, "access": "R", "enum": "alarm_condition"},
    {"name": "Digital input A raw status", "group": "Inputs", "area": "holding", "address": 43520, "type": "uint16", "access": "R", "comment": "Page 170 - input status, 3xx layout (base 43520)"},
    {"name": "Digital input A processed status", "group": "Inputs", "area": "holding", "address": 43521, "type": "uint16", "access": "R"},
    {"name": "Digital input B raw status", "group": "Inputs", "area": "holding", "address": 43522, "type": "uint16", "access": "R"},
    {"name": "Digital input B processed status", "group": "Inputs", "area": "holding", "address": 43523, "type": "uint16", "access": "R"},
    {"name": "Digital input C raw status", "group": "Inputs", "area": "holding", "address": 43524, "type": "uint16", "access": "R"},
    {"name": "Digital input C processed status", "group": "Inputs", "area": "holding", "address": 43525, "type": "uint16", "access": "R"},
    {"name": "Digital input D raw status", "group": "Inputs", "area": "holding", "address": 43526, "type": "uint16", "access": "R"},
    {"name": "Digital input D processed status", "group": "Inputs", "area": "holding", "address": 43527, "type": "uint16", "access": "R"},
    {"name": "Digital input E raw status", "group": "Inputs", "area": "holding", "address": 43528, "type": "uint16", "access": "R"},
    {"name": "Digital input E processed status", "group": "Inputs", "area": "holding", "address": 43529, "type": "uint16", "access": "R"},
    {"name": "Digital input F raw status", "group": "Inputs", "area": "holding", "address": 43530, "type": "uint16", "access": "R"},
    {"name": "Digital input F processed status", "group": "Inputs", "area": "holding", "address": 43531, "type": "uint16", "access": "R"},
    {"name": "Digital input G raw status", "group": "Inputs", "area": "holding", "address": 43532, "type": "uint16", "access": "R"},
    {"name": "Digital input G processed status", "group": "Inputs", "area": "holding", "address": 43533, "type": "uint16", "access": "R"},
    {"name": "Digital input H raw status", "group": "Inputs", "area": "holding", "address": 43534, "type": "uint16", "access": "R"},
    {"name": "Digital input H processed status", "group": "Inputs", "area": "holding", "address": 43535, "type": "uint16", "access": "R"},
    {"name": "Digital input I raw status", "group": "Inputs", "area": "holding", "address": 43536, "type": "uint16", "access": "R"},
    {"name": "Digital input I processed status", "group": "Inputs", "area": "holding", "address": 43537, "type": "uint16", "access": "R"},
    {"name": "Digital input J raw status", "group": "Inputs", "area": "holding", "address": 43538, "type": "uint16", "access": "R"},
    {"name": "Digital input J processed status", "group": "Inputs", "area": "holding", "address": 43539, "type": "uint16", "access": "R"},
    {"name": "Digital input K raw status", "group": "Inputs", "area": "holding", "address": 43540, "type": "uint16", "access": "R"},
    {"name": "Digital input K processed status", "group": "Inputs", "area": "holding", "address": 43541, "type": "uint16", "access": "R"},
    {"name": "Digital input L raw status", "group": "Inputs", "area": "holding", "address": 43542, "type": "uint16", "access": "R"},
    {"name": "Digital input L processed status", "group": "Inputs", "area": "holding", "address": 43543, "type": "uint16", "access": "R"},
    {"name": "2130 module 0 input A raw status", "group": "Expansion", "area": "holding", "address": 43552, "type": "uint16", "access": "R"},
    {"name": "2130 module 0 input A processed status", "group": "Expansion", "area": "holding", "address": 43553, "type": "uint16", "access": "R"},
    {"name": "2130 module 0 input B raw status", "group": "Expansion", "area": "holding", "address": 43554, "type": "uint16", "access": "R"},
    {"name": "2130 module 0 input B processed status", "group": "Expansion", "area": "holding", "address": 43555, "type": "uint16", "access": "R"},
    {"name": "2130 module 0 input C raw status", "group": "Expansion", "area": "holding", "address": 43556, "type": "uint16", "access": "R"},
    {"name": "2130 module 0 input C processed status", "group": "Expansion", "area": "holding", "address": 43557, "type": "uint16", "access": "R"},
    {"name": "2130 module 0 input D raw status", "group": "Expansion", "area": "holding", "address": 43558, "type": "uint16", "access": "R"},
    {"name": "2130 module 0 input D processed status", "group": "Expansion", "area": "holding", "address": 43559, "type": "uint16", "access": "R"},
    {"name": "2130 module 0 input E raw status", "group": "Expansion", "area": "holding", "address": 43560, "type": "uint16", "access": "R"},
    {"name": "2130 module 0 input E processed status", "group": "Expansion", "area": "holding", "address": 43561, "type": "uint16", "access": "R"},
    {"name": "2130 module 0 input F raw status", "group": "Expansion", "area": "holding", "address": 43562, "type": "uint16", "access": "R"},
    {"name": "2130 module 0 input F processed status", "group": "Expansion", "area": "holding", "address": 43563, "type": "uint16", "access": "R"},
    {"name": "2130 module 0 input G raw status", "group": "Expansion", "area": "holding", "address": 43564, "type": "uint16", "access": "R"},
    {"name": "2130 module 0 input G processed status", "group": "Expansion", "area": "holding", "address": 43565, "type": "uint16", "access": "R"},
    {"name": "2130 module 0 input H raw status", "group": "Expansion", "area": "holding", "address": 43566, "type": "uint16", "access": "R"},
    {"name": "2130 module 0 input H processed status", "group": "Expansion", "area": "holding", "address": 43567, "type": "uint16", "access": "R"},
    {"name": "2130 module 1 input A raw status", "group": "Expansion", "area": "holding", "address": 43568, "type": "uint16", "access": "R"},
    {"name": "2130 module 1 input A processed status", "group": "Expansion", "area": "holding", "address": 43569, "type": "uint16", "access": "R"},
    {"name": "2130 module 1 input B raw status", "group": "Expansion", "area": "holding", "address": 43570, "type": "uint16", "access": "R"},
    {"name": "2130 module 1 input B processed status", "group": "Expansion", "area": "holding", "address": 43571, "type": "uint16", "access": "R"},
    {"name": "2130 module 1 input C raw status", "group": "Expansion", "area": "holding", "address": 43572, "type": "uint16", "access": "R"},
    {"name": "2130 module 1 input C processed status", "group": "Expansion", "area": "holding", "address": 43573, "type": "uint16", "access": "R"},
    {"name": "2130 module 1 input D raw status", "group": "Expansion", "area": "holding", "address": 43574, "type": "uint16", "access": "R"},
    {"name": "2130 module 1 input D processed status", "group": "Expansion", "area": "holding", "address": 43575, "type": "uint16", "access": "R"},
    {"name": "2130 module 1 input E raw status", "group": "Expansion", "area": "holding", "address": 43576, "type": "uint16", "access": "R"},
    {"name": "2130 module 1 input E processed status", "group": "Expansion", "area": "holding", "address": 43577, "type": "uint16", "access": "R"},
    {"name": "2130 module 1 input F raw status", "group": "Expansion", "area": "holding", "address": 43578, "type": "uint16", "access": "R"},
    {"name": "2130 module 1 input F processed status", "group": "Expansion", "area": "holding", "address": 43579, "type": "uint16", "access": "R"},
    {"name": "2130 module 1 input G raw status", "group": "Expansion", "area": "holding", "address": 43580, "type": "uint16", "access": "R"},
    {"name": "2130 module 1 input G processed status", "group": "Expansion", "area": "holding", "address": 43581, "type": "uint16", "access": "R"},
    {"name": "2130 module 1 input H raw status", "group": "Expansion", "area": "holding", "address": 43582, "type": "uint16", "access": "R"},
    {"name": "2130 module 1 input H processed status", "group": "Expansion", "area": "holding", "address": 43583, "type": "uint16", "access": "R"},
    {"name": "2130 module 0 analogue E sender category", "group": "Expansion", "area": "holding", "address": 43712, "type": "uint16", "access": "R", "enum": "sender_category"},
    {"name": "2130 module 0 analogue E reading", "group": "Expansion", "area": "holding", "address": 43713, "type": "int16", "access": "R", "description": "Units follow the sender category (kPa, °C, %)"},
    {"name": "2130 module 0 analogue F sender category", "group": "Expansion", "area": "holding", "address": 43716, "type": "uint16", "access": "R", "enum": "sender_category"},
    {"name": "2130 module 0 analogue F reading", "group": "Expansion", "area": "holding", "address": 43717, "type": "int16", "access": "R", "description": "Units follow the sender category (kPa, °C, %)"},
    {"name": "2130 module 0 analogue G sender category", "group": "Expansion", "area": "holding", "address": 43720, "type": "uint16", "access": "R", "enum": "sender_category"},
    {"name": "2130 module 0 analogue G reading", "group": "Expansion", "area": "holding", "address": 43721, "type": "int16", "access": "R", "description": "Units follow the sender category (kPa, °C, %)"},
    {"name": "2130 module 0 analogue H sender category", "group": "Expansion", "area": "holding", "address": 43724, "type": "uint16", "access": "R", "enum": "sender_category"},
    {"name": "2130 module 0 analogue H reading", "group": "Expansion", "area": "holding", "address": 43725, "type": "int16", "access": "R", "description": "Units follow the sender category (kPa, °C, %)"},
    {"name": "2130 module 1 analogue E sender category", "group": "Expansion", "area": "holding", "address": 43728, "type": "uint16", "access": "R", "enum": "sender_category"},
    {"name": "2130 module 1 analogue E reading", "group": "Expansion", "area": "holding", "address": 43729, "type": "int16", "access": "R", "description": "Units follow the sender category (kPa, °C, %)"},
    {"name": "2130 module 1 analogue F sender category", "group": "Expansion", "area": "holding", "address": 43732, "type": "uint16", "access": "R", "enum": "sender_category"},
    {"name": "2130 module 1 analogue F reading", "group": "Expansion", "area": "holding", "address": 43733, "type": "int16", "access": "R", "description": "Units follow the sender category (kPa, °C, %)"},
    {"name": "2130 module 1 analogue G sender category", "group": "Expansion", "area": "holding", "address": 43736, "type": "uint16", "access": "R", "enum": "sender_category"},
    {"name": "2130 module 1 analogue G reading", "group": "Expansion", "area": "holding", "address": 43737, "type": "int16", "access": "R", "description": "Units follow the sender category (kPa, °C, %)"},
    {"name": "2130 module 1 analogue H sender category", "group": "Expansion", "area": "holding", "address": 43740, "type": "uint16", "access": "R", "enum": "sender_category"},
    {"name": "2130 module 1 analogue H reading", "group": "Expansion", "area": "holding", "address": 43741, "type": "int16", "access": "R", "description": "Units follow the sender category (kPa, °C, %)"},
    {"name": "PLC alarm 1 trigger", "group": "PLC", "area": "holding", "address": 43872, "type": "uint16", "access": "R", "comment": "Page 171 - PLC alarms, 3xx layout (base 43776)"},
    {"name": "PLC alarm 1 condition", "group": "PLC", "area": "holding", "address": 43873, "type": "uint16", "access": "R"},
    {"name": "PLC alarm 2 trigger", "group": "PLC", "area": "holding", "address": 43874, "type": "uint16", "access": "R"},
    {"name": "PLC alarm 2 condition", "group": "PLC", "area": "holding", "address": 43875, "type": "uint16", "access": "R"},
    {"name": "PLC alarm 3 trigger", "group": "PLC", "area": "holding", "address": 43876, "type": "uint16", "access": "R"},
    {"name": "PLC alarm 3 condition", "group": "PLC", "area": "holding", "address": 43877, "type": "uint16", "access": "R"},
    {"name": "PLC alarm 4 trigger", "group": "PLC", "area": "holding", "address": 43878, "type": "uint16", "access": "R"},
    {"name": "PLC alarm 4 condition", "group": "PLC", "area": "holding", "address": 43879, "type": "uint16", "access": "R"},
    {"name": "PLC alarm 5 trigger", "group": "PLC", "area": "holding", "address": 43880, "type": "uint16", "access": "R"},
    {"name": "PLC alarm 5 condition", "group": "PLC", "area": "holding", "address": 43881, "type": "uint16", "access": "R"},
    {"name": "PLC alarm 6 trigger", "group": "PLC", "area": "holding", "address": 43882, "type": "uint16", "access": "R"},
    {"name": "PLC alarm 6 condition", "group": "PLC", "area": "holding", "address": 43883, "type": "uint16", "access": "R"},
    {"name": "PLC alarm 7 trigger", "group": "PLC", "area": "holding", "address": 43884, "type": "uint16", "access": "R"},
    {"name": "PLC alarm 7 condition", "group": "PLC", "area": "holding", "address": 43885, "type": "uint16", "access": "R"},
    {"name": "PLC alarm 8 trigger", "group": "PLC", "area": "holding", "address": 43886, "type": "uint16", "access": "R"},
    {"name": "PLC alarm 8 condition", "group": "PLC", "area": "holding", "address": 43887, "type": "uint16", "access": "R"},
    {"name": "PLC alarm 9 trigger", "group": "PLC", "area": "holding", "address": 43888, "type": "uint16", "access": "R"},
    {"name": "PLC alarm 9 condition", "group": "PLC", "area": "holding", "address": 43889, "type": "uint16", "access": "R"},
    {"name": "PLC alarm 10 trigger", "group": "PLC", "area": "holding", "address": 43890, "type": "uint16", "access": "R"},
    {"name": "PLC alarm 10 condition", "group": "PLC", "area": "holding", "address": 43891, "type": "uint16", "access": "R"},
    {"name": "PLC alarm 11 trigger", "group": "PLC", "area": "holding", "address": 43892, "type": "uint16", "access": "R"},
    {"name": "PLC alarm 11 condition", "group": "PLC", "area": "holding", "address": 43893, "type": "uint16", "access": "R"},
    {"name": "PLC alarm 12 trigger", "group": "PLC", "area": "holding", "address": 43894, "type": "uint16", "access": "R"},
    {"name": "PLC alarm 12 condition", "group": "PLC", "area": "holding", "address": 43895, "type": "uint16", "access": "R"},
    {"name": "PLC alarm 13 trigger", "group": "PLC", "area": "holding", "address": 43896, "type": "uint16", "access": "R"},
    {"name": "PLC alarm 13 condition", "group": "PLC", "area": "holding", "address": 43897, "type": "uint16", "access": "R"},
    {"name": "PLC alarm 14 trigger", "group": "PLC", "area": "holding", "address": 43898, "type": "uint16", "access": "R"},
    {"name": "PLC alarm 14 condition", "group": "PLC", "area": "holding", "address": 43899, "type": "uint16", "access": "R"},
    {"name": "PLC alarm 15 trigger", "group": "PLC", "area": "holding", "address": 43900, "type": "uint16", "access": "R"},
    {"name": "PLC alarm 15 condition", "group": "PLC", "area": "holding", "address": 43901, "type": "uint16", "access": "R"},
    {"name": "PLC alarm 16 trigger", "group": "PLC", "area": "holding", "address": 43902, "type": "uint16", "access": "R"},
    {"name": "PLC alarm 16 condition", "group": "PLC", "area": "holding", "address": 43903, "type": "uint16", "access": "R"},
    {"name": "PLC alarm 17 trigger", "group": "PLC", "area": "holding", "address": 43904, "type": "uint16", "access": "R"},
    {"name": "PLC alarm 17 condition", "group": "PLC", "area": "holding", "address": 43905, "type": "uint16", "access": "R"},
    {"name": "PLC alarm 18 trigger", "group": "PLC", "area": "holding", "address": 43906, "type": "uint16", "access": "R"},
    {"name": "PLC alarm 18 condition", "group": "PLC", "area": "holding", "address": 43907, "type": "uint16", "access": "R"},
    {"name": "PLC alarm 19 trigger", "group": "PLC", "area": "holding", "address": 43908, "type": "uint16", "access": "R"},
    {"name": "PLC alarm 19 condition", "group": "PLC", "area": "holding", "address": 43909, "type": "uint16", "access": "R"},
    {"name": "PLC alarm 20 trigger", "group": "PLC", "area": "holding", "address": 43910, "type": "uint16", "access": "R"},
    {"name": "PLC alarm 20 condition", "group": "PLC", "area": "holding", "address": 43911, "type": "uint16", "access": "R"},
    {"name": "Digital output A source", "group": "Output config", "area": "holding", "address": 46080, "type": "uint16", "access": "R", "comment": "Page 180 - output sources and polarities, 335 layout (base 46080)"},
    {"name": "Digital output A polarity", "group": "Output config", "area": "holding", "address": 46081, "type": "uint16", "access": "R"},
    {"name": "Digital output B source", "group": "Output config", "area": "holding", "address": 46082, "type": "uint16", "access": "R"},
    {"name": "Digital output B polarity", "group": "Output config", "area": "holding", "address": 46083, "type": "uint16", "access": "R"},
    {"name": "Digital output C source", "group": "Output config", "area": "holding", "address": 46084, "type": "uint16", "access": "R"},
    {"name": "Digital output C polarity", "group": "Output config", "area": "holding", "address": 46085, "type": "uint16", "access": "R"},
    {"name": "Digital output D source", "group": "Output config", "area": "holding", "address": 46086, "type": "uint16", "access": "R"},
    {"name": "Digital output D polarity", "group": "Output config", "area": "holding", "address": 46087, "type": "uint16", "access": "R"},
    {"name": "Digital output E source", "group": "Output config", "area": "holding", "address": 46088, "type": "uint16", "access": "R"},
    {"name": "Digital output E polarity", "group": "Output config", "area": "holding", "address": 46089, "type": "uint16", "access": "R"},
    {"name": "Digital output F source", "group": "Output config", "area": "holding", "address": 46090, "type": "uint16", "access": "R"},
    {"name": "Digital output F polarity", "group": "Output config", "area": "holding", "address": 46091, "type": "uint16", "access": "R"},
    {"name": "Digital output G source", "group": "Output config", "area": "holding", "address": 46092, "type": "uint16", "access": "R"},
    {"name": "Digital output G polarity", "group": "Output config", "area": "holding", "address": 46093, "type": "uint16", "access": "R"},
    {"name": "Digital output H source", "group": "Output config", "area": "holding", "address": 46094, "type": "uint16", "access": "R"},
    {"name": "Digital output H polarity", "group": "Output config", "area": "holding", "address": 46095, "type": "uint16", "access": "R"},
    {"name": "Digital output I source", "group": "Output config", "area": "holding", "address": 46096, "type": "uint16", "access": "R"},
    {"name": "Digital output I polarity", "group": "Output config", "area": "holding", "address": 46097, "type": "uint16", "access": "R"},
    {"name": "Digital output J source", "group": "Output config", "area": "holding", "address": 46098, "type": "uint16", "access": "R"},
    {"name": "Digital output J polarity", "group": "Output config", "area": "holding", "address": 46099, "type": "uint16", "access": "R"},
    {"name": "Digital output K source", "group": "Output config", "area": "holding", "address": 46100, "type": "uint16", "access": "R"},
    {"name": "Digital output K polarity", "group": "Output config", "area": "holding", "address": 46101, "type": "uint16", "access": "R"},
    {"name": "Digital output L source", "group": "Output config", "area": "holding", "address": 46102, "type": "uint16", "access": "R"},
    {"name": "Digital output L polarity", "group": "Output config", "area": "holding", "address": 46103, "type": "uint16", "access": "R"},
    {"name": "Stop LED source", "group": "Output config", "area": "holding", "address": 46104, "type": "uint16", "access": "R"},
    {"name": "Stop LED polarity", "group": "Output config", "area": "holding", "address": 46105, "type": "uint16", "access": "R"},
    {"name": "Manual LED source", "group": "Output config", "area": "holding", "address": 46106, "type": "uint16", "access": "R"},
    {"name": "Manual LED polarity", "group": "Output config", "area": "holding", "address": 46107, "type": "uint16", "access": "R"},
    {"name": "Mode LED source", "group": "Output config", "area": "holding", "address": 46108, "type": "uint16", "access": "R"},
    {"name": "Mode LED polarity", "group": "Output config", "area": "holding", "address": 46109, "type": "uint16", "access": "R"},
    {"name": "Auto LED source", "group": "Output config", "area": "holding", "address": 46110, "type": "uint16", "access": "R"},
    {"name": "Auto LED polarity", "group": "Output config", "area": "holding", "address": 46111, "type": "uint16", "access": "R"},
    {"name": "S2 breaker LED source", "group": "Output config", "area": "holding", "address": 46112, "type": "uint16", "access": "R"},
    {"name": "S2 breaker LED polarity", "group": "Output config", "area": "holding", "address": 46113, "type": "uint16", "access": "R"},
    {"name": "S1 breaker LED source", "group": "Output config", "area": "holding", "address": 46114, "type": "uint16", "access": "R"},
    {"name": "S1 breaker LED polarity", "group": "Output config", "area": "holding", "address": 46115, "type": "uint16", "access": "R"},
    {"name": "S2 available LED source", "group": "Output config", "area": "holding", "address": 46116, "type": "uint16", "access": "R"},
    {"name": "S2 available LED polarity", "group": "Output config", "area": "holding", "address": 46117, "type": "uint16", "access": "R"},
    {"name": "S1 available LED source", "group": "Output config", "area": "holding", "address": 46118, "type": "uint16", "access": "R"},
    {"name": "S1 available LED polarity", "group": "Output config", "area": "holding", "address": 46119, "type": "uint16", "access": "R"},
    {"name": "User LED 1 source", "group": "Output config", "area": "holding", "address": 46120, "type": "uint16", "access": "R"},
    {"name": "User LED 1 polarity", "group": "Output config", "area": "holding", "address": 46121, "type": "uint16", "access": "R"},
    {"name": "User LED 2 source", "group": "Output config", "area": "holding", "address": 46122, "type": "uint16", "access": "R"},
    {"name": "User LED 2 polarity", "group": "Output config", "area": "holding", "address": 46123, "type": "uint16", "access": "R"},
    {"name": "User LED 3 source", "group": "Output config", "area": "holding", "address": 46124, "type": "uint16", "access": "R"},
    {"name": "User LED 3 polarity", "group": "Output config", "area": "holding", "address": 46125, "type": "uint16", "access": "R"},
    {"name": "User LED 4 source", "group": "Output config", "area": "holding", "address": 46126, "type": "uint16", "access": "R"},
    {"name": "User LED 4 polarity", "group": "Output config", "area": "holding", "address": 46127, "type": "uint16", "access": "R"},
    {"name": "User LED 1 colour", "group": "Output config", "area": "holding", "address": 46128, "type": "uint16", "access": "R"},
    {"name": "User LED 2 colour", "group": "Output config", "area": "holding", "address": 46129, "type": "uint16", "access": "R"},
    {"name": "User LED 3 colour", "group": "Output config", "area": "holding", "address": 46130, "type": "uint16", "access": "R"},
    {"name": "User LED 4 colour", "group": "Output config", "area": "holding", "address": 46131, "type": "uint16", "access": "R"},
    {"name": "Digital output A status", "group": "Outputs", "area": "holding", "address": 48640, "type": "uint16", "access": "R", "comment": "Page 190 - output status, 335 layout (base 48640)"},
    {"name": "Digital output B status", "group": "Outputs", "area": "holding", "address": 48641, "type": "uint16", "access": "R"},
    {"name": "Digital output C status", "group": "Outputs", "area": "holding", "address": 48642, "type": "uint16", "access": "R"},
    {"name": "Digital output D status", "group": "Outputs", "area": "holding", "address": 48643, "type": "uint16", "access": "R"},
    {"name": "Digital output E status", "group": "Outputs", "area": "holding", "address": 48644, "type": "uint16", "access": "R"},
    {"name": "Digital output F status", "group": "Outputs", "area": "holding", "address": 48645, "type": "uint16", "access": "R"},
    {"name": "Digital output G status", "group": "Outputs", "area": "holding", "address": 48646, "type": "uint16", "access": "R"},
    {"name": "Digital output H status", "group": "Outputs", "area": "holding", "address": 48647, "type": "uint16", "access": "R"},
    {"name": "Digital output I status", "group": "Outputs", "area": "holding", "address": 48648, "type": "uint16", "access": "R"},
    {"name": "Digital output J status", "group": "Outputs", "area": "holding", "address": 48649, "type": "uint16", "access": "R"},
    {"name": "Digital output K status", "group": "Outputs", "area": "holding", "address": 48650, "type": "uint16", "access": "R"},
    {"name": "Digital output L status", "group": "Outputs", "area": "holding", "address": 48651, "type": "uint16", "access": "R"},
    {"name": "Stop LED", "group": "Outputs", "area": "holding", "address": 48656, "type": "uint16", "access": "R"},
    {"name": "Manual LED", "group": "Outputs", "area": "holding", "address": 48657, "type": "uint16", "access": "R"},
    {"name": "Mode LED", "group": "Outputs", "area": "holding", "address": 48658, "type": "uint16", "access": "R"},
    {"name": "Auto LED", "group": "Outputs", "area": "holding", "address": 48659, "type": "uint16", "access": "R"},
    {"name": "S2 breaker LED", "group": "Outputs", "area": "holding", "address": 48660, "type": "uint16", "access": "R"},
    {"name": "S1 breaker LED", "group": "Outputs", "area": "holding", "address": 48661, "type": "uint16", "access": "R"},
    {"name": "S2 available LED", "group": "Outputs", "area": "holding", "address": 48662, "type": "uint16", "access": "R"},
    {"name": "S1 available LED", "group": "Outputs", "area": "holding", "address": 48663, "type": "uint16", "access": "R"},
    {"name": "User LED 1", "group": "Outputs", "area": "holding", "address": 48664, "type": "uint16", "access": "R"},
    {"name": "User LED 2", "group": "Outputs", "area": "holding", "address": 48665, "type": "uint16", "access": "R"},
    {"name": "User LED 3", "group": "Outputs", "area": "holding", "address": 48666, "type": "uint16", "access": "R"},
    {"name": "User LED 4", "group": "Outputs", "area": "holding", "address": 48667, "type": "uint16", "access": "R"}
  ]
}
