{
  "$schema": "https://raw.githubusercontent.com/nobrega8/mbmap-library/main/schema/mbmap-2.schema.json",
  "mbmap": 2,
  "vendor": "Microidea",
  "model": "EPFCB",
  "models": [
    "EPFCB"
  ],
  "vendor_website": "microidea.it",
  "description": "Automatic power factor controller with up to 13 capacitor steps, Modbus over RS485 or Ethernet",
  "revision": 1,
  "revised": "2026-10-18",
  "firmware": "01.07",
  "source": "Microidea, \"EPFCB - Registers Modbus\", firmware 01.07 (2017-11-30); https://www.microidea.it/sites/default/files/pdf/EPFC%20MODBUS%20TABLE.pdf",
  "sources": [
    {
      "title": "EPFCB - Registers Modbus",
      "version": "FW 01.07",
      "date": "2017-11-30",
      "url": "https://www.microidea.it/sites/default/files/pdf/EPFC%20MODBUS%20TABLE.pdf",
      "note": "all three pages: input registers and holding registers"
    }
  ],
  "notes": [
    "Power factor controller EPFCB. The manual file is named EPFC and its table is titled EPFCB.",
    "Serial Modbus must be switched on in the setup (A.05 Serial protocol = Modbus, address 1-199); with A.04 set to Ethernet the controller uses the IP address and port from A.06.",
    "The manual does not give the order of the two words of a 32-bit or 64-bit value, nor the factory serial settings. Big word order is assumed; check it against the display.",
    "The single alarm bits of the 32-bit alarm words assume the high word is at the lower address.",
    "Addresses 0x0048-0x004C and 0x0058-0x005C are not described in the manual.",
    "Temperatures are in the unit chosen by A.07 (degrees Celsius or Fahrenheit)."
  ],
  "byte_order": "big",
  "word_order": "big",
  "address_base": 0,
  "x_status": "official",
  "registers": [
    {
      "name": "Power factor",
      "group": "Measurements",
      "area": "input",
      "address": 0,
      "type": "uint16",
      "scale": 0.001,
      "access": "R",
      "description": "Actual cos phi, sent as cos x 1000"
    },
    {
      "name": "Voltage",
      "group": "Measurements",
      "area": "input",
      "address": 1,
      "type": "uint16",
      "unit": "V",
      "access": "R",
      "description": "RMS voltage"
    },
    {
      "name": "Current",
      "group": "Measurements",
      "area": "input",
      "address": 2,
      "type": "uint32",
      "scale": 0.01,
      "unit": "A",
      "access": "R",
      "description": "RMS current"
    },
    {
      "name": "Reactive power",
      "group": "Measurements",
      "area": "input",
      "address": 4,
      "type": "int32",
      "unit": "var",
      "access": "R",
      "description": "Actual reactive power; negative is capacitive"
    },
    {
      "name": "Reactive power demand",
      "group": "Measurements",
      "area": "input",
      "address": 6,
      "type": "int32",
      "unit": "var",
      "access": "R"
    },
    {
      "name": "Active power",
      "group": "Measurements",
      "area": "input",
      "address": 8,
      "type": "int32",
      "unit": "W",
      "access": "R"
    },
    {
      "name": "THD I",
      "group": "Measurements",
      "area": "input",
      "address": 10,
      "type": "uint16",
      "unit": "%",
      "access": "R"
    },
    {
      "name": "THD V",
      "group": "Measurements",
      "area": "input",
      "address": 11,
      "type": "uint16",
      "unit": "%",
      "access": "R"
    },
    {
      "name": "General alarms",
      "group": "Alarms",
      "area": "input",
      "address": 12,
      "type": "uint32",
      "access": "R",
      "description": "One bit per alarm, 1 = active. The manual lists this as a 16-bit value but uses bit 31, so it is read here as two registers. Bits: 0 voltage too high, 1 voltage too low, 2 current too high, 3 current too low, 4 overcompensation, 5 undercompensation, 6 over temperature, 7 high THD V, 8 high THD I, 9 minimum cos, 10 external over temperature, 31 wrong frequency"
    },
    {
      "name": "General alarm - Voltage too high",
      "group": "Alarms",
      "area": "input",
      "address": 13,
      "type": "bool",
      "bit": 0,
      "access": "R"
    },
    {
      "name": "General alarm - Voltage too low",
      "group": "Alarms",
      "area": "input",
      "address": 13,
      "type": "bool",
      "bit": 1,
      "access": "R"
    },
    {
      "name": "General alarm - Current too high",
      "group": "Alarms",
      "area": "input",
      "address": 13,
      "type": "bool",
      "bit": 2,
      "access": "R"
    },
    {
      "name": "General alarm - Current too low",
      "group": "Alarms",
      "area": "input",
      "address": 13,
      "type": "bool",
      "bit": 3,
      "access": "R"
    },
    {
      "name": "General alarm - Overcompensation",
      "group": "Alarms",
      "area": "input",
      "address": 13,
      "type": "bool",
      "bit": 4,
      "access": "R"
    },
    {
      "name": "General alarm - Undercompensation",
      "group": "Alarms",
      "area": "input",
      "address": 13,
      "type": "bool",
      "bit": 5,
      "access": "R"
    },
    {
      "name": "General alarm - Over temperature",
      "group": "Alarms",
      "area": "input",
      "address": 13,
      "type": "bool",
      "bit": 6,
      "access": "R"
    },
    {
      "name": "General alarm - High THD V",
      "group": "Alarms",
      "area": "input",
      "address": 13,
      "type": "bool",
      "bit": 7,
      "access": "R"
    },
    {
      "name": "General alarm - High THD I",
      "group": "Alarms",
      "area": "input",
      "address": 13,
      "type": "bool",
      "bit": 8,
      "access": "R"
    },
    {
      "name": "General alarm - Minimum cos",
      "group": "Alarms",
      "area": "input",
      "address": 13,
      "type": "bool",
      "bit": 9,
      "access": "R"
    },
    {
      "name": "General alarm - External over temperature",
      "group": "Alarms",
      "area": "input",
      "address": 13,
      "type": "bool",
      "bit": 10,
      "access": "R"
    },
    {
      "name": "General alarm - Wrong frequency",
      "group": "Alarms",
      "area": "input",
      "address": 12,
      "type": "bool",
      "bit": 15,
      "access": "R"
    },
    {
      "name": "EEPROM alarms",
      "group": "Alarms",
      "area": "input",
      "address": 14,
      "type": "uint16",
      "access": "R",
      "description": "Bits: 0 setup parameters error, 1 calibration parameters error, 2 various parameters error, 3 erase EEPROM error"
    },
    {
      "name": "EEPROM alarm - Setup parameters error",
      "group": "Alarms",
      "area": "input",
      "address": 14,
      "type": "bool",
      "bit": 0,
      "access": "R"
    },
    {
      "name": "EEPROM alarm - Calibration parameters error",
      "group": "Alarms",
      "area": "input",
      "address": 14,
      "type": "bool",
      "bit": 1,
      "access": "R"
    },
    {
      "name": "EEPROM alarm - Various parameters error",
      "group": "Alarms",
      "area": "input",
      "address": 14,
      "type": "bool",
      "bit": 2,
      "access": "R"
    },
    {
      "name": "EEPROM alarm - Erase EEPROM error",
      "group": "Alarms",
      "area": "input",
      "address": 14,
      "type": "bool",
      "bit": 3,
      "access": "R"
    },
    {
      "name": "Output steps status",
      "group": "Steps",
      "area": "input",
      "address": 15,
      "type": "uint16",
      "access": "R",
      "description": "Bit 0 = step 1 ... bit 12 = step 13, 1 = step inserted"
    },
    {
      "name": "Step 1 inserted",
      "group": "Steps",
      "area": "input",
      "address": 15,
      "type": "bool",
      "bit": 0,
      "access": "R"
    },
    {
      "name": "Step 2 inserted",
      "group": "Steps",
      "area": "input",
      "address": 15,
      "type": "bool",
      "bit": 1,
      "access": "R"
    },
    {
      "name": "Step 3 inserted",
      "group": "Steps",
      "area": "input",
      "address": 15,
      "type": "bool",
      "bit": 2,
      "access": "R"
    },
    {
      "name": "Step 4 inserted",
      "group": "Steps",
      "area": "input",
      "address": 15,
      "type": "bool",
      "bit": 3,
      "access": "R"
    },
    {
      "name": "Step 5 inserted",
      "group": "Steps",
      "area": "input",
      "address": 15,
      "type": "bool",
      "bit": 4,
      "access": "R"
    },
    {
      "name": "Step 6 inserted",
      "group": "Steps",
      "area": "input",
      "address": 15,
      "type": "bool",
      "bit": 5,
      "access": "R"
    },
    {
      "name": "Step 7 inserted",
      "group": "Steps",
      "area": "input",
      "address": 15,
      "type": "bool",
      "bit": 6,
      "access": "R"
    },
    {
      "name": "Step 8 inserted",
      "group": "Steps",
      "area": "input",
      "address": 15,
      "type": "bool",
      "bit": 7,
      "access": "R"
    },
    {
      "name": "Step 9 inserted",
      "group": "Steps",
      "area": "input",
      "address": 15,
      "type": "bool",
      "bit": 8,
      "access": "R"
    },
    {
      "name": "Step 10 inserted",
      "group": "Steps",
      "area": "input",
      "address": 15,
      "type": "bool",
      "bit": 9,
      "access": "R"
    },
    {
      "name": "Step 11 inserted",
      "group": "Steps",
      "area": "input",
      "address": 15,
      "type": "bool",
      "bit": 10,
      "access": "R"
    },
    {
      "name": "Step 12 inserted",
      "group": "Steps",
      "area": "input",
      "address": 15,
      "type": "bool",
      "bit": 11,
      "access": "R"
    },
    {
      "name": "Step 13 inserted",
      "group": "Steps",
      "area": "input",
      "address": 15,
      "type": "bool",
      "bit": 12,
      "access": "R"
    },
    {
      "name": "Step 1 reactive power",
      "group": "Steps",
      "area": "input",
      "address": 16,
      "type": "uint32",
      "unit": "var",
      "access": "R",
      "description": "Reactive power the step really delivers"
    },
    {
      "name": "Step 2 reactive power",
      "group": "Steps",
      "area": "input",
      "address": 18,
      "type": "uint32",
      "unit": "var",
      "access": "R",
      "description": "Reactive power the step really delivers"
    },
    {
      "name": "Step 3 reactive power",
      "group": "Steps",
      "area": "input",
      "address": 20,
      "type": "uint32",
      "unit": "var",
      "access": "R",
      "description": "Reactive power the step really delivers"
    },
    {
      "name": "Step 4 reactive power",
      "group": "Steps",
      "area": "input",
      "address": 22,
      "type": "uint32",
      "unit": "var",
      "access": "R",
      "description": "Reactive power the step really delivers"
    },
    {
      "name": "Step 5 reactive power",
      "group": "Steps",
      "area": "input",
      "address": 24,
      "type": "uint32",
      "unit": "var",
      "access": "R",
      "description": "Reactive power the step really delivers"
    },
    {
      "name": "Step 6 reactive power",
      "group": "Steps",
      "area": "input",
      "address": 26,
      "type": "uint32",
      "unit": "var",
      "access": "R",
      "description": "Reactive power the step really delivers"
    },
    {
      "name": "Step 7 reactive power",
      "group": "Steps",
      "area": "input",
      "address": 28,
      "type": "uint32",
      "unit": "var",
      "access": "R",
      "description": "Reactive power the step really delivers"
    },
    {
      "name": "Step 8 reactive power",
      "group": "Steps",
      "area": "input",
      "address": 30,
      "type": "uint32",
      "unit": "var",
      "access": "R",
      "description": "Reactive power the step really delivers"
    },
    {
      "name": "Step 9 reactive power",
      "group": "Steps",
      "area": "input",
      "address": 32,
      "type": "uint32",
      "unit": "var",
      "access": "R",
      "description": "Reactive power the step really delivers"
    },
    {
      "name": "Step 10 reactive power",
      "group": "Steps",
      "area": "input",
      "address": 34,
      "type": "uint32",
      "unit": "var",
      "access": "R",
      "description": "Reactive power the step really delivers"
    },
    {
      "name": "Step 11 reactive power",
      "group": "Steps",
      "area": "input",
      "address": 36,
      "type": "uint32",
      "unit": "var",
      "access": "R",
      "description": "Reactive power the step really delivers"
    },
    {
      "name": "Step 12 reactive power",
      "group": "Steps",
      "area": "input",
      "address": 38,
      "type": "uint32",
      "unit": "var",
      "access": "R",
      "description": "Reactive power the step really delivers"
    },
    {
      "name": "Step 13 reactive power",
      "group": "Steps",
      "area": "input",
      "address": 40,
      "type": "uint32",
      "unit": "var",
      "access": "R",
      "description": "Reactive power the step really delivers"
    },
    {
      "name": "Step 1 discharge time",
      "group": "Steps",
      "area": "input",
      "address": 42,
      "type": "uint16",
      "unit": "s",
      "access": "R",
      "description": "Seconds left before the capacitor is discharged"
    },
    {
      "name": "Step 2 discharge time",
      "group": "Steps",
      "area": "input",
      "address": 43,
      "type": "uint16",
      "unit": "s",
      "access": "R",
      "description": "Seconds left before the capacitor is discharged"
    },
    {
      "name": "Step 3 discharge time",
      "group": "Steps",
      "area": "input",
      "address": 44,
      "type": "uint16",
      "unit": "s",
      "access": "R",
      "description": "Seconds left before the capacitor is discharged"
    },
    {
      "name": "Step 4 discharge time",
      "group": "Steps",
      "area": "input",
      "address": 45,
      "type": "uint16",
      "unit": "s",
      "access": "R",
      "description": "Seconds left before the capacitor is discharged"
    },
    {
      "name": "Step 5 discharge time",
      "group": "Steps",
      "area": "input",
      "address": 46,
      "type": "uint16",
      "unit": "s",
      "access": "R",
      "description": "Seconds left before the capacitor is discharged"
    },
    {
      "name": "Step 6 discharge time",
      "group": "Steps",
      "area": "input",
      "address": 47,
      "type": "uint16",
      "unit": "s",
      "access": "R",
      "description": "Seconds left before the capacitor is discharged"
    },
    {
      "name": "Step 7 discharge time",
      "group": "Steps",
      "area": "input",
      "address": 48,
      "type": "uint16",
      "unit": "s",
      "access": "R",
      "description": "Seconds left before the capacitor is discharged"
    },
    {
      "name": "Step 8 discharge time",
      "group": "Steps",
      "area": "input",
      "address": 49,
      "type": "uint16",
      "unit": "s",
      "access": "R",
      "description": "Seconds left before the capacitor is discharged"
    },
    {
      "name": "Step 9 discharge time",
      "group": "Steps",
      "area": "input",
      "address": 50,
      "type": "uint16",
      "unit": "s",
      "access": "R",
      "description": "Seconds left before the capacitor is discharged"
    },
    {
      "name": "Step 10 discharge time",
      "group": "Steps",
      "area": "input",
      "address": 51,
      "type": "uint16",
      "unit": "s",
      "access": "R",
      "description": "Seconds left before the capacitor is discharged"
    },
    {
      "name": "Step 11 discharge time",
      "group": "Steps",
      "area": "input",
      "address": 52,
      "type": "uint16",
      "unit": "s",
      "access": "R",
      "description": "Seconds left before the capacitor is discharged"
    },
    {
      "name": "Step 12 discharge time",
      "group": "Steps",
      "area": "input",
      "address": 53,
      "type": "uint16",
      "unit": "s",
      "access": "R",
      "description": "Seconds left before the capacitor is discharged"
    },
    {
      "name": "Step 13 discharge time",
      "group": "Steps",
      "area": "input",
      "address": 54,
      "type": "uint16",
      "unit": "s",
      "access": "R",
      "description": "Seconds left before the capacitor is discharged"
    },
    {
      "name": "Internal temperature",
      "group": "Measurements",
      "area": "input",
      "address": 55,
      "type": "uint16",
      "scale": 0.1,
      "unit": "°C / °F",
      "access": "R",
      "description": "In the unit chosen by A.07"
    },
    {
      "name": "Maximum number of steps",
      "group": "Info",
      "area": "input",
      "address": 56,
      "type": "uint16",
      "access": "R"
    },
    {
      "name": "Firmware checksum",
      "group": "Info",
      "area": "input",
      "address": 57,
      "type": "uint16",
      "access": "R"
    },
    {
      "name": "Quadrant",
      "group": "Measurements",
      "area": "input",
      "address": 58,
      "type": "uint16",
      "access": "R",
      "enum": {
        "1": "Inductive load",
        "2": "Inductive generator",
        "3": "Capacitive generator",
        "4": "Capacitive load"
      }
    },
    {
      "name": "Working hours",
      "group": "Statistics",
      "area": "input",
      "address": 59,
      "type": "uint32",
      "unit": "h",
      "access": "R",
      "description": "Total working hours"
    },
    {
      "name": "Maximum voltage measured",
      "group": "Statistics",
      "area": "input",
      "address": 61,
      "type": "uint16",
      "unit": "V",
      "access": "R"
    },
    {
      "name": "Maximum current measured",
      "group": "Statistics",
      "area": "input",
      "address": 62,
      "type": "uint32",
      "scale": 0.01,
      "unit": "A",
      "access": "R"
    },
    {
      "name": "Maximum THD I measured",
      "group": "Statistics",
      "area": "input",
      "address": 64,
      "type": "uint16",
      "unit": "%",
      "access": "R"
    },
    {
      "name": "Maximum THD V measured",
      "group": "Statistics",
      "area": "input",
      "address": 65,
      "type": "uint16",
      "unit": "%",
      "access": "R"
    },
    {
      "name": "Maximum internal temperature measured",
      "group": "Statistics",
      "area": "input",
      "address": 66,
      "type": "uint16",
      "unit": "°C / °F",
      "access": "R"
    },
    {
      "name": "Maximum external temperature measured",
      "group": "Statistics",
      "area": "input",
      "address": 67,
      "type": "uint16",
      "unit": "°C / °F",
      "access": "R"
    },
    {
      "name": "Mode",
      "group": "Setup",
      "area": "holding",
      "address": 0,
      "type": "uint16",
      "access": "RW",
      "enum": {
        "0": "Manual",
        "1": "Auto"
      },
      "write_min": 0,
      "write_max": 1
    },
    {
      "name": "Manual step combination",
      "group": "Setup",
      "area": "holding",
      "address": 1,
      "type": "uint16",
      "access": "RW",
      "write_min": 0,
      "write_max": 8191,
      "description": "Steps to insert in manual mode: bit 0 = step 1 ... bit 12 = step 13"
    },
    {
      "name": "Manual step 1",
      "group": "Setup",
      "area": "holding",
      "address": 1,
      "type": "bool",
      "bit": 0,
      "access": "RW"
    },
    {
      "name": "Manual step 2",
      "group": "Setup",
      "area": "holding",
      "address": 1,
      "type": "bool",
      "bit": 1,
      "access": "RW"
    },
    {
      "name": "Manual step 3",
      "group": "Setup",
      "area": "holding",
      "address": 1,
      "type": "bool",
      "bit": 2,
      "access": "RW"
    },
    {
      "name": "Manual step 4",
      "group": "Setup",
      "area": "holding",
      "address": 1,
      "type": "bool",
      "bit": 3,
      "access": "RW"
    },
    {
      "name": "Manual step 5",
      "group": "Setup",
      "area": "holding",
      "address": 1,
      "type": "bool",
      "bit": 4,
      "access": "RW"
    },
    {
      "name": "Manual step 6",
      "group": "Setup",
      "area": "holding",
      "address": 1,
      "type": "bool",
      "bit": 5,
      "access": "RW"
    },
    {
      "name": "Manual step 7",
      "group": "Setup",
      "area": "holding",
      "address": 1,
      "type": "bool",
      "bit": 6,
      "access": "RW"
    },
    {
      "name": "Manual step 8",
      "group": "Setup",
      "area": "holding",
      "address": 1,
      "type": "bool",
      "bit": 7,
      "access": "RW"
    },
    {
      "name": "Manual step 9",
      "group": "Setup",
      "area": "holding",
      "address": 1,
      "type": "bool",
      "bit": 8,
      "access": "RW"
    },
    {
      "name": "Manual step 10",
      "group": "Setup",
      "area": "holding",
      "address": 1,
      "type": "bool",
      "bit": 9,
      "access": "RW"
    },
    {
      "name": "Manual step 11",
      "group": "Setup",
      "area": "holding",
      "address": 1,
      "type": "bool",
      "bit": 10,
      "access": "RW"
    },
    {
      "name": "Manual step 12",
      "group": "Setup",
      "area": "holding",
      "address": 1,
      "type": "bool",
      "bit": 11,
      "access": "RW"
    },
    {
      "name": "Manual step 13",
      "group": "Setup",
      "area": "holding",
      "address": 1,
      "type": "bool",
      "bit": 12,
      "access": "RW"
    },
    {
      "name": "Desired cos",
      "group": "Setup",
      "area": "holding",
      "address": 2,
      "type": "int16",
      "scale": 0.01,
      "access": "RW",
      "write_min": -0.99,
      "write_max": 1.0,
      "description": "Target cos phi: 0.85 to 1.00, or -0.90 to -0.99 for capacitive"
    },
    {
      "name": "Sensitivity",
      "group": "Setup",
      "area": "holding",
      "address": 3,
      "type": "uint16",
      "unit": "s/step",
      "access": "RW",
      "write_min": 5,
      "write_max": 600
    },
    {
      "name": "Language",
      "group": "Setup",
      "area": "holding",
      "address": 4,
      "type": "uint16",
      "access": "RW",
      "enum": {
        "0": "English",
        "1": "Italian",
        "2": "Spanish"
      },
      "write_min": 0,
      "write_max": 2
    },
    {
      "name": "P.01 CT primary current",
      "group": "Setup",
      "area": "holding",
      "address": 5,
      "type": "uint16",
      "unit": "A",
      "access": "RW",
      "write_min": 0,
      "write_max": 10000,
      "description": "0 or 5 to 10000"
    },
    {
      "name": "P.02 VT ratio",
      "group": "Setup",
      "area": "holding",
      "address": 6,
      "type": "uint16",
      "scale": 0.01,
      "access": "RW",
      "write_min": 0.4,
      "write_max": 100
    },
    {
      "name": "P.03 Capacitor nominal voltage",
      "group": "Setup",
      "area": "holding",
      "address": 7,
      "type": "uint16",
      "unit": "V",
      "access": "RW",
      "write_min": 80,
      "write_max": 65000
    },
    {
      "name": "P.04 Step reconnection time",
      "group": "Setup",
      "area": "holding",
      "address": 8,
      "type": "uint16",
      "unit": "s",
      "access": "RW",
      "write_min": 1,
      "write_max": 600
    },
    {
      "name": "P.05 Desired cos in generator mode",
      "group": "Setup",
      "area": "holding",
      "address": 9,
      "type": "int16",
      "scale": 0.01,
      "access": "RW",
      "write_min": -0.99,
      "write_max": 1.0,
      "description": "0 = disabled, 0.80 to 1.00, or -0.80 to -0.99 for capacitive"
    },
    {
      "name": "Step 1 power",
      "group": "Setup",
      "area": "holding",
      "address": 10,
      "type": "int32",
      "access": "RW",
      "enum": {
        "-3": "Fan",
        "-2": "Normally open alarm",
        "-1": "Normally closed alarm",
        "0": "Disabled"
      },
      "write_min": -3,
      "write_max": 10000000,
      "description": "Step size; the manual gives the unit as var but also writes kvar. Special values: 0 disabled, -1 NCA, -2 NOA, -3 fan"
    },
    {
      "name": "Step 2 power",
      "group": "Setup",
      "area": "holding",
      "address": 12,
      "type": "int32",
      "access": "RW",
      "enum": {
        "-3": "Fan",
        "-2": "Normally open alarm",
        "-1": "Normally closed alarm",
        "0": "Disabled"
      },
      "write_min": -3,
      "write_max": 10000000,
      "description": "Step size; the manual gives the unit as var but also writes kvar. Special values: 0 disabled, -1 NCA, -2 NOA, -3 fan"
    },
    {
      "name": "Step 3 power",
      "group": "Setup",
      "area": "holding",
      "address": 14,
      "type": "int32",
      "access": "RW",
      "enum": {
        "-3": "Fan",
        "-2": "Normally open alarm",
        "-1": "Normally closed alarm",
        "0": "Disabled"
      },
      "write_min": -3,
      "write_max": 10000000,
      "description": "Step size; the manual gives the unit as var but also writes kvar. Special values: 0 disabled, -1 NCA, -2 NOA, -3 fan"
    },
    {
      "name": "Step 4 power",
      "group": "Setup",
      "area": "holding",
      "address": 16,
      "type": "int32",
      "access": "RW",
      "enum": {
        "-3": "Fan",
        "-2": "Normally open alarm",
        "-1": "Normally closed alarm",
        "0": "Disabled"
      },
      "write_min": -3,
      "write_max": 10000000,
      "description": "Step size; the manual gives the unit as var but also writes kvar. Special values: 0 disabled, -1 NCA, -2 NOA, -3 fan"
    },
    {
      "name": "Step 5 power",
      "group": "Setup",
      "area": "holding",
      "address": 18,
      "type": "int32",
      "access": "RW",
      "enum": {
        "-3": "Fan",
        "-2": "Normally open alarm",
        "-1": "Normally closed alarm",
        "0": "Disabled"
      },
      "write_min": -3,
      "write_max": 10000000,
      "description": "Step size; the manual gives the unit as var but also writes kvar. Special values: 0 disabled, -1 NCA, -2 NOA, -3 fan"
    },
    {
      "name": "Step 6 power",
      "group": "Setup",
      "area": "holding",
      "address": 20,
      "type": "int32",
      "access": "RW",
      "enum": {
        "-3": "Fan",
        "-2": "Normally open alarm",
        "-1": "Normally closed alarm",
        "0": "Disabled"
      },
      "write_min": -3,
      "write_max": 10000000,
      "description": "Step size; the manual gives the unit as var but also writes kvar. Special values: 0 disabled, -1 NCA, -2 NOA, -3 fan"
    },
    {
      "name": "Step 7 power",
      "group": "Setup",
      "area": "holding",
      "address": 22,
      "type": "int32",
      "access": "RW",
      "enum": {
        "-3": "Fan",
        "-2": "Normally open alarm",
        "-1": "Normally closed alarm",
        "0": "Disabled"
      },
      "write_min": -3,
      "write_max": 10000000,
      "description": "Step size; the manual gives the unit as var but also writes kvar. Special values: 0 disabled, -1 NCA, -2 NOA, -3 fan"
    },
    {
      "name": "Step 8 power",
      "group": "Setup",
      "area": "holding",
      "address": 24,
      "type": "int32",
      "access": "RW",
      "enum": {
        "-3": "Fan",
        "-2": "Normally open alarm",
        "-1": "Normally closed alarm",
        "0": "Disabled"
      },
      "write_min": -3,
      "write_max": 10000000,
      "description": "Step size; the manual gives the unit as var but also writes kvar. Special values: 0 disabled, -1 NCA, -2 NOA, -3 fan"
    },
    {
      "name": "Step 9 power",
      "group": "Setup",
      "area": "holding",
      "address": 26,
      "type": "int32",
      "access": "RW",
      "enum": {
        "-3": "Fan",
        "-2": "Normally open alarm",
        "-1": "Normally closed alarm",
        "0": "Disabled"
      },
      "write_min": -3,
      "write_max": 10000000,
      "description": "Step size; the manual gives the unit as var but also writes kvar. Special values: 0 disabled, -1 NCA, -2 NOA, -3 fan"
    },
    {
      "name": "Step 10 power",
      "group": "Setup",
      "area": "holding",
      "address": 28,
      "type": "int32",
      "access": "RW",
      "enum": {
        "-3": "Fan",
        "-2": "Normally open alarm",
        "-1": "Normally closed alarm",
        "0": "Disabled"
      },
      "write_min": -3,
      "write_max": 10000000,
      "description": "Step size; the manual gives the unit as var but also writes kvar. Special values: 0 disabled, -1 NCA, -2 NOA, -3 fan"
    },
    {
      "name": "Step 11 power",
      "group": "Setup",
      "area": "holding",
      "address": 30,
      "type": "int32",
      "access": "RW",
      "enum": {
        "-3": "Fan",
        "-2": "Normally open alarm",
        "-1": "Normally closed alarm",
        "0": "Disabled"
      },
      "write_min": -3,
      "write_max": 10000000,
      "description": "Step size; the manual gives the unit as var but also writes kvar. Special values: 0 disabled, -1 NCA, -2 NOA, -3 fan"
    },
    {
      "name": "Step 12 power",
      "group": "Setup",
      "area": "holding",
      "address": 32,
      "type": "int32",
      "access": "RW",
      "enum": {
        "-3": "Fan",
        "-2": "Normally open alarm",
        "-1": "Normally closed alarm",
        "0": "Disabled"
      },
      "write_min": -3,
      "write_max": 10000000,
      "description": "Step size; the manual gives the unit as var but also writes kvar. Special values: 0 disabled, -1 NCA, -2 NOA, -3 fan"
    },
    {
      "name": "Step 13 power",
      "group": "Setup",
      "area": "holding",
      "address": 34,
      "type": "int32",
      "access": "RW",
      "enum": {
        "-3": "Fan",
        "-2": "Normally open alarm",
        "-1": "Normally closed alarm",
        "0": "Disabled"
      },
      "write_min": -3,
      "write_max": 10000000,
      "description": "Step size; the manual gives the unit as var but also writes kvar. Special values: 0 disabled, -1 NCA, -2 NOA, -3 fan"
    },
    {
      "name": "A.01 Mains connection",
      "group": "Setup",
      "area": "holding",
      "address": 36,
      "type": "uint16",
      "access": "RW",
      "enum": {
        "0": "Three-phase",
        "1": "Single-phase"
      },
      "write_min": 0,
      "write_max": 1
    },
    {
      "name": "A.01 Mains voltage",
      "group": "Setup",
      "area": "holding",
      "address": 37,
      "type": "uint16",
      "unit": "V",
      "access": "RW",
      "write_min": 220,
      "write_max": 440,
      "description": "In steps of 5 V"
    },
    {
      "name": "A.02 CT current sense",
      "group": "Setup",
      "area": "holding",
      "address": 38,
      "type": "uint16",
      "access": "RW",
      "enum": {
        "1": "L1 direct",
        "2": "L1 inverse",
        "3": "L2 direct",
        "4": "L2 inverse",
        "5": "L3 direct",
        "6": "L3 inverse"
      },
      "write_min": 1,
      "write_max": 6
    },
    {
      "name": "A.03 Frequency",
      "group": "Setup",
      "area": "holding",
      "address": 39,
      "type": "uint16",
      "access": "RW",
      "enum": {
        "1": "50 Hz",
        "2": "60 Hz"
      },
      "write_min": 1,
      "write_max": 2
    },
    {
      "name": "A.04 Communication port",
      "group": "Setup",
      "area": "holding",
      "address": 40,
      "type": "uint16",
      "access": "RW",
      "enum": {
        "0": "RS485",
        "1": "Ethernet"
      },
      "write_min": 0,
      "write_max": 1
    },
    {
      "name": "A.05 Serial address",
      "group": "Setup",
      "area": "holding",
      "address": 41,
      "type": "uint16",
      "access": "RW",
      "write_min": 0,
      "write_max": 199,
      "description": "0 = disabled, 1 to 199"
    },
    {
      "name": "A.05 Serial protocol",
      "group": "Setup",
      "area": "holding",
      "address": 42,
      "type": "uint16",
      "access": "RW",
      "enum": {
        "0": "Proprietary",
        "1": "Modbus"
      },
      "write_min": 0,
      "write_max": 1
    },
    {
      "name": "A.05 Baud rate",
      "group": "Setup",
      "area": "holding",
      "address": 43,
      "type": "uint16",
      "access": "RW",
      "enum": {
        "2": "1200",
        "3": "2400",
        "4": "4800",
        "5": "9600",
        "6": "19200"
      },
      "write_min": 2,
      "write_max": 6
    },
    {
      "name": "A.05 Parity",
      "group": "Setup",
      "area": "holding",
      "address": 44,
      "type": "uint16",
      "access": "RW",
      "enum": {
        "0": "None",
        "1": "Odd",
        "2": "Even"
      },
      "write_min": 0,
      "write_max": 2
    },
    {
      "name": "A.06 Ethernet IP address",
      "group": "Setup",
      "area": "holding",
      "address": 45,
      "type": "uint32",
      "access": "RW",
      "description": "IPv4 address as a 32-bit number"
    },
    {
      "name": "A.06 Ethernet gateway address",
      "group": "Setup",
      "area": "holding",
      "address": 47,
      "type": "uint32",
      "access": "RW",
      "description": "Gateway IPv4 address as a 32-bit number"
    },
    {
      "name": "A.06 Ethernet port",
      "group": "Setup",
      "area": "holding",
      "address": 49,
      "type": "uint16",
      "access": "RW"
    },
    {
      "name": "A.07 Temperature scale",
      "group": "Setup",
      "area": "holding",
      "address": 50,
      "type": "uint16",
      "access": "RW",
      "enum": {
        "0": "°C",
        "1": "°F"
      },
      "write_min": 0,
      "write_max": 1
    },
    {
      "name": "A.07 Fan relay off below",
      "group": "Setup",
      "area": "holding",
      "address": 51,
      "type": "uint16",
      "unit": "°C / °F",
      "access": "RW",
      "write_min": 1,
      "write_max": 240,
      "description": "Minimum temperature threshold for disabling the fan relay"
    },
    {
      "name": "A.07 Fan relay off above",
      "group": "Setup",
      "area": "holding",
      "address": 52,
      "type": "uint16",
      "unit": "°C / °F",
      "access": "RW",
      "write_min": 1,
      "write_max": 240,
      "description": "Maximum temperature threshold for disabling the fan relay"
    },
    {
      "name": "A.08 Fixed step number",
      "group": "Setup",
      "area": "holding",
      "address": 53,
      "type": "uint16",
      "access": "RW",
      "write_min": 0,
      "write_max": 12
    },
    {
      "name": "A.08 Fixed step type",
      "group": "Setup",
      "area": "holding",
      "address": 54,
      "type": "uint16",
      "access": "RW",
      "enum": {
        "0": "Normal",
        "1": "With calculations"
      },
      "write_min": 0,
      "write_max": 1
    },
    {
      "name": "A.09 Antihunting threshold",
      "group": "Setup",
      "area": "holding",
      "address": 55,
      "type": "int16",
      "scale": 0.01,
      "access": "RW",
      "write_min": -0.99,
      "write_max": 1.0,
      "description": "0 = disabled, 0.90 to 1.00, or -0.95 to -0.99 for capacitive"
    },
    {
      "name": "A.10 Delay between steps",
      "group": "Setup",
      "area": "holding",
      "address": 56,
      "type": "uint16",
      "scale": 0.1,
      "unit": "s",
      "access": "RW",
      "write_min": 1,
      "write_max": 5
    },
    {
      "name": "A.11 Time to return to home page",
      "group": "Setup",
      "area": "holding",
      "address": 57,
      "type": "uint16",
      "unit": "s",
      "access": "RW",
      "write_min": 0,
      "write_max": 180,
      "description": "0 = disabled, 5 to 180"
    },
    {
      "name": "A.12 Keyboard illumination",
      "group": "Setup",
      "area": "holding",
      "address": 58,
      "type": "uint16",
      "access": "RW",
      "enum": {
        "0": "Enabled",
        "1": "Disabled"
      },
      "write_min": 0,
      "write_max": 1
    },
    {
      "name": "A.13 External input function",
      "group": "Setup",
      "area": "holding",
      "address": 59,
      "type": "uint16",
      "access": "RW",
      "enum": {
        "0": "Disabled",
        "1": "External temperature probe",
        "2": "Activate second desired cos"
      },
      "write_min": 0,
      "write_max": 2
    },
    {
      "name": "A.13 Second desired cos",
      "group": "Setup",
      "area": "holding",
      "address": 60,
      "type": "int16",
      "scale": 0.01,
      "access": "RW",
      "write_min": -0.99,
      "write_max": 1.0,
      "description": "0.85 to 1.00, or -0.90 to -0.99 for capacitive"
    },
    {
      "name": "Alarm threshold voltage too high",
      "group": "Alarms",
      "area": "holding",
      "address": 61,
      "type": "uint16",
      "unit": "%",
      "access": "RW",
      "write_min": 0,
      "write_max": 100,
      "description": "0 = disabled"
    },
    {
      "name": "Alarm threshold voltage too low",
      "group": "Alarms",
      "area": "holding",
      "address": 62,
      "type": "uint16",
      "unit": "%",
      "access": "RW",
      "write_min": 0,
      "write_max": 100,
      "description": "0 = disabled"
    },
    {
      "name": "Alarm threshold current too high",
      "group": "Alarms",
      "area": "holding",
      "address": 63,
      "type": "uint16",
      "unit": "%",
      "access": "RW",
      "write_min": 0,
      "write_max": 200,
      "description": "0 = disabled"
    },
    {
      "name": "Alarm threshold current too low",
      "group": "Alarms",
      "area": "holding",
      "address": 64,
      "type": "uint16",
      "unit": "%",
      "access": "RW",
      "write_min": 0,
      "write_max": 100.0,
      "description": "0 = disabled",
      "scale": 0.1
    },
    {
      "name": "Alarm threshold overcompensation",
      "group": "Alarms",
      "area": "holding",
      "address": 65,
      "type": "uint16",
      "access": "RW",
      "description": "0 = disabled. The manual's range for this value is unclear"
    },
    {
      "name": "Alarm threshold undercompensation",
      "group": "Alarms",
      "area": "holding",
      "address": 66,
      "type": "uint16",
      "access": "RW",
      "description": "0 = disabled. The manual's range for this value is unclear"
    },
    {
      "name": "Alarm threshold over temperature",
      "group": "Alarms",
      "area": "holding",
      "address": 67,
      "type": "uint16",
      "unit": "°C / °F",
      "access": "RW",
      "write_min": 0,
      "write_max": 158,
      "description": "0 = disabled, 35 to 158"
    },
    {
      "name": "Alarm threshold high THD V",
      "group": "Alarms",
      "area": "holding",
      "address": 68,
      "type": "uint16",
      "access": "RW",
      "write_min": 0,
      "write_max": 150,
      "description": "0 = disabled, 1 to 150"
    },
    {
      "name": "Alarm threshold high THD I",
      "group": "Alarms",
      "area": "holding",
      "address": 69,
      "type": "uint16",
      "access": "RW",
      "write_min": 0,
      "write_max": 150,
      "description": "0 = disabled, 1 to 150"
    },
    {
      "name": "Alarm threshold minimum cos",
      "group": "Alarms",
      "area": "holding",
      "address": 70,
      "type": "uint16",
      "scale": 0.01,
      "access": "RW",
      "write_min": 0,
      "write_max": 0.95,
      "description": "0 = disabled, 0.50 to 0.95"
    },
    {
      "name": "Alarm threshold external probe over temperature",
      "group": "Alarms",
      "area": "holding",
      "address": 71,
      "type": "uint16",
      "unit": "°C / °F",
      "access": "RW",
      "write_min": 0,
      "write_max": 158,
      "description": "0 = disabled, 35 to 158"
    },
    {
      "name": "Alarm delay voltage too high",
      "group": "Alarms",
      "area": "holding",
      "address": 77,
      "type": "uint16",
      "unit": "s",
      "access": "RW",
      "write_min": 1,
      "write_max": 64799
    },
    {
      "name": "Alarm delay voltage too low",
      "group": "Alarms",
      "area": "holding",
      "address": 78,
      "type": "uint16",
      "unit": "s",
      "access": "RW",
      "write_min": 1,
      "write_max": 64799
    },
    {
      "name": "Alarm delay current too high",
      "group": "Alarms",
      "area": "holding",
      "address": 79,
      "type": "uint16",
      "unit": "s",
      "access": "RW",
      "write_min": 1,
      "write_max": 64799
    },
    {
      "name": "Alarm delay current too low",
      "group": "Alarms",
      "area": "holding",
      "address": 80,
      "type": "uint16",
      "unit": "s",
      "access": "RW",
      "write_min": 1,
      "write_max": 64799
    },
    {
      "name": "Alarm delay overcompensation",
      "group": "Alarms",
      "area": "holding",
      "address": 81,
      "type": "uint16",
      "unit": "s",
      "access": "RW",
      "write_min": 1,
      "write_max": 64799
    },
    {
      "name": "Alarm delay undercompensation",
      "group": "Alarms",
      "area": "holding",
      "address": 82,
      "type": "uint16",
      "unit": "s",
      "access": "RW",
      "write_min": 1,
      "write_max": 64799
    },
    {
      "name": "Alarm delay over temperature",
      "group": "Alarms",
      "area": "holding",
      "address": 83,
      "type": "uint16",
      "unit": "s",
      "access": "RW",
      "write_min": 1,
      "write_max": 64799
    },
    {
      "name": "Alarm delay high THD V",
      "group": "Alarms",
      "area": "holding",
      "address": 84,
      "type": "uint16",
      "unit": "s",
      "access": "RW",
      "write_min": 1,
      "write_max": 64799
    },
    {
      "name": "Alarm delay high THD I",
      "group": "Alarms",
      "area": "holding",
      "address": 85,
      "type": "uint16",
      "unit": "s",
      "access": "RW",
      "write_min": 1,
      "write_max": 64799
    },
    {
      "name": "Alarm delay minimum cos",
      "group": "Alarms",
      "area": "holding",
      "address": 86,
      "type": "uint16",
      "unit": "s",
      "access": "RW",
      "write_min": 1,
      "write_max": 64799
    },
    {
      "name": "Alarm delay external probe over temperature",
      "group": "Alarms",
      "area": "holding",
      "address": 87,
      "type": "uint16",
      "unit": "s",
      "access": "RW",
      "write_min": 1,
      "write_max": 64799
    },
    {
      "name": "Steps disconnection time on current too low",
      "group": "Alarms",
      "area": "holding",
      "address": 93,
      "type": "uint16",
      "unit": "s",
      "access": "RW",
      "write_min": 1,
      "write_max": 64799
    },
    {
      "name": "Alarm relay mask",
      "group": "Alarms",
      "area": "holding",
      "address": 94,
      "type": "uint32",
      "access": "RW",
      "description": "Alarms that drive the alarm relay: same bits as the general alarms, 1 = enabled"
    },
    {
      "name": "Alarm relay on - Voltage too high",
      "group": "Alarms",
      "area": "holding",
      "address": 95,
      "type": "bool",
      "bit": 0,
      "access": "RW"
    },
    {
      "name": "Alarm relay on - Voltage too low",
      "group": "Alarms",
      "area": "holding",
      "address": 95,
      "type": "bool",
      "bit": 1,
      "access": "RW"
    },
    {
      "name": "Alarm relay on - Current too high",
      "group": "Alarms",
      "area": "holding",
      "address": 95,
      "type": "bool",
      "bit": 2,
      "access": "RW"
    },
    {
      "name": "Alarm relay on - Current too low",
      "group": "Alarms",
      "area": "holding",
      "address": 95,
      "type": "bool",
      "bit": 3,
      "access": "RW"
    },
    {
      "name": "Alarm relay on - Overcompensation",
      "group": "Alarms",
      "area": "holding",
      "address": 95,
      "type": "bool",
      "bit": 4,
      "access": "RW"
    },
    {
      "name": "Alarm relay on - Undercompensation",
      "group": "Alarms",
      "area": "holding",
      "address": 95,
      "type": "bool",
      "bit": 5,
      "access": "RW"
    },
    {
      "name": "Alarm relay on - Over temperature",
      "group": "Alarms",
      "area": "holding",
      "address": 95,
      "type": "bool",
      "bit": 6,
      "access": "RW"
    },
    {
      "name": "Alarm relay on - High THD V",
      "group": "Alarms",
      "area": "holding",
      "address": 95,
      "type": "bool",
      "bit": 7,
      "access": "RW"
    },
    {
      "name": "Alarm relay on - High THD I",
      "group": "Alarms",
      "area": "holding",
      "address": 95,
      "type": "bool",
      "bit": 8,
      "access": "RW"
    },
    {
      "name": "Alarm relay on - Minimum cos",
      "group": "Alarms",
      "area": "holding",
      "address": 95,
      "type": "bool",
      "bit": 9,
      "access": "RW"
    },
    {
      "name": "Alarm relay on - External over temperature",
      "group": "Alarms",
      "area": "holding",
      "address": 95,
      "type": "bool",
      "bit": 10,
      "access": "RW"
    },
    {
      "name": "Alarm relay on - Wrong frequency",
      "group": "Alarms",
      "area": "holding",
      "address": 94,
      "type": "bool",
      "bit": 15,
      "access": "RW"
    },
    {
      "name": "Alarm step disconnection mask",
      "group": "Alarms",
      "area": "holding",
      "address": 96,
      "type": "uint32",
      "access": "RW",
      "description": "Alarms that disconnect the steps: same bits as the general alarms, 1 = enabled"
    },
    {
      "name": "Alarm disconnects steps on - Voltage too high",
      "group": "Alarms",
      "area": "holding",
      "address": 97,
      "type": "bool",
      "bit": 0,
      "access": "RW"
    },
    {
      "name": "Alarm disconnects steps on - Voltage too low",
      "group": "Alarms",
      "area": "holding",
      "address": 97,
      "type": "bool",
      "bit": 1,
      "access": "RW"
    },
    {
      "name": "Alarm disconnects steps on - Current too high",
      "group": "Alarms",
      "area": "holding",
      "address": 97,
      "type": "bool",
      "bit": 2,
      "access": "RW"
    },
    {
      "name": "Alarm disconnects steps on - Current too low",
      "group": "Alarms",
      "area": "holding",
      "address": 97,
      "type": "bool",
      "bit": 3,
      "access": "RW"
    },
    {
      "name": "Alarm disconnects steps on - Overcompensation",
      "group": "Alarms",
      "area": "holding",
      "address": 97,
      "type": "bool",
      "bit": 4,
      "access": "RW"
    },
    {
      "name": "Alarm disconnects steps on - Undercompensation",
      "group": "Alarms",
      "area": "holding",
      "address": 97,
      "type": "bool",
      "bit": 5,
      "access": "RW"
    },
    {
      "name": "Alarm disconnects steps on - Over temperature",
      "group": "Alarms",
      "area": "holding",
      "address": 97,
      "type": "bool",
      "bit": 6,
      "access": "RW"
    },
    {
      "name": "Alarm disconnects steps on - High THD V",
      "group": "Alarms",
      "area": "holding",
      "address": 97,
      "type": "bool",
      "bit": 7,
      "access": "RW"
    },
    {
      "name": "Alarm disconnects steps on - High THD I",
      "group": "Alarms",
      "area": "holding",
      "address": 97,
      "type": "bool",
      "bit": 8,
      "access": "RW"
    },
    {
      "name": "Alarm disconnects steps on - Minimum cos",
      "group": "Alarms",
      "area": "holding",
      "address": 97,
      "type": "bool",
      "bit": 9,
      "access": "RW"
    },
    {
      "name": "Alarm disconnects steps on - External over temperature",
      "group": "Alarms",
      "area": "holding",
      "address": 97,
      "type": "bool",
      "bit": 10,
      "access": "RW"
    },
    {
      "name": "Alarm disconnects steps on - Wrong frequency",
      "group": "Alarms",
      "area": "holding",
      "address": 96,
      "type": "bool",
      "bit": 15,
      "access": "RW"
    },
    {
      "name": "Step 1 insertions",
      "group": "Statistics",
      "area": "holding",
      "address": 98,
      "type": "uint32",
      "access": "RW",
      "description": "Number of times the step was inserted"
    },
    {
      "name": "Step 2 insertions",
      "group": "Statistics",
      "area": "holding",
      "address": 100,
      "type": "uint32",
      "access": "RW",
      "description": "Number of times the step was inserted"
    },
    {
      "name": "Step 3 insertions",
      "group": "Statistics",
      "area": "holding",
      "address": 102,
      "type": "uint32",
      "access": "RW",
      "description": "Number of times the step was inserted"
    },
    {
      "name": "Step 4 insertions",
      "group": "Statistics",
      "area": "holding",
      "address": 104,
      "type": "uint32",
      "access": "RW",
      "description": "Number of times the step was inserted"
    },
    {
      "name": "Step 5 insertions",
      "group": "Statistics",
      "area": "holding",
      "address": 106,
      "type": "uint32",
      "access": "RW",
      "description": "Number of times the step was inserted"
    },
    {
      "name": "Step 6 insertions",
      "group": "Statistics",
      "area": "holding",
      "address": 108,
      "type": "uint32",
      "access": "RW",
      "description": "Number of times the step was inserted"
    },
    {
      "name": "Step 7 insertions",
      "group": "Statistics",
      "area": "holding",
      "address": 110,
      "type": "uint32",
      "access": "RW",
      "description": "Number of times the step was inserted"
    },
    {
      "name": "Step 8 insertions",
      "group": "Statistics",
      "area": "holding",
      "address": 112,
      "type": "uint32",
      "access": "RW",
      "description": "Number of times the step was inserted"
    },
    {
      "name": "Step 9 insertions",
      "group": "Statistics",
      "area": "holding",
      "address": 114,
      "type": "uint32",
      "access": "RW",
      "description": "Number of times the step was inserted"
    },
    {
      "name": "Step 10 insertions",
      "group": "Statistics",
      "area": "holding",
      "address": 116,
      "type": "uint32",
      "access": "RW",
      "description": "Number of times the step was inserted"
    },
    {
      "name": "Step 11 insertions",
      "group": "Statistics",
      "area": "holding",
      "address": 118,
      "type": "uint32",
      "access": "RW",
      "description": "Number of times the step was inserted"
    },
    {
      "name": "Step 12 insertions",
      "group": "Statistics",
      "area": "holding",
      "address": 120,
      "type": "uint32",
      "access": "RW",
      "description": "Number of times the step was inserted"
    },
    {
      "name": "Step 13 insertions",
      "group": "Statistics",
      "area": "holding",
      "address": 122,
      "type": "uint32",
      "access": "RW",
      "description": "Number of times the step was inserted"
    },
    {
      "name": "Step 1 insertion time",
      "group": "Statistics",
      "area": "holding",
      "address": 124,
      "type": "uint32",
      "unit": "s",
      "access": "RW"
    },
    {
      "name": "Step 2 insertion time",
      "group": "Statistics",
      "area": "holding",
      "address": 126,
      "type": "uint32",
      "unit": "s",
      "access": "RW"
    },
    {
      "name": "Step 3 insertion time",
      "group": "Statistics",
      "area": "holding",
      "address": 128,
      "type": "uint32",
      "unit": "s",
      "access": "RW"
    },
    {
      "name": "Step 4 insertion time",
      "group": "Statistics",
      "area": "holding",
      "address": 130,
      "type": "uint32",
      "unit": "s",
      "access": "RW"
    },
    {
      "name": "Step 5 insertion time",
      "group": "Statistics",
      "area": "holding",
      "address": 132,
      "type": "uint32",
      "unit": "s",
      "access": "RW"
    },
    {
      "name": "Step 6 insertion time",
      "group": "Statistics",
      "area": "holding",
      "address": 134,
      "type": "uint32",
      "unit": "s",
      "access": "RW"
    },
    {
      "name": "Step 7 insertion time",
      "group": "Statistics",
      "area": "holding",
      "address": 136,
      "type": "uint32",
      "unit": "s",
      "access": "RW"
    },
    {
      "name": "Step 8 insertion time",
      "group": "Statistics",
      "area": "holding",
      "address": 138,
      "type": "uint32",
      "unit": "s",
      "access": "RW"
    },
    {
      "name": "Step 9 insertion time",
      "group": "Statistics",
      "area": "holding",
      "address": 140,
      "type": "uint32",
      "unit": "s",
      "access": "RW"
    },
    {
      "name": "Step 10 insertion time",
      "group": "Statistics",
      "area": "holding",
      "address": 142,
      "type": "uint32",
      "unit": "s",
      "access": "RW"
    },
    {
      "name": "Step 11 insertion time",
      "group": "Statistics",
      "area": "holding",
      "address": 144,
      "type": "uint32",
      "unit": "s",
      "access": "RW"
    },
    {
      "name": "Step 12 insertion time",
      "group": "Statistics",
      "area": "holding",
      "address": 146,
      "type": "uint32",
      "unit": "s",
      "access": "RW"
    },
    {
      "name": "Step 13 insertion time",
      "group": "Statistics",
      "area": "holding",
      "address": 148,
      "type": "uint32",
      "unit": "s",
      "access": "RW"
    },
    {
      "name": "Active energy",
      "group": "Energy",
      "area": "holding",
      "address": 150,
      "type": "uint64",
      "scale": 0.001,
      "access": "RW",
      "description": "Counter in thousandths; the manual gives the unit as W, probably Wh or kWh"
    },
    {
      "name": "Reactive energy",
      "group": "Energy",
      "area": "holding",
      "address": 154,
      "type": "uint64",
      "scale": 0.001,
      "access": "RW",
      "description": "Counter in thousandths; the manual gives the unit as var"
    },
    {
      "name": "Apparent energy",
      "group": "Energy",
      "area": "holding",
      "address": 158,
      "type": "uint64",
      "scale": 0.001,
      "access": "RW",
      "description": "Counter in thousandths; the manual gives the unit as VA"
    },
    {
      "name": "A.14 Display contrast",
      "group": "Setup",
      "area": "holding",
      "address": 162,
      "type": "uint16",
      "access": "RW",
      "write_min": 55,
      "write_max": 63
    },
    {
      "name": "Secondary CT current",
      "group": "Setup",
      "area": "holding",
      "address": 163,
      "type": "uint16",
      "unit": "A",
      "access": "RW",
      "enum": {
        "1": "1 A",
        "5": "5 A"
      },
      "write_min": 1,
      "write_max": 5
    },
    {
      "name": "Voltage input connection",
      "group": "Setup",
      "area": "holding",
      "address": 164,
      "type": "uint16",
      "access": "RW",
      "enum": {
        "0": "L1-L2",
        "1": "L2-L3",
        "2": "L3-L1"
      },
      "write_min": 0,
      "write_max": 2
    },
    {
      "name": "Capacitor overcurrent second threshold",
      "group": "Alarms",
      "area": "holding",
      "address": 165,
      "type": "uint16",
      "unit": "%",
      "access": "RW",
      "write_min": 100,
      "write_max": 200
    },
    {
      "name": "Overcurrent alarm off time",
      "group": "Alarms",
      "area": "holding",
      "address": 166,
      "type": "uint16",
      "unit": "s",
      "access": "RW",
      "write_min": 0,
      "write_max": 3599
    }
  ]
}