{
  "$schema": "https://raw.githubusercontent.com/nobrega8/mbmap-library/main/schema/mbmap-2.schema.json",
  "mbmap": 2,
  "vendor": "SATEC",
  "model": "PM130 PLUS",
  "models": [
    "PM130A",
    "PM130P",
    "PM130E",
    "PM130EH"
  ],
  "vendor_website": "www.satec-global.com",
  "description": "Three-phase powermeter series. Live values, demands, energy, status and the main setup registers, read as 32-bit integers.",
  "revision": 1,
  "revised": "2026-11-10",
  "sources": [
    {
      "title": "Series PM130 PLUS Powermeters PM130P/PM130E/PM130EH, Modbus Communications Protocol Reference Guide",
      "version": "BG0427 Rev. A10",
      "date": "2022-03"
    }
  ],
  "x_status": "official",
  "notes": [
    "Registers are numbered from 0 as in the guide (add 40001 for a 5-digit 4XXXX address). Function 03 and 04 read the same registers.",
    "32-bit values use two registers with the low-order word first (word_order little). They are read here in the default 32-bit integer format. Register 246 can switch analog values, counters and energy to IEEE float32; with that setting the integer registers of this map decode wrongly.",
    "Units of the 32-bit values depend on the device resolution option (register 2390). Low resolution (default) is assumed: 1 V, 1 A and 1 kW/kvar/kVA, in primary units (PT and CT ratios applied). High resolution gives 0.1 V (PT ratio 1) or 1 V, 0.01 A, and 1 W/var/VA (PT ratio 1) or 1 kW/kvar/kVA.",
    "Energy registers (14720 onward), demands, summary/TOU registers and phase energies exist only in PM130E and PM130EH. Total harmonic values (THD, K-factor, TDD) are only in PM130EH. Harmonics, PF, frequency and reactive values do not apply to DC devices.",
    "In 3-wire connection schemes the per-phase current unbalance, power factor, active power and reactive power read zero; only the totals are meaningful.",
    "The 16-bit scaled registers (256-308 and 6656 onward), the harmonic spectra, min/max logs with timestamps, data logs and file transfer, TOU and IEC 60870/DNP setup are not included.",
    "Total PF lag and lead (offsets 8-12 of the 1-second total block) are printed as UINT16 in a 32-bit block and are left out. The instrument options bitmap (2566-2567) is split into the low-word flags and the I/O counts.",
    "The Device Identification block (serial number, model ID and name, device firmware version) is printed at address 46111 with offsets +0 to +31, which collides with the Factory Device Settings block that starts at 46112. It is left out; use the firmware version at 2565. Network IP addresses are left out because their word order is not stated.",
    "Setup registers are best written together in a single request, or after zeroing the setup (guide, section 1). When password protection is enabled, write the password to register 2575 first.",
    "Not tested on a device."
  ],
  "enums": {
    "wiring_mode": {"0": "3OP2", "1": "4LN3", "2": "3DIR2", "3": "4LL3", "4": "3OP3", "5": "3LN3", "6": "3LL3", "7": "2LL1", "8": "3BLN3", "9": "3BLL3", "15": "1LL3"},
    "reg32_type": {"0": "32-bit integer", "1": "32-bit floating point"},
    "com1_protocol": {"0": "SATEC ASCII", "1": "Modbus RTU", "2": "DNP3.0"},
    "com2_protocol": {"0": "SATEC ASCII", "1": "Modbus RTU", "2": "DNP3.0", "5": "Profibus DP"},
    "com2_interface": {"0": "RS-232", "1": "RS-422", "2": "RS-485", "5": "RF", "6": "Ethernet", "7": "Profibus"},
    "baud_rate": {"1": "300 bps", "2": "600 bps", "3": "1200 bps", "4": "2400 bps", "5": "4800 bps", "6": "9600 bps", "7": "19200 bps", "8": "38400 bps", "9": "57600 bps", "10": "115200 bps"},
    "data_format": {"0": "7 bits, even parity", "1": "8 bits, no parity", "2": "8 bits, even parity"}
  },
  "registers": [
    {"name": "Low raw scale", "group": "Identification", "area": "holding", "address": 240, "type": "uint16", "reference": 0, "description": "Modbus conversion scale, low end of the 16-bit scaled range"},
    {"name": "High raw scale", "group": "Identification", "area": "holding", "address": 241, "type": "uint16", "reference": 9999, "description": "Modbus conversion scale, high end of the 16-bit scaled range"},
    {"name": "Firmware build number", "group": "Identification", "area": "holding", "address": 2563, "type": "uint16", "description": "1-99"},
    {"name": "Firmware version", "group": "Identification", "area": "holding", "address": 2565, "type": "uint16", "scale": 0.01, "role": "firmware", "description": "Printed range 1100-1199: two high digits major, two low digits minor (1100 reads as 11.00)"},
    {"name": "Instrument options (low word)", "group": "Identification", "area": "holding", "address": 2566, "type": "uint16", "description": "Format F28, bits 0-15 of the 32-bit value at 2566-2567"},
    {"name": "Option 120 V", "group": "Identification", "area": "holding", "address": 2566, "type": "bool", "bit": 0},
    {"name": "Option 690 V", "group": "Identification", "area": "holding", "address": 2566, "type": "bool", "bit": 1},
    {"name": "Option analog output 0/4 or 4/20 mA", "group": "Identification", "area": "holding", "address": 2566, "type": "bool", "bit": 6},
    {"name": "Option analog output 0-1 mA", "group": "Identification", "area": "holding", "address": 2566, "type": "bool", "bit": 7},
    {"name": "Option analog output +-1 mA", "group": "Identification", "area": "holding", "address": 2566, "type": "bool", "bit": 8},
    {"name": "Option relay outputs", "group": "Identification", "area": "holding", "address": 2566, "type": "bool", "bit": 9},
    {"name": "Option digital inputs", "group": "Identification", "area": "holding", "address": 2566, "type": "bool", "bit": 10},
    {"name": "Setup secured by password", "group": "Identification", "area": "holding", "address": 2566, "type": "bool", "bit": 12},
    {"name": "Number of relay outputs", "group": "Identification", "area": "holding", "address": 2567, "type": "uint16", "bit": 0, "bits": 3, "offset": 1, "description": "Bits 16-18 of the 32-bit instrument options: number of RO minus 1"},
    {"name": "Number of digital inputs", "group": "Identification", "area": "holding", "address": 2567, "type": "uint16", "bit": 3, "bits": 4, "offset": 1, "description": "Bits 19-22 of the 32-bit instrument options: number of DI minus 1"},
    {"name": "Number of analog outputs", "group": "Identification", "area": "holding", "address": 2567, "type": "uint16", "bit": 7, "bits": 2, "offset": 1, "description": "Bits 23-24 of the 32-bit instrument options: number of AO minus 1"},
    {"name": "Serial port in use", "group": "Identification", "area": "holding", "address": 3484, "type": "uint16", "enum": {"0": "COM1", "1": "COM2"}, "description": "Current serial port number"},
    {"name": "V1-V3 input range", "group": "Identification", "area": "holding", "address": 46112, "type": "uint16", "unit": "V", "description": "Factory setting: 690, or 120 (option U)"},
    {"name": "V1-V3 input overload", "group": "Identification", "area": "holding", "address": 46113, "type": "uint16", "unit": "%", "description": "Factory setting: 120"},
    {"name": "Device CT type", "group": "Identification", "area": "holding", "address": 46114, "type": "uint16", "enum": {"0": "Regular", "1": "HACS", "2": "RS5", "3": "100 mA sensor"}, "description": "Relevant for devices that support AC/DC mode"},
    {"name": "I1-I3 input range", "group": "Identification", "area": "holding", "address": 46116, "type": "uint16", "unit": "A", "description": "Factory setting: 1 or 5"},
    {"name": "I1-I3 input overload", "group": "Identification", "area": "holding", "address": 46117, "type": "uint16", "unit": "%", "description": "Factory setting: 200"},
    {"name": "V1/V12 voltage", "group": "Phase values", "area": "holding", "address": 13952, "type": "uint32", "word_order": "little", "unit": "V", "description": "Line-to-neutral with wiring 4LN3, 3LN3 or 3BLN3, otherwise line-to-line"},
    {"name": "V2/V23 voltage", "group": "Phase values", "area": "holding", "address": 13954, "type": "uint32", "word_order": "little", "unit": "V", "description": "Line-to-neutral with wiring 4LN3, 3LN3 or 3BLN3, otherwise line-to-line"},
    {"name": "V3/V31 voltage", "group": "Phase values", "area": "holding", "address": 13956, "type": "uint32", "word_order": "little", "unit": "V", "description": "Line-to-neutral with wiring 4LN3, 3LN3 or 3BLN3, otherwise line-to-line"},
    {"name": "I1 current", "group": "Phase values", "area": "holding", "address": 13958, "type": "uint32", "word_order": "little", "unit": "A"},
    {"name": "I2 current", "group": "Phase values", "area": "holding", "address": 13960, "type": "uint32", "word_order": "little", "unit": "A"},
    {"name": "I3 current", "group": "Phase values", "area": "holding", "address": 13962, "type": "uint32", "word_order": "little", "unit": "A"},
    {"name": "kW L1", "group": "Phase values", "area": "holding", "address": 13964, "type": "int32", "word_order": "little", "unit": "kW"},
    {"name": "kW L2", "group": "Phase values", "area": "holding", "address": 13966, "type": "int32", "word_order": "little", "unit": "kW"},
    {"name": "kW L3", "group": "Phase values", "area": "holding", "address": 13968, "type": "int32", "word_order": "little", "unit": "kW"},
    {"name": "kvar L1", "group": "Phase values", "area": "holding", "address": 13970, "type": "int32", "word_order": "little", "unit": "kvar"},
    {"name": "kvar L2", "group": "Phase values", "area": "holding", "address": 13972, "type": "int32", "word_order": "little", "unit": "kvar"},
    {"name": "kvar L3", "group": "Phase values", "area": "holding", "address": 13974, "type": "int32", "word_order": "little", "unit": "kvar"},
    {"name": "kVA L1", "group": "Phase values", "area": "holding", "address": 13976, "type": "uint32", "word_order": "little", "unit": "kVA"},
    {"name": "kVA L2", "group": "Phase values", "area": "holding", "address": 13978, "type": "uint32", "word_order": "little", "unit": "kVA"},
    {"name": "kVA L3", "group": "Phase values", "area": "holding", "address": 13980, "type": "uint32", "word_order": "little", "unit": "kVA"},
    {"name": "Power factor L1", "group": "Phase values", "area": "holding", "address": 13982, "type": "int32", "word_order": "little", "scale": 0.001},
    {"name": "Power factor L2", "group": "Phase values", "area": "holding", "address": 13984, "type": "int32", "word_order": "little", "scale": 0.001},
    {"name": "Power factor L3", "group": "Phase values", "area": "holding", "address": 13986, "type": "int32", "word_order": "little", "scale": 0.001},
    {"name": "V1/V12 voltage THD", "group": "Phase values", "area": "holding", "address": 13988, "type": "uint32", "word_order": "little", "unit": "%", "scale": 0.1, "description": "3-second value. PM130EH only"},
    {"name": "V2/V23 voltage THD", "group": "Phase values", "area": "holding", "address": 13990, "type": "uint32", "word_order": "little", "unit": "%", "scale": 0.1, "description": "3-second value. PM130EH only"},
    {"name": "V3/V31 voltage THD", "group": "Phase values", "area": "holding", "address": 13992, "type": "uint32", "word_order": "little", "unit": "%", "scale": 0.1, "description": "3-second value. PM130EH only"},
    {"name": "I1 current THD", "group": "Phase values", "area": "holding", "address": 13994, "type": "uint32", "word_order": "little", "unit": "%", "scale": 0.1, "description": "3-second value. PM130EH only"},
    {"name": "I2 current THD", "group": "Phase values", "area": "holding", "address": 13996, "type": "uint32", "word_order": "little", "unit": "%", "scale": 0.1, "description": "3-second value. PM130EH only"},
    {"name": "I3 current THD", "group": "Phase values", "area": "holding", "address": 13998, "type": "uint32", "word_order": "little", "unit": "%", "scale": 0.1, "description": "3-second value. PM130EH only"},
    {"name": "I1 K-factor", "group": "Phase values", "area": "holding", "address": 14000, "type": "uint32", "word_order": "little", "scale": 0.1, "description": "3-second value. PM130EH only"},
    {"name": "I2 K-factor", "group": "Phase values", "area": "holding", "address": 14002, "type": "uint32", "word_order": "little", "scale": 0.1, "description": "3-second value. PM130EH only"},
    {"name": "I3 K-factor", "group": "Phase values", "area": "holding", "address": 14004, "type": "uint32", "word_order": "little", "scale": 0.1, "description": "3-second value. PM130EH only"},
    {"name": "I1 current TDD", "group": "Phase values", "area": "holding", "address": 14006, "type": "uint32", "word_order": "little", "unit": "%", "scale": 0.1, "description": "3-second value. PM130EH only"},
    {"name": "I2 current TDD", "group": "Phase values", "area": "holding", "address": 14008, "type": "uint32", "word_order": "little", "unit": "%", "scale": 0.1, "description": "3-second value. PM130EH only"},
    {"name": "I3 current TDD", "group": "Phase values", "area": "holding", "address": 14010, "type": "uint32", "word_order": "little", "unit": "%", "scale": 0.1, "description": "3-second value. PM130EH only"},
    {"name": "V12 voltage", "group": "Phase values", "area": "holding", "address": 14012, "type": "uint32", "word_order": "little", "unit": "V"},
    {"name": "V23 voltage", "group": "Phase values", "area": "holding", "address": 14014, "type": "uint32", "word_order": "little", "unit": "V"},
    {"name": "V31 voltage", "group": "Phase values", "area": "holding", "address": 14016, "type": "uint32", "word_order": "little", "unit": "V"},
    {"name": "Total kW", "group": "Total values", "area": "holding", "address": 14336, "type": "int32", "word_order": "little", "unit": "kW"},
    {"name": "Total kvar", "group": "Total values", "area": "holding", "address": 14338, "type": "int32", "word_order": "little", "unit": "kvar"},
    {"name": "Total kVA", "group": "Total values", "area": "holding", "address": 14340, "type": "uint32", "word_order": "little", "unit": "kVA"},
    {"name": "Total power factor", "group": "Total values", "area": "holding", "address": 14342, "type": "int32", "word_order": "little", "scale": 0.001},
    {"name": "Total kW import", "group": "Total values", "area": "holding", "address": 14348, "type": "uint32", "word_order": "little", "unit": "kW"},
    {"name": "Total kW export", "group": "Total values", "area": "holding", "address": 14350, "type": "uint32", "word_order": "little", "unit": "kW"},
    {"name": "Total kvar import", "group": "Total values", "area": "holding", "address": 14352, "type": "uint32", "word_order": "little", "unit": "kvar"},
    {"name": "Total kvar export", "group": "Total values", "area": "holding", "address": 14354, "type": "uint32", "word_order": "little", "unit": "kvar"},
    {"name": "3-phase average L-N/L-L voltage", "group": "Total values", "area": "holding", "address": 14356, "type": "uint32", "word_order": "little", "unit": "V", "description": "Line-to-neutral with wiring 4LN3, 3LN3 or 3BLN3, otherwise line-to-line"},
    {"name": "3-phase average L-L voltage", "group": "Total values", "area": "holding", "address": 14358, "type": "uint32", "word_order": "little", "unit": "V"},
    {"name": "3-phase average current", "group": "Total values", "area": "holding", "address": 14360, "type": "uint32", "word_order": "little", "unit": "A"},
    {"name": "Neutral current (In)", "group": "Auxiliary values", "area": "holding", "address": 14466, "type": "uint32", "word_order": "little", "unit": "A"},
    {"name": "Frequency", "group": "Auxiliary values", "area": "holding", "address": 14468, "type": "uint32", "word_order": "little", "unit": "Hz", "scale": 0.01},
    {"name": "Voltage unbalance", "group": "Auxiliary values", "area": "holding", "address": 14470, "type": "uint32", "word_order": "little", "unit": "%"},
    {"name": "Current unbalance", "group": "Auxiliary values", "area": "holding", "address": 14472, "type": "uint32", "word_order": "little", "unit": "%"},
    {"name": "Frequency (high resolution)", "group": "Auxiliary values", "area": "holding", "address": 14474, "type": "uint32", "word_order": "little", "unit": "Hz", "scale": 0.001, "description": "Available in newer firmware (revision A8 of the guide)"},
    {"name": "Phase rotation order", "group": "Auxiliary values", "area": "holding", "address": 11904, "type": "uint32", "word_order": "little", "enum": {"0": "Error", "1": "Positive (ABC)", "2": "Negative (CBA)"}},
    {"name": "V1/V12 volt demand", "group": "Demands", "area": "holding", "address": 14592, "type": "uint32", "word_order": "little", "unit": "V"},
    {"name": "V2/V23 volt demand", "group": "Demands", "area": "holding", "address": 14594, "type": "uint32", "word_order": "little", "unit": "V"},
    {"name": "V3/V31 volt demand", "group": "Demands", "area": "holding", "address": 14596, "type": "uint32", "word_order": "little", "unit": "V"},
    {"name": "I1 ampere demand", "group": "Demands", "area": "holding", "address": 14598, "type": "uint32", "word_order": "little", "unit": "A"},
    {"name": "I2 ampere demand", "group": "Demands", "area": "holding", "address": 14600, "type": "uint32", "word_order": "little", "unit": "A"},
    {"name": "I3 ampere demand", "group": "Demands", "area": "holding", "address": 14602, "type": "uint32", "word_order": "little", "unit": "A"},
    {"name": "kW import block demand", "group": "Demands", "area": "holding", "address": 14604, "type": "uint32", "word_order": "little", "unit": "kW"},
    {"name": "kvar import block demand", "group": "Demands", "area": "holding", "address": 14606, "type": "uint32", "word_order": "little", "unit": "kvar"},
    {"name": "kVA block demand", "group": "Demands", "area": "holding", "address": 14608, "type": "uint32", "word_order": "little", "unit": "kVA"},
    {"name": "kW import sliding window demand", "group": "Demands", "area": "holding", "address": 14610, "type": "uint32", "word_order": "little", "unit": "kW"},
    {"name": "kvar import sliding window demand", "group": "Demands", "area": "holding", "address": 14612, "type": "uint32", "word_order": "little", "unit": "kvar"},
    {"name": "kVA sliding window demand", "group": "Demands", "area": "holding", "address": 14614, "type": "uint32", "word_order": "little", "unit": "kVA"},
    {"name": "kW import accumulated demand", "group": "Demands", "area": "holding", "address": 14622, "type": "uint32", "word_order": "little", "unit": "kW"},
    {"name": "kvar import accumulated demand", "group": "Demands", "area": "holding", "address": 14624, "type": "uint32", "word_order": "little", "unit": "kvar"},
    {"name": "kVA accumulated demand", "group": "Demands", "area": "holding", "address": 14626, "type": "uint32", "word_order": "little", "unit": "kVA"},
    {"name": "kW export block demand", "group": "Demands", "area": "holding", "address": 14636, "type": "uint32", "word_order": "little", "unit": "kW"},
    {"name": "kvar export block demand", "group": "Demands", "area": "holding", "address": 14638, "type": "uint32", "word_order": "little", "unit": "kvar"},
    {"name": "kW export sliding window demand", "group": "Demands", "area": "holding", "address": 14640, "type": "uint32", "word_order": "little", "unit": "kW"},
    {"name": "kvar export sliding window demand", "group": "Demands", "area": "holding", "address": 14642, "type": "uint32", "word_order": "little", "unit": "kvar"},
    {"name": "In ampere demand", "group": "Demands", "area": "holding", "address": 14660, "type": "uint32", "word_order": "little", "unit": "A"},
    {"name": "Maximum V1/V12 volt demand", "group": "Maximum demands", "area": "holding", "address": 18816, "type": "uint32", "word_order": "little", "unit": "V"},
    {"name": "Maximum V2/V23 volt demand", "group": "Maximum demands", "area": "holding", "address": 18818, "type": "uint32", "word_order": "little", "unit": "V"},
    {"name": "Maximum V3/V31 volt demand", "group": "Maximum demands", "area": "holding", "address": 18820, "type": "uint32", "word_order": "little", "unit": "V"},
    {"name": "Maximum I1 ampere demand", "group": "Maximum demands", "area": "holding", "address": 18822, "type": "uint32", "word_order": "little", "unit": "A"},
    {"name": "Maximum I2 ampere demand", "group": "Maximum demands", "area": "holding", "address": 18824, "type": "uint32", "word_order": "little", "unit": "A"},
    {"name": "Maximum I3 ampere demand", "group": "Maximum demands", "area": "holding", "address": 18826, "type": "uint32", "word_order": "little", "unit": "A"},
    {"name": "Maximum kW import sliding window demand", "group": "Maximum demands", "area": "holding", "address": 18834, "type": "uint32", "word_order": "little", "unit": "kW"},
    {"name": "Maximum kvar import sliding window demand", "group": "Maximum demands", "area": "holding", "address": 18836, "type": "uint32", "word_order": "little", "unit": "kvar"},
    {"name": "Maximum kVA sliding window demand", "group": "Maximum demands", "area": "holding", "address": 18838, "type": "uint32", "word_order": "little", "unit": "kVA"},
    {"name": "Maximum kW export sliding window demand", "group": "Maximum demands", "area": "holding", "address": 18846, "type": "uint32", "word_order": "little", "unit": "kW"},
    {"name": "Maximum kvar export sliding window demand", "group": "Maximum demands", "area": "holding", "address": 18848, "type": "uint32", "word_order": "little", "unit": "kvar"},
    {"name": "Maximum In ampere demand", "group": "Maximum demands", "area": "holding", "address": 18858, "type": "uint32", "word_order": "little", "unit": "A"},
    {"name": "kWh import", "group": "Energy", "area": "holding", "address": 14720, "type": "uint32", "word_order": "little", "unit": "kWh", "description": "0-999,999,999. PM130E and PM130EH"},
    {"name": "kWh export", "group": "Energy", "area": "holding", "address": 14722, "type": "uint32", "word_order": "little", "unit": "kWh", "description": "0-999,999,999. PM130E and PM130EH"},
    {"name": "kvarh import", "group": "Energy", "area": "holding", "address": 14728, "type": "uint32", "word_order": "little", "unit": "kvarh", "description": "0-999,999,999. PM130E and PM130EH"},
    {"name": "kvarh export", "group": "Energy", "area": "holding", "address": 14730, "type": "uint32", "word_order": "little", "unit": "kvarh", "description": "0-999,999,999. PM130E and PM130EH"},
    {"name": "kVAh total", "group": "Energy", "area": "holding", "address": 14736, "type": "uint32", "word_order": "little", "unit": "kVAh", "description": "0-999,999,999. PM130E and PM130EH"},
    {"name": "kVAh import", "group": "Energy", "area": "holding", "address": 14742, "type": "uint32", "word_order": "little", "unit": "kVAh", "description": "0-999,999,999. PM130E and PM130EH"},
    {"name": "kVAh export", "group": "Energy", "area": "holding", "address": 14744, "type": "uint32", "word_order": "little", "unit": "kVAh", "description": "0-999,999,999. PM130E and PM130EH"},
    {"name": "kvarh Q1", "group": "Energy", "area": "holding", "address": 14746, "type": "uint32", "word_order": "little", "unit": "kvarh", "description": "0-999,999,999. PM130E and PM130EH"},
    {"name": "kvarh Q2", "group": "Energy", "area": "holding", "address": 14748, "type": "uint32", "word_order": "little", "unit": "kvarh", "description": "0-999,999,999. PM130E and PM130EH"},
    {"name": "kvarh Q3", "group": "Energy", "area": "holding", "address": 14750, "type": "uint32", "word_order": "little", "unit": "kvarh", "description": "0-999,999,999. PM130E and PM130EH"},
    {"name": "kvarh Q4", "group": "Energy", "area": "holding", "address": 14752, "type": "uint32", "word_order": "little", "unit": "kvarh", "description": "0-999,999,999. PM130E and PM130EH"},
    {"name": "Summary energy register #1", "group": "Energy", "area": "holding", "address": 14760, "type": "uint32", "word_order": "little", "unit": "kWh", "description": "Unit follows the register source setup. PM130E and PM130EH"},
    {"name": "Summary energy register #2", "group": "Energy", "area": "holding", "address": 14762, "type": "uint32", "word_order": "little", "unit": "kWh", "description": "Unit follows the register source setup. PM130E and PM130EH"},
    {"name": "Summary energy register #3", "group": "Energy", "area": "holding", "address": 14764, "type": "uint32", "word_order": "little", "unit": "kWh", "description": "Unit follows the register source setup. PM130E and PM130EH"},
    {"name": "Summary energy register #4", "group": "Energy", "area": "holding", "address": 14766, "type": "uint32", "word_order": "little", "unit": "kWh", "description": "Unit follows the register source setup. PM130E and PM130EH"},
    {"name": "kWh import L1", "group": "Phase energy", "area": "holding", "address": 14848, "type": "uint32", "word_order": "little", "unit": "kWh", "description": "Needs phase energy calculation mode enabled (register 2378). PM130E and PM130EH"},
    {"name": "kWh import L2", "group": "Phase energy", "area": "holding", "address": 14850, "type": "uint32", "word_order": "little", "unit": "kWh", "description": "Needs phase energy calculation mode enabled (register 2378). PM130E and PM130EH"},
    {"name": "kWh import L3", "group": "Phase energy", "area": "holding", "address": 14852, "type": "uint32", "word_order": "little", "unit": "kWh", "description": "Needs phase energy calculation mode enabled (register 2378). PM130E and PM130EH"},
    {"name": "kvarh import L1", "group": "Phase energy", "area": "holding", "address": 14854, "type": "uint32", "word_order": "little", "unit": "kvarh", "description": "Needs phase energy calculation mode enabled (register 2378). PM130E and PM130EH"},
    {"name": "kvarh import L2", "group": "Phase energy", "area": "holding", "address": 14856, "type": "uint32", "word_order": "little", "unit": "kvarh", "description": "Needs phase energy calculation mode enabled (register 2378). PM130E and PM130EH"},
    {"name": "kvarh import L3", "group": "Phase energy", "area": "holding", "address": 14858, "type": "uint32", "word_order": "little", "unit": "kvarh", "description": "Needs phase energy calculation mode enabled (register 2378). PM130E and PM130EH"},
    {"name": "kVAh total L1", "group": "Phase energy", "area": "holding", "address": 14860, "type": "uint32", "word_order": "little", "unit": "kVAh", "description": "Needs phase energy calculation mode enabled (register 2378). PM130E and PM130EH"},
    {"name": "kVAh total L2", "group": "Phase energy", "area": "holding", "address": 14862, "type": "uint32", "word_order": "little", "unit": "kVAh", "description": "Needs phase energy calculation mode enabled (register 2378). PM130E and PM130EH"},
    {"name": "kVAh total L3", "group": "Phase energy", "area": "holding", "address": 14864, "type": "uint32", "word_order": "little", "unit": "kVAh", "description": "Needs phase energy calculation mode enabled (register 2378). PM130E and PM130EH"},
    {"name": "Active tariff", "group": "TOU", "area": "holding", "address": 19456, "type": "uint32", "word_order": "little", "description": "0-7 = tariff #1-#8. PM130E and PM130EH"},
    {"name": "Active profile", "group": "TOU", "area": "holding", "address": 19458, "type": "uint32", "word_order": "little", "description": "1-3 = season 1 profiles, 4-7 = season 2, 8-11 = season 3, 12-15 = season 4 (as printed). PM130E and PM130EH"},
    {"name": "TOU energy register #1 tariff #1", "group": "TOU", "area": "holding", "address": 19584, "type": "uint32", "word_order": "little", "unit": "kWh", "description": "PM130E and PM130EH"},
    {"name": "TOU energy register #1 tariff #2", "group": "TOU", "area": "holding", "address": 19586, "type": "uint32", "word_order": "little", "unit": "kWh", "description": "PM130E and PM130EH"},
    {"name": "TOU energy register #1 tariff #3", "group": "TOU", "area": "holding", "address": 19588, "type": "uint32", "word_order": "little", "unit": "kWh", "description": "PM130E and PM130EH"},
    {"name": "TOU energy register #1 tariff #4", "group": "TOU", "area": "holding", "address": 19590, "type": "uint32", "word_order": "little", "unit": "kWh", "description": "PM130E and PM130EH"},
    {"name": "TOU energy register #1 tariff #5", "group": "TOU", "area": "holding", "address": 19592, "type": "uint32", "word_order": "little", "unit": "kWh", "description": "PM130E and PM130EH"},
    {"name": "TOU energy register #1 tariff #6", "group": "TOU", "area": "holding", "address": 19594, "type": "uint32", "word_order": "little", "unit": "kWh", "description": "PM130E and PM130EH"},
    {"name": "TOU energy register #1 tariff #7", "group": "TOU", "area": "holding", "address": 19596, "type": "uint32", "word_order": "little", "unit": "kWh", "description": "PM130E and PM130EH"},
    {"name": "TOU energy register #1 tariff #8", "group": "TOU", "area": "holding", "address": 19598, "type": "uint32", "word_order": "little", "unit": "kWh", "description": "PM130E and PM130EH"},
    {"name": "Relay status", "group": "Status", "area": "holding", "address": 3452, "type": "uint16", "description": "Bitmap: 0 = open, 1 = closed"},
    {"name": "Relay RO1 closed", "group": "Status", "area": "holding", "address": 3452, "type": "bool", "bit": 0},
    {"name": "Relay RO2 closed", "group": "Status", "area": "holding", "address": 3452, "type": "bool", "bit": 1},
    {"name": "Relay RO3 closed", "group": "Status", "area": "holding", "address": 3452, "type": "bool", "bit": 2},
    {"name": "Relay RO4 closed", "group": "Status", "area": "holding", "address": 3452, "type": "bool", "bit": 3},
    {"name": "Digital inputs", "group": "Status", "area": "holding", "address": 3454, "type": "uint16", "description": "Bitmap: 0 = open, 1 = closed"},
    {"name": "Digital input DI1 closed", "group": "Status", "area": "holding", "address": 3454, "type": "bool", "bit": 0},
    {"name": "Digital input DI2 closed", "group": "Status", "area": "holding", "address": 3454, "type": "bool", "bit": 1},
    {"name": "Digital input DI3 closed", "group": "Status", "area": "holding", "address": 3454, "type": "bool", "bit": 2},
    {"name": "Digital input DI4 closed", "group": "Status", "area": "holding", "address": 3454, "type": "bool", "bit": 3},
    {"name": "Digital input DI5 closed", "group": "Status", "area": "holding", "address": 3454, "type": "bool", "bit": 4},
    {"name": "Digital input DI6 closed", "group": "Status", "area": "holding", "address": 3454, "type": "bool", "bit": 5},
    {"name": "Digital input DI7 closed", "group": "Status", "area": "holding", "address": 3454, "type": "bool", "bit": 6},
    {"name": "Digital input DI8 closed", "group": "Status", "area": "holding", "address": 3454, "type": "bool", "bit": 7},
    {"name": "Digital input DI9 closed", "group": "Status", "area": "holding", "address": 3454, "type": "bool", "bit": 8},
    {"name": "Digital input DI10 closed", "group": "Status", "area": "holding", "address": 3454, "type": "bool", "bit": 9},
    {"name": "Digital input DI11 closed", "group": "Status", "area": "holding", "address": 3454, "type": "bool", "bit": 10},
    {"name": "Digital input DI12 closed", "group": "Status", "area": "holding", "address": 3454, "type": "bool", "bit": 11},
    {"name": "Present setpoint status", "group": "Status", "area": "holding", "address": 3455, "type": "uint16", "description": "Bitmap: 0 = released, 1 = operated"},
    {"name": "Setpoint SP1 operated", "group": "Status", "area": "holding", "address": 3455, "type": "bool", "bit": 0},
    {"name": "Setpoint SP2 operated", "group": "Status", "area": "holding", "address": 3455, "type": "bool", "bit": 1},
    {"name": "Setpoint SP3 operated", "group": "Status", "area": "holding", "address": 3455, "type": "bool", "bit": 2},
    {"name": "Setpoint SP4 operated", "group": "Status", "area": "holding", "address": 3455, "type": "bool", "bit": 3},
    {"name": "Setpoint SP5 operated", "group": "Status", "area": "holding", "address": 3455, "type": "bool", "bit": 4},
    {"name": "Setpoint SP6 operated", "group": "Status", "area": "holding", "address": 3455, "type": "bool", "bit": 5},
    {"name": "Setpoint SP7 operated", "group": "Status", "area": "holding", "address": 3455, "type": "bool", "bit": 6},
    {"name": "Setpoint SP8 operated", "group": "Status", "area": "holding", "address": 3455, "type": "bool", "bit": 7},
    {"name": "Setpoint SP9 operated", "group": "Status", "area": "holding", "address": 3455, "type": "bool", "bit": 8},
    {"name": "Setpoint SP10 operated", "group": "Status", "area": "holding", "address": 3455, "type": "bool", "bit": 9},
    {"name": "Setpoint SP11 operated", "group": "Status", "area": "holding", "address": 3455, "type": "bool", "bit": 10},
    {"name": "Setpoint SP12 operated", "group": "Status", "area": "holding", "address": 3455, "type": "bool", "bit": 11},
    {"name": "Setpoint SP13 operated", "group": "Status", "area": "holding", "address": 3455, "type": "bool", "bit": 12},
    {"name": "Setpoint SP14 operated", "group": "Status", "area": "holding", "address": 3455, "type": "bool", "bit": 13},
    {"name": "Setpoint SP15 operated", "group": "Status", "area": "holding", "address": 3455, "type": "bool", "bit": 14},
    {"name": "Setpoint SP16 operated", "group": "Status", "area": "holding", "address": 3455, "type": "bool", "bit": 15},
    {"name": "Latched setpoint alarm status", "group": "Status", "area": "holding", "address": 3474, "type": "uint16", "access": "RW", "description": "Bit n = setpoint SP(n+1) operated at least once since the last reset. Write 0 to a bit to clear it, 1 has no effect"},
    {"name": "Device diagnostics", "group": "Status", "area": "holding", "address": 3475, "type": "uint16", "description": "Bit set = diagnostic failed at least once since the last reset (nonvolatile). Write 0 to clear"},
    {"name": "Diagnostic RAM/data error", "group": "Status", "area": "holding", "address": 3475, "type": "bool", "bit": 2},
    {"name": "Diagnostic CPU watchdog reset", "group": "Status", "area": "holding", "address": 3475, "type": "bool", "bit": 3},
    {"name": "Diagnostic sampling fault", "group": "Status", "area": "holding", "address": 3475, "type": "bool", "bit": 4},
    {"name": "Diagnostic CPU exception", "group": "Status", "area": "holding", "address": 3475, "type": "bool", "bit": 5},
    {"name": "Diagnostic software watchdog reset", "group": "Status", "area": "holding", "address": 3475, "type": "bool", "bit": 7},
    {"name": "Diagnostic power down", "group": "Status", "area": "holding", "address": 3475, "type": "bool", "bit": 8},
    {"name": "Diagnostic device reset", "group": "Status", "area": "holding", "address": 3475, "type": "bool", "bit": 9},
    {"name": "Diagnostic configuration reset", "group": "Status", "area": "holding", "address": 3475, "type": "bool", "bit": 10},
    {"name": "Diagnostic RTC fault", "group": "Status", "area": "holding", "address": 3475, "type": "bool", "bit": 11},
    {"name": "Diagnostic EEPROM fault", "group": "Status", "area": "holding", "address": 3475, "type": "bool", "bit": 15},
    {"name": "Pulse counter #1", "group": "Status", "area": "holding", "address": 13056, "type": "uint32", "word_order": "little", "access": "RW", "description": "0-99,999"},
    {"name": "Pulse counter #2", "group": "Status", "area": "holding", "address": 13058, "type": "uint32", "word_order": "little", "access": "RW", "description": "0-99,999"},
    {"name": "Pulse counter #3", "group": "Status", "area": "holding", "address": 13060, "type": "uint32", "word_order": "little", "access": "RW", "description": "0-99,999"},
    {"name": "Pulse counter #4", "group": "Status", "area": "holding", "address": 13062, "type": "uint32", "word_order": "little", "access": "RW", "description": "0-99,999"},
    {"name": "Free memory", "group": "Status", "area": "holding", "address": 44264, "type": "uint32", "word_order": "little", "unit": "B"},
    {"name": "Memory size", "group": "Status", "area": "holding", "address": 44262, "type": "uint32", "word_order": "little", "unit": "B", "reference": 59520},
    {"name": "Wiring mode", "group": "Basic setup", "area": "holding", "address": 2304, "type": "uint16", "access": "RW", "enum": "wiring_mode"},
    {"name": "PT ratio", "group": "Basic setup", "area": "holding", "address": 2305, "type": "uint16", "access": "RW", "scale": 0.1, "write_min": 1, "write_max": 6500, "description": "Raw 10 to 65000, unit 0.1"},
    {"name": "CT primary current", "group": "Basic setup", "area": "holding", "address": 2306, "type": "uint16", "access": "RW", "unit": "A", "write_min": 1, "write_max": 50000},
    {"name": "Power block demand period", "group": "Basic setup", "area": "holding", "address": 2307, "type": "uint16", "access": "RW", "unit": "min", "description": "1, 2, 3, 5, 10, 15, 20, 30 or 60 minutes; 255 = external synchronization (DI1). PM130E and PM130EH"},
    {"name": "Volt/ampere demand period", "group": "Basic setup", "area": "holding", "address": 2308, "type": "uint16", "access": "RW", "unit": "s", "write_min": 0, "write_max": 1800},
    {"name": "Number of blocks in sliding window", "group": "Basic setup", "area": "holding", "address": 2312, "type": "uint16", "access": "RW", "write_min": 1, "write_max": 15, "description": "PM130E and PM130EH"},
    {"name": "Nominal line frequency", "group": "Basic setup", "area": "holding", "address": 2315, "type": "uint16", "access": "RW", "unit": "Hz", "description": "25, 50, 60 or 400"},
    {"name": "Maximum demand load current", "group": "Basic setup", "area": "holding", "address": 2316, "type": "uint16", "access": "RW", "unit": "A", "write_min": 0, "write_max": 50000, "description": "0 = CT primary current"},
    {"name": "PT ratio multiplication factor", "group": "Basic setup", "area": "holding", "address": 2324, "type": "uint16", "access": "RW", "description": "1 or 10"},
    {"name": "Power calculation mode", "group": "Device options", "area": "holding", "address": 2376, "type": "uint16", "access": "RW", "enum": {"0": "Using reactive power: S=f(P,Q)", "1": "Using non-active power: Q=f(S,P)"}},
    {"name": "Energy roll value", "group": "Device options", "area": "holding", "address": 2377, "type": "uint16", "access": "RW", "enum": {"0": "1104", "1": "1105", "2": "1106", "3": "1107", "4": "1108", "5": "1109"}, "description": "Values are printed this way in the guide (probably 10^4 to 10^9); default 1108. PM130E and PM130EH"},
    {"name": "Phase energy calculation mode", "group": "Device options", "area": "holding", "address": 2378, "type": "uint16", "access": "RW", "enum": {"0": "Disabled", "1": "Enabled"}, "description": "PM130E and PM130EH"},
    {"name": "Energy/pulse resolution", "group": "Device options", "area": "holding", "address": 2382, "type": "uint16", "access": "RW", "enum": {"1": "0.1", "2": "0.01", "3": "0.001", "4": "0.0001", "5": "0.00001"}, "description": "The guide prints the 3 and 5 entries with typos; read here as 3 = 0.001 and 5 = 0.00001"},
    {"name": "Energy LED test mode", "group": "Device options", "area": "holding", "address": 2386, "type": "uint16", "access": "RW", "enum": {"0": "Disabled", "1": "Wh test", "2": "varh test"}, "description": "LED pulse rate is 10,000 pulses/kWh. PM130E and PM130EH"},
    {"name": "Starting voltage", "group": "Device options", "area": "holding", "address": 2387, "type": "uint16", "access": "RW", "scale": 0.1, "unit": "%", "write_min": 1.5, "write_max": 5, "description": "Percent of full-scale voltage, default 1.5 %"},
    {"name": "Device resolution", "group": "Device options", "area": "holding", "address": 2390, "type": "uint16", "access": "RW", "enum": {"0": "Low resolution", "1": "High resolution"}, "description": "Sets the units of the 32-bit values, see the notes"},
    {"name": "AC/DC mode", "group": "Device options", "area": "holding", "address": 2395, "type": "uint16", "access": "RW", "enum": {"0": "AC", "1": "DC"}},
    {"name": "32-bit register type: analog values", "group": "Modbus setup", "area": "holding", "address": 246, "type": "uint16", "bit": 0, "bits": 2, "access": "RW", "enum": "reg32_type", "description": "Must stay 0 (32-bit integer) for this map"},
    {"name": "32-bit register type: binary counters", "group": "Modbus setup", "area": "holding", "address": 246, "type": "uint16", "bit": 2, "bits": 2, "access": "RW", "enum": "reg32_type"},
    {"name": "32-bit register type: energy counters", "group": "Modbus setup", "area": "holding", "address": 246, "type": "uint16", "bit": 4, "bits": 2, "access": "RW", "enum": "reg32_type", "description": "Must stay 0 (32-bit integer) for this map"},
    {"name": "Voltage scale (16-bit registers)", "group": "Modbus setup", "area": "holding", "address": 242, "type": "uint16", "access": "RW", "unit": "V", "write_min": 60, "write_max": 828, "description": "Secondary volts, default 144. Applies only to the 16-bit scaled registers"},
    {"name": "Current scale (16-bit registers)", "group": "Modbus setup", "area": "holding", "address": 243, "type": "uint16", "access": "RW", "scale": 0.1, "unit": "A", "write_min": 1, "write_max": 10, "description": "Secondary amps, raw 10-100, default 2 x CT secondary. Applies only to the 16-bit scaled registers"},
    {"name": "COM1 protocol", "group": "COM1 setup", "area": "holding", "address": 2344, "type": "uint16", "access": "RW", "enum": "com1_protocol"},
    {"name": "COM1 interface", "group": "COM1 setup", "area": "holding", "address": 2345, "type": "uint16", "access": "RW", "enum": {"2": "RS-485"}},
    {"name": "COM1 device address", "group": "COM1 setup", "area": "holding", "address": 2346, "type": "uint16", "access": "RW", "description": "Modbus RTU: 1-247"},
    {"name": "COM1 baud rate", "group": "COM1 setup", "area": "holding", "address": 2347, "type": "uint16", "access": "RW", "enum": "baud_rate"},
    {"name": "COM1 data format", "group": "COM1 setup", "area": "holding", "address": 2348, "type": "uint16", "access": "RW", "enum": "data_format"},
    {"name": "COM2 protocol", "group": "COM2 setup", "area": "holding", "address": 2352, "type": "uint16", "access": "RW", "enum": "com2_protocol"},
    {"name": "COM2 interface", "group": "COM2 setup", "area": "holding", "address": 2353, "type": "uint16", "access": "RW", "enum": "com2_interface"},
    {"name": "COM2 device address", "group": "COM2 setup", "area": "holding", "address": 2354, "type": "uint16", "access": "RW", "description": "Modbus RTU: 1-247"},
    {"name": "COM2 baud rate", "group": "COM2 setup", "area": "holding", "address": 2355, "type": "uint16", "access": "RW", "enum": "baud_rate"},
    {"name": "COM2 data format", "group": "COM2 setup", "area": "holding", "address": 2356, "type": "uint16", "access": "RW", "enum": "data_format"},
    {"name": "Clock seconds", "group": "Clock", "area": "holding", "address": 4352, "type": "uint16", "access": "RW", "description": "0-59"},
    {"name": "Clock minutes", "group": "Clock", "area": "holding", "address": 4353, "type": "uint16", "access": "RW", "description": "0-59"},
    {"name": "Clock hour", "group": "Clock", "area": "holding", "address": 4354, "type": "uint16", "access": "RW", "description": "0-23"},
    {"name": "Clock day of month", "group": "Clock", "area": "holding", "address": 4355, "type": "uint16", "access": "RW", "description": "1-31"},
    {"name": "Clock month", "group": "Clock", "area": "holding", "address": 4356, "type": "uint16", "access": "RW", "description": "1-12"},
    {"name": "Clock year", "group": "Clock", "area": "holding", "address": 4357, "type": "uint16", "access": "RW", "description": "Calendar year minus 2000, 0-99"},
    {"name": "Clock weekday", "group": "Clock", "area": "holding", "address": 4358, "type": "uint16", "access": "R", "description": "1-7 (1 = Sunday, 7 = Saturday); ignored when written"},
    {"name": "Use DHCP", "group": "Network", "area": "holding", "address": 46582, "type": "uint32", "word_order": "little", "access": "RW", "enum": {"0": "No", "1": "Yes"}},
    {"name": "TCP service port", "group": "Network", "area": "holding", "address": 46584, "type": "uint32", "word_order": "little", "access": "RW", "description": "502 = Modbus/TCP, 20000 = DNP3.0/TCP"},
    {"name": "Password protection enabled", "group": "Security", "area": "holding", "address": 46706, "type": "uint16", "access": "RW", "enum": {"0": "Disabled", "1": "Enabled"}},
    {"name": "Device authorization", "group": "Security", "area": "holding", "address": 2575, "type": "int16", "access": "RW", "description": "Write the 4-digit password here before other writes. Reads 0 = access permitted, -1 = authorization required"},
    {"name": "Warm restart", "group": "Commands", "area": "holding", "address": 2560, "type": "uint16", "access": "RW", "description": "Reads 0; write 0xFFFF to restart the device"},
    {"name": "Clear total energy registers", "group": "Commands", "area": "holding", "address": 3404, "type": "uint16", "access": "W", "description": "Write 0"},
    {"name": "Clear total maximum demand registers", "group": "Commands", "area": "holding", "address": 3405, "type": "uint16", "access": "W", "enum": {"0": "Clear all maximum demands", "1": "Clear power demands", "2": "Clear volt, ampere and harmonic demands"}},
    {"name": "Clear pulse counters", "group": "Commands", "area": "holding", "address": 3408, "type": "uint16", "access": "W", "enum": {"0": "Clear all counters", "1": "Clear counter #1", "2": "Clear counter #2", "3": "Clear counter #3", "4": "Clear counter #4"}},
    {"name": "Clear Min/Max log", "group": "Commands", "area": "holding", "address": 3409, "type": "uint16", "access": "W", "description": "Write 0"},
    {"name": "Remote relay control RO1", "group": "Commands", "area": "holding", "address": 3244, "type": "uint16", "access": "W", "enum": {"0": "Remove remote command", "1": "Operate relay", "2": "Remove remote command and release a locally latched relay"}},
    {"name": "Remote relay control RO2", "group": "Commands", "area": "holding", "address": 3245, "type": "uint16", "access": "W", "enum": {"0": "Remove remote command", "1": "Operate relay", "2": "Remove remote command and release a locally latched relay"}},
    {"name": "Remote relay control RO3", "group": "Commands", "area": "holding", "address": 3246, "type": "uint16", "access": "W", "enum": {"0": "Remove remote command", "1": "Operate relay", "2": "Remove remote command and release a locally latched relay"}},
    {"name": "Remote relay control RO4", "group": "Commands", "area": "holding", "address": 3247, "type": "uint16", "access": "W", "enum": {"0": "Remove remote command", "1": "Operate relay", "2": "Remove remote command and release a locally latched relay"}}
  ]
}
