{
  "manufacturer": "lovato",
  "model": "dmk40",
  "device": "dmk40",
  "category": "Altro",
  "protocol": "modbus",
  "version": "v1",
  "firmware": null,
  "verification": "IMPORTED",
  "isDemo": false,
  "source": {
    "title": "lovato dmk40 — modbus-database (registers.json)",
    "url": "https://www.aggsoft.com/serial-data-logger/tutorials/modbus-data-logging/lovato-dmk40.htm",
    "documentRef": null,
    "revision": null
  },
  "generatedAt": "2026-09-21T14:33:43.398Z",
  "registers": [
    {
      "address": "2",
      "addressNumeric": 2,
      "signal": "l1_phase_voltage",
      "name": "L1-phase-voltage",
      "description": "L1-phase-voltage",
      "functionCode": 3,
      "datatype": "uint32",
      "length": 2,
      "scale": 1,
      "offset": 0,
      "unit": "V",
      "access": "READ",
      "endianness": null,
      "group": null,
      "notes": null
    },
    {
      "address": "4",
      "addressNumeric": 4,
      "signal": "l2_phase_voltage",
      "name": "L2-phase-voltage",
      "description": "L2-phase-voltage",
      "functionCode": 3,
      "datatype": "uint32",
      "length": 2,
      "scale": 1,
      "offset": 0,
      "unit": "V",
      "access": "READ",
      "endianness": null,
      "group": null,
      "notes": null
    },
    {
      "address": "6",
      "addressNumeric": 6,
      "signal": "l3_phase_voltage",
      "name": "L3-phase-voltage",
      "description": "L3-phase-voltage",
      "functionCode": 3,
      "datatype": "uint32",
      "length": 2,
      "scale": 1,
      "offset": 0,
      "unit": "V",
      "access": "READ",
      "endianness": null,
      "group": null,
      "notes": null
    },
    {
      "address": "8",
      "addressNumeric": 8,
      "signal": "total_phase_voltage",
      "name": "Total-phase-voltage",
      "description": "Total-phase-voltage",
      "functionCode": 3,
      "datatype": "uint32",
      "length": 2,
      "scale": 1,
      "offset": 0,
      "unit": "V",
      "access": "READ",
      "endianness": null,
      "group": null,
      "notes": null
    },
    {
      "address": "10",
      "addressNumeric": 10,
      "signal": "l1_l2_phase_to_phase_voltage",
      "name": "L1-L2-phase-to-phase-voltage",
      "description": "L1-L2-phase-to-phase-voltage",
      "functionCode": 3,
      "datatype": "uint32",
      "length": 2,
      "scale": 1,
      "offset": 0,
      "unit": "V",
      "access": "READ",
      "endianness": null,
      "group": null,
      "notes": null
    },
    {
      "address": "12",
      "addressNumeric": 12,
      "signal": "l2_l3_phase_to_phase_voltage",
      "name": "L2-L3-phase-to-phase-voltage",
      "description": "L2-L3-phase-to-phase-voltage",
      "functionCode": 3,
      "datatype": "uint32",
      "length": 2,
      "scale": 1,
      "offset": 0,
      "unit": "V",
      "access": "READ",
      "endianness": null,
      "group": null,
      "notes": null
    },
    {
      "address": "14",
      "addressNumeric": 14,
      "signal": "l3_l1_phase_to_phase_voltage",
      "name": "L3-L1-phase-to-phase-voltage",
      "description": "L3-L1-phase-to-phase-voltage",
      "functionCode": 3,
      "datatype": "uint32",
      "length": 2,
      "scale": 1,
      "offset": 0,
      "unit": "V",
      "access": "READ",
      "endianness": null,
      "group": null,
      "notes": null
    },
    {
      "address": "16",
      "addressNumeric": 16,
      "signal": "equivalent_line_voltage",
      "name": "Equivalent-line-voltage",
      "description": "Equivalent-line-voltage",
      "functionCode": 3,
      "datatype": "uint32",
      "length": 2,
      "scale": 1,
      "offset": 0,
      "unit": "V",
      "access": "READ",
      "endianness": null,
      "group": null,
      "notes": null
    },
    {
      "address": "18",
      "addressNumeric": 18,
      "signal": "l1_phase_current",
      "name": "L1-phase-current",
      "description": "L1-phase-current",
      "functionCode": 3,
      "datatype": "uint32",
      "length": 2,
      "scale": 1,
      "offset": 0,
      "unit": "A",
      "access": "READ",
      "endianness": null,
      "group": null,
      "notes": null
    },
    {
      "address": "20",
      "addressNumeric": 20,
      "signal": "l2_phase_current",
      "name": "L2-phase-current",
      "description": "L2-phase-current",
      "functionCode": 3,
      "datatype": "uint32",
      "length": 2,
      "scale": 1,
      "offset": 0,
      "unit": "A",
      "access": "READ",
      "endianness": null,
      "group": null,
      "notes": null
    },
    {
      "address": "22",
      "addressNumeric": 22,
      "signal": "l3_phase_current",
      "name": "L3-phase-current",
      "description": "L3-phase-current",
      "functionCode": 3,
      "datatype": "uint32",
      "length": 2,
      "scale": 1,
      "offset": 0,
      "unit": "A",
      "access": "READ",
      "endianness": null,
      "group": null,
      "notes": null
    },
    {
      "address": "24",
      "addressNumeric": 24,
      "signal": "equivalent_current0",
      "name": "Equivalent-current0",
      "description": "Equivalent-current0",
      "functionCode": 3,
      "datatype": "uint32",
      "length": 2,
      "scale": 1,
      "offset": 0,
      "unit": "A",
      "access": "READ",
      "endianness": null,
      "group": null,
      "notes": null
    },
    {
      "address": "26",
      "addressNumeric": 26,
      "signal": "total_active_power",
      "name": "Total-active-power",
      "description": "Total-active-power",
      "functionCode": 3,
      "datatype": "uint32",
      "length": 2,
      "scale": 1,
      "offset": 0,
      "unit": "W",
      "access": "READ",
      "endianness": null,
      "group": null,
      "notes": null
    },
    {
      "address": "28",
      "addressNumeric": 28,
      "signal": "total_reactive_power",
      "name": "Total-reactive-power",
      "description": "Total-reactive-power",
      "functionCode": 3,
      "datatype": "uint32",
      "length": 2,
      "scale": 1,
      "offset": 0,
      "unit": "Var",
      "access": "READ",
      "endianness": null,
      "group": null,
      "notes": null
    },
    {
      "address": "30",
      "addressNumeric": 30,
      "signal": "total_apparent_power",
      "name": "Total-apparent-power",
      "description": "Total-apparent-power",
      "functionCode": 3,
      "datatype": "uint32",
      "length": 2,
      "scale": 1,
      "offset": 0,
      "unit": "VA",
      "access": "READ",
      "endianness": null,
      "group": null,
      "notes": null
    },
    {
      "address": "32",
      "addressNumeric": 32,
      "signal": "total_power_factor0",
      "name": "Total-power-factor0",
      "description": "Total-power-factor0",
      "functionCode": 3,
      "datatype": "uint32",
      "length": 2,
      "scale": 1,
      "offset": 0,
      "unit": null,
      "access": "READ",
      "endianness": null,
      "group": null,
      "notes": null
    },
    {
      "address": "34",
      "addressNumeric": 34,
      "signal": "active_energy_import",
      "name": "Active-energy-(import)",
      "description": "Active-energy-(import)",
      "functionCode": 3,
      "datatype": "uint32",
      "length": 2,
      "scale": 1,
      "offset": 0,
      "unit": "Wh",
      "access": "READ",
      "endianness": null,
      "group": null,
      "notes": null
    },
    {
      "address": "36",
      "addressNumeric": 36,
      "signal": "active_energy_export",
      "name": "Active-energy-(export)",
      "description": "Active-energy-(export)",
      "functionCode": 3,
      "datatype": "uint32",
      "length": 2,
      "scale": 1,
      "offset": 0,
      "unit": "Wh",
      "access": "READ",
      "endianness": null,
      "group": null,
      "notes": null
    },
    {
      "address": "38",
      "addressNumeric": 38,
      "signal": "reactive_energy_import",
      "name": "Reactive-energy-(import)",
      "description": "Reactive-energy-(import)",
      "functionCode": 3,
      "datatype": "uint32",
      "length": 2,
      "scale": 1,
      "offset": 0,
      "unit": "Varh",
      "access": "READ",
      "endianness": null,
      "group": null,
      "notes": null
    },
    {
      "address": "40",
      "addressNumeric": 40,
      "signal": "reactive_energy_export",
      "name": "Reactive-energy-(export)",
      "description": "Reactive-energy-(export)",
      "functionCode": 3,
      "datatype": "uint32",
      "length": 2,
      "scale": 1,
      "offset": 0,
      "unit": "Varh",
      "access": "READ",
      "endianness": null,
      "group": null,
      "notes": null
    },
    {
      "address": "42",
      "addressNumeric": 42,
      "signal": "l1_phase_active_power",
      "name": "L1-phase-active-power",
      "description": "L1-phase-active-power",
      "functionCode": 3,
      "datatype": "uint32",
      "length": 2,
      "scale": 1,
      "offset": 0,
      "unit": "W",
      "access": "READ",
      "endianness": null,
      "group": null,
      "notes": null
    },
    {
      "address": "44",
      "addressNumeric": 44,
      "signal": "l2_phase_active_power",
      "name": "L2-phase-active-power",
      "description": "L2-phase-active-power",
      "functionCode": 3,
      "datatype": "uint32",
      "length": 2,
      "scale": 1,
      "offset": 0,
      "unit": "W",
      "access": "READ",
      "endianness": null,
      "group": null,
      "notes": null
    },
    {
      "address": "46",
      "addressNumeric": 46,
      "signal": "l3_phase_active_power",
      "name": "L3-phase-active-power",
      "description": "L3-phase-active-power",
      "functionCode": 3,
      "datatype": "uint32",
      "length": 2,
      "scale": 1,
      "offset": 0,
      "unit": "W",
      "access": "READ",
      "endianness": null,
      "group": null,
      "notes": null
    },
    {
      "address": "48",
      "addressNumeric": 48,
      "signal": "l1_phase_reactive_power",
      "name": "L1-phase-reactive-power",
      "description": "L1-phase-reactive-power",
      "functionCode": 3,
      "datatype": "uint32",
      "length": 2,
      "scale": 1,
      "offset": 0,
      "unit": "Var",
      "access": "READ",
      "endianness": null,
      "group": null,
      "notes": null
    },
    {
      "address": "50",
      "addressNumeric": 50,
      "signal": "l2_phase_reactive_power",
      "name": "L2-phase-reactive-power",
      "description": "L2-phase-reactive-power",
      "functionCode": 3,
      "datatype": "uint32",
      "length": 2,
      "scale": 1,
      "offset": 0,
      "unit": "Var",
      "access": "READ",
      "endianness": null,
      "group": null,
      "notes": null
    },
    {
      "address": "52",
      "addressNumeric": 52,
      "signal": "l3_phase_reactive_power",
      "name": "L3-phase-reactive-power",
      "description": "L3-phase-reactive-power",
      "functionCode": 3,
      "datatype": "uint32",
      "length": 2,
      "scale": 1,
      "offset": 0,
      "unit": "Var",
      "access": "READ",
      "endianness": null,
      "group": null,
      "notes": null
    },
    {
      "address": "54",
      "addressNumeric": 54,
      "signal": "l1_phase_apparent_power",
      "name": "L1-phase-apparent-power",
      "description": "L1-phase-apparent-power",
      "functionCode": 3,
      "datatype": "uint32",
      "length": 2,
      "scale": 1,
      "offset": 0,
      "unit": "VA",
      "access": "READ",
      "endianness": null,
      "group": null,
      "notes": null
    },
    {
      "address": "56",
      "addressNumeric": 56,
      "signal": "l2_phase_apparent_power",
      "name": "L2-phase-apparent-power",
      "description": "L2-phase-apparent-power",
      "functionCode": 3,
      "datatype": "uint32",
      "length": 2,
      "scale": 1,
      "offset": 0,
      "unit": "VA",
      "access": "READ",
      "endianness": null,
      "group": null,
      "notes": null
    },
    {
      "address": "58",
      "addressNumeric": 58,
      "signal": "l3_phase_apparent_power",
      "name": "L3-phase-apparent-power",
      "description": "L3-phase-apparent-power",
      "functionCode": 3,
      "datatype": "uint32",
      "length": 2,
      "scale": 1,
      "offset": 0,
      "unit": "VA",
      "access": "READ",
      "endianness": null,
      "group": null,
      "notes": null
    },
    {
      "address": "60",
      "addressNumeric": 60,
      "signal": "l1_power_factor",
      "name": "L1-power-factor",
      "description": "L1-power-factor",
      "functionCode": 3,
      "datatype": "uint32",
      "length": 2,
      "scale": 1,
      "offset": 0,
      "unit": null,
      "access": "READ",
      "endianness": null,
      "group": null,
      "notes": null
    },
    {
      "address": "62",
      "addressNumeric": 62,
      "signal": "l2_power_factor",
      "name": "L2-power-factor",
      "description": "L2-power-factor",
      "functionCode": 3,
      "datatype": "uint32",
      "length": 2,
      "scale": 1,
      "offset": 0,
      "unit": null,
      "access": "READ",
      "endianness": null,
      "group": null,
      "notes": null
    },
    {
      "address": "64",
      "addressNumeric": 64,
      "signal": "l3_power_factor",
      "name": "L3-power-factor",
      "description": "L3-power-factor",
      "functionCode": 3,
      "datatype": "uint32",
      "length": 2,
      "scale": 1,
      "offset": 0,
      "unit": null,
      "access": "READ",
      "endianness": null,
      "group": null,
      "notes": null
    },
    {
      "address": "66",
      "addressNumeric": 66,
      "signal": "l1_cost",
      "name": "L1-cost",
      "description": "L1-cost",
      "functionCode": 3,
      "datatype": "uint32",
      "length": 2,
      "scale": 1,
      "offset": 0,
      "unit": null,
      "access": "READ",
      "endianness": null,
      "group": null,
      "notes": null
    },
    {
      "address": "68",
      "addressNumeric": 68,
      "signal": "l2_cost",
      "name": "L2-cost",
      "description": "L2-cost",
      "functionCode": 3,
      "datatype": "uint32",
      "length": 2,
      "scale": 1,
      "offset": 0,
      "unit": null,
      "access": "READ",
      "endianness": null,
      "group": null,
      "notes": null
    },
    {
      "address": "70",
      "addressNumeric": 70,
      "signal": "l3_cost",
      "name": "L3-cost",
      "description": "L3-cost",
      "functionCode": 3,
      "datatype": "uint32",
      "length": 2,
      "scale": 1,
      "offset": 0,
      "unit": null,
      "access": "READ",
      "endianness": null,
      "group": null,
      "notes": null
    },
    {
      "address": "72",
      "addressNumeric": 72,
      "signal": "frequency",
      "name": "Frequency",
      "description": "Frequency",
      "functionCode": 3,
      "datatype": "uint32",
      "length": 2,
      "scale": 1,
      "offset": 0,
      "unit": "Hz",
      "access": "READ",
      "endianness": null,
      "group": null,
      "notes": null
    },
    {
      "address": "74",
      "addressNumeric": 74,
      "signal": "average_l1_phase_voltage",
      "name": "Average-L1-phase-voltage",
      "description": "Average-L1-phase-voltage",
      "functionCode": 3,
      "datatype": "uint32",
      "length": 2,
      "scale": 1,
      "offset": 0,
      "unit": "V",
      "access": "READ",
      "endianness": null,
      "group": null,
      "notes": null
    },
    {
      "address": "76",
      "addressNumeric": 76,
      "signal": "average_l2_phase_voltage",
      "name": "Average-L2-phase-voltage",
      "description": "Average-L2-phase-voltage",
      "functionCode": 3,
      "datatype": "uint32",
      "length": 2,
      "scale": 1,
      "offset": 0,
      "unit": "V",
      "access": "READ",
      "endianness": null,
      "group": null,
      "notes": null
    },
    {
      "address": "78",
      "addressNumeric": 78,
      "signal": "average_l3_phase_voltage",
      "name": "Average-L3-phase-voltage",
      "description": "Average-L3-phase-voltage",
      "functionCode": 3,
      "datatype": "uint32",
      "length": 2,
      "scale": 1,
      "offset": 0,
      "unit": "V",
      "access": "READ",
      "endianness": null,
      "group": null,
      "notes": null
    },
    {
      "address": "80",
      "addressNumeric": 80,
      "signal": "average_total_phase_voltage",
      "name": "Average-total-phase-voltage",
      "description": "Average-total-phase-voltage",
      "functionCode": 3,
      "datatype": "uint32",
      "length": 2,
      "scale": 1,
      "offset": 0,
      "unit": "V",
      "access": "READ",
      "endianness": null,
      "group": null,
      "notes": null
    },
    {
      "address": "82",
      "addressNumeric": 82,
      "signal": "average_l1_l2_phase_to_phase_voltage",
      "name": "Average-L1-L2-phase-to-phase-voltage",
      "description": "Average-L1-L2-phase-to-phase-voltage",
      "functionCode": 3,
      "datatype": "uint32",
      "length": 2,
      "scale": 1,
      "offset": 0,
      "unit": "V",
      "access": "READ",
      "endianness": null,
      "group": null,
      "notes": null
    },
    {
      "address": "84",
      "addressNumeric": 84,
      "signal": "average_l2_l3_phase_to_phase_voltage",
      "name": "Average-L2-L3-phase-to-phase-voltage",
      "description": "Average-L2-L3-phase-to-phase-voltage",
      "functionCode": 3,
      "datatype": "uint32",
      "length": 2,
      "scale": 1,
      "offset": 0,
      "unit": "V",
      "access": "READ",
      "endianness": null,
      "group": null,
      "notes": null
    },
    {
      "address": "86",
      "addressNumeric": 86,
      "signal": "average_l3_l1_phase_to_phase_voltage",
      "name": "Average-L3-L1-phase-to-phase-voltage",
      "description": "Average-L3-L1-phase-to-phase-voltage",
      "functionCode": 3,
      "datatype": "uint32",
      "length": 2,
      "scale": 1,
      "offset": 0,
      "unit": "V",
      "access": "READ",
      "endianness": null,
      "group": null,
      "notes": null
    },
    {
      "address": "88",
      "addressNumeric": 88,
      "signal": "average_equivalent_line_voltage",
      "name": "Average-equivalent-line-voltage",
      "description": "Average-equivalent-line-voltage",
      "functionCode": 3,
      "datatype": "uint32",
      "length": 2,
      "scale": 1,
      "offset": 0,
      "unit": "V",
      "access": "READ",
      "endianness": null,
      "group": null,
      "notes": null
    },
    {
      "address": "90",
      "addressNumeric": 90,
      "signal": "average_l1_phase_current",
      "name": "Average-L1-phase-current",
      "description": "Average-L1-phase-current",
      "functionCode": 3,
      "datatype": "uint32",
      "length": 2,
      "scale": 1,
      "offset": 0,
      "unit": "A",
      "access": "READ",
      "endianness": null,
      "group": null,
      "notes": null
    },
    {
      "address": "92",
      "addressNumeric": 92,
      "signal": "average_l2_phase_current",
      "name": "Average-L2-phase-current",
      "description": "Average-L2-phase-current",
      "functionCode": 3,
      "datatype": "uint32",
      "length": 2,
      "scale": 1,
      "offset": 0,
      "unit": "A",
      "access": "READ",
      "endianness": null,
      "group": null,
      "notes": null
    },
    {
      "address": "94",
      "addressNumeric": 94,
      "signal": "average_l3_phase_current",
      "name": "Average-L3-phase-current",
      "description": "Average-L3-phase-current",
      "functionCode": 3,
      "datatype": "uint32",
      "length": 2,
      "scale": 1,
      "offset": 0,
      "unit": "A",
      "access": "READ",
      "endianness": null,
      "group": null,
      "notes": null
    },
    {
      "address": "96",
      "addressNumeric": 96,
      "signal": "average_equivalent_current0",
      "name": "Average-equivalent-current0",
      "description": "Average-equivalent-current0",
      "functionCode": 3,
      "datatype": "uint32",
      "length": 2,
      "scale": 1,
      "offset": 0,
      "unit": "A",
      "access": "READ",
      "endianness": null,
      "group": null,
      "notes": null
    },
    {
      "address": "98",
      "addressNumeric": 98,
      "signal": "average_total_active_power",
      "name": "Average-total-active-power",
      "description": "Average-total-active-power",
      "functionCode": 3,
      "datatype": "uint32",
      "length": 2,
      "scale": 1,
      "offset": 0,
      "unit": "W",
      "access": "READ",
      "endianness": null,
      "group": null,
      "notes": null
    },
    {
      "address": "100",
      "addressNumeric": 100,
      "signal": "average_total_reactive_power",
      "name": "Average-total-reactive-power",
      "description": "Average-total-reactive-power",
      "functionCode": 3,
      "datatype": "uint32",
      "length": 2,
      "scale": 1,
      "offset": 0,
      "unit": "Var",
      "access": "READ",
      "endianness": null,
      "group": null,
      "notes": null
    }
  ]
}