{
  "$schema": "https://raw.githubusercontent.com/nobrega8/mbmap-library/main/schema/mbmap-2.schema.json",
  "mbmap": 2,
  "vendor": "Lovato Electric",
  "model": "DME",
  "models": ["DMED310T2", "DMED320", "DMED330", "DMED330MID"],
  "vendor_website": "lovatoelectric.com",
  "description": "Lovato DME (DMED) digital energy meters with Modbus RTU, ASCII or TCP depending on the model",
  "revision": 2,
  "revised": "2026-10-17",
  "source": "Lovato Electric, \"DME series Modbus communication protocol\", I315IGB08_22 (2022-08-23)",
  "sources": [{"title": "Digital energy meters DMED series, Communication protocol Modbus", "version": "I315IGB08_22", "date": "2022-08-23", "url": "https://datasheet.lovatoelectric.com/DOWNLOAD/Technical/TechInstructions/28.%20CONTATORI%20DI%20ENERGIA%20E%20ANALIZZATORI%20DI%20RETE/I315IGB08_22.pdf", "note": "table 2"}],
  "notes": [
    "Addresses are the table addresses of the protocol, which are 1-based: the query uses the table address minus one.",
    "Measurements are read with FC04; 32-bit values are high word first.",
    "Not in this map: the maximum, minimum and average blocks (0x0400-0x0A46), commands (0x2FF0), event log, setup parameters and waveforms.",
    "Registers that only some models have say so in their description.",
    "Frequency is Hz/100 on the DMED310T2 and DMED320 and Hz/1000 on the DMED330."
  ],
  "protocol": "tcp+rtu",
  "unit_id": 1,
  "baudrate": 9600,
  "parity": "N",
  "databits": 8,
  "stopbits": 1,
  "byte_order": "big",
  "word_order": "big",
  "address_base": 1,
  "x_status": "official",
  "registers": [
    {"name": "L1 Phase Voltage", "group": "Measurements", "area": "input", "address": 2, "type": "uint32", "scale": 0.01, "unit": "V", "access": "R"},
    {"name": "L2 Phase Voltage", "group": "Measurements", "area": "input", "address": 4, "type": "uint32", "scale": 0.01, "unit": "V", "access": "R"},
    {"name": "L3 Phase Voltage", "group": "Measurements", "area": "input", "address": 6, "type": "uint32", "scale": 0.01, "unit": "V", "access": "R"},
    {"name": "L1 Current", "group": "Measurements", "area": "input", "address": 8, "type": "uint32", "scale": 0.0001, "unit": "A", "access": "R"},
    {"name": "L2 Current", "group": "Measurements", "area": "input", "address": 10, "type": "uint32", "scale": 0.0001, "unit": "A", "access": "R"},
    {"name": "L3 Current", "group": "Measurements", "area": "input", "address": 12, "type": "uint32", "scale": 0.0001, "unit": "A", "access": "R"},
    {"name": "Neutral Current", "group": "Measurements", "area": "input", "address": 72, "type": "uint32", "scale": 0.0001, "unit": "A", "access": "R"},
    {"name": "L1-L2 Voltage", "group": "Measurements", "area": "input", "address": 14, "type": "uint32", "scale": 0.01, "unit": "V", "access": "R"},
    {"name": "L2-L3 Voltage", "group": "Measurements", "area": "input", "address": 16, "type": "uint32", "scale": 0.01, "unit": "V", "access": "R"},
    {"name": "L3-L1 Voltage", "group": "Measurements", "area": "input", "address": 18, "type": "uint32", "scale": 0.01, "unit": "V", "access": "R"},
    {"name": "L1 Active Power", "group": "Measurements", "area": "input", "address": 20, "type": "int32", "scale": 0.01, "unit": "W", "access": "R"},
    {"name": "L2 Active Power", "group": "Measurements", "area": "input", "address": 22, "type": "int32", "scale": 0.01, "unit": "W", "access": "R"},
    {"name": "L3 Active Power", "group": "Measurements", "area": "input", "address": 24, "type": "int32", "scale": 0.01, "unit": "W", "access": "R"},
    {"name": "L1 Reactive Power", "group": "Measurements", "area": "input", "address": 26, "type": "int32", "access": "R"},
    {"name": "L2 Reactive Power", "group": "Measurements", "area": "input", "address": 28, "type": "int32", "access": "R"},
    {"name": "L3 Reactive Power", "group": "Measurements", "area": "input", "address": 30, "type": "int32", "access": "R"},
    {"name": "L1 Apparent Power", "group": "Measurements", "area": "input", "address": 32, "type": "uint32", "scale": 0.01, "unit": "VA", "access": "R"},
    {"name": "L2 Apparent Power", "group": "Measurements", "area": "input", "address": 34, "type": "uint32", "scale": 0.01, "unit": "VA", "access": "R"},
    {"name": "L3 Apparent Power", "group": "Measurements", "area": "input", "address": 36, "type": "uint32", "scale": 0.01, "unit": "VA", "access": "R"},
    {"name": "L1 Power Factor", "group": "Measurements", "area": "input", "address": 38, "type": "int32", "scale": 0.0001, "access": "R"},
    {"name": "L2 Power Factor", "group": "Measurements", "area": "input", "address": 40, "type": "int32", "scale": 0.0001, "access": "R"},
    {"name": "L3 Power Factor", "group": "Measurements", "area": "input", "address": 42, "type": "int32", "scale": 0.0001, "access": "R"},
    {"name": "L1 CosPhi", "group": "Measurements", "area": "input", "address": 44, "type": "int32", "scale": 0.0001, "access": "R", "description": "Only on DMED310T2, DMED320"},
    {"name": "L2 CosPhi", "group": "Measurements", "area": "input", "address": 46, "type": "int32", "scale": 0.0001, "access": "R", "description": "Only on DMED310T2, DMED320"},
    {"name": "L3 CosPhi", "group": "Measurements", "area": "input", "address": 48, "type": "int32", "scale": 0.0001, "access": "R", "description": "Only on DMED310T2, DMED320"},
    {"name": "Frequency", "group": "Measurements", "area": "input", "address": 50, "type": "uint32", "unit": "Hz", "access": "R", "description": "Hz x 100 on DMED310T2 and DMED320, Hz x 1000 on DMED330"},
    {"name": "Equivalent Phase Voltage", "group": "Measurements", "area": "input", "address": 52, "type": "uint32", "scale": 0.01, "unit": "V", "access": "R"},
    {"name": "Equivalent Phase-To-Phase Voltage", "group": "Measurements", "area": "input", "address": 54, "type": "uint32", "scale": 0.01, "unit": "V", "access": "R"},
    {"name": "Equivalent Current", "group": "Measurements", "area": "input", "address": 56, "type": "uint32", "scale": 0.0001, "unit": "A", "access": "R"},
    {"name": "Equivalent Active Power", "group": "Measurements", "area": "input", "address": 58, "type": "int32", "scale": 0.01, "unit": "W", "access": "R"},
    {"name": "Equivalent Reactive Power", "group": "Measurements", "area": "input", "address": 60, "type": "int32", "access": "R"},
    {"name": "Equivalent Apparent Power", "group": "Measurements", "area": "input", "address": 62, "type": "uint32", "scale": 0.01, "unit": "VA", "access": "R"},
    {"name": "Equivalent Power Factor", "group": "Measurements", "area": "input", "address": 64, "type": "int32", "scale": 0.0001, "access": "R"},
    {"name": "Phase-Phase Voltage Asymmetry", "group": "Measurements", "area": "input", "address": 66, "type": "uint32", "scale": 0.01, "unit": "%", "access": "R"},
    {"name": "Phase-neutral Voltage Asymmetry", "group": "Measurements", "area": "input", "address": 68, "type": "uint32", "scale": 0.01, "unit": "%", "access": "R"},
    {"name": "Current Asymmetry", "group": "Measurements", "area": "input", "address": 70, "type": "uint32", "scale": 0.01, "unit": "%", "access": "R"},
    {"name": "Total imported Active Energy", "group": "Energy", "area": "input", "address": 6944, "type": "uint64", "scale": 0.01, "unit": "kWh", "access": "R"},
    {"name": "Total exported Active Energy", "group": "Energy", "area": "input", "address": 6948, "type": "uint64", "scale": 0.01, "unit": "kWh", "access": "R"},
    {"name": "Total imported Reactive Energy", "group": "Energy", "area": "input", "address": 6952, "type": "uint64", "scale": 0.01, "unit": "kvarh", "access": "R"},
    {"name": "Total exported Reactive Energy", "group": "Energy", "area": "input", "address": 6956, "type": "uint64", "scale": 0.01, "unit": "kvarh", "access": "R"},
    {"name": "Total Apparent Energy", "group": "Energy", "area": "input", "address": 6960, "type": "uint64", "scale": 0.01, "unit": "kVAh", "access": "R"},
    {"name": "Partial imported Active Energy", "group": "Energy", "area": "input", "address": 6964, "type": "uint64", "scale": 0.01, "unit": "kWh", "access": "R"},
    {"name": "Partial exported Active Energy", "group": "Energy", "area": "input", "address": 6968, "type": "uint64", "scale": 0.01, "unit": "kWh", "access": "R"},
    {"name": "Partial imported Reactive Energy", "group": "Energy", "area": "input", "address": 6972, "type": "uint64", "scale": 0.01, "unit": "kvarh", "access": "R"},
    {"name": "Partial exported Reactive Energy", "group": "Energy", "area": "input", "address": 6976, "type": "uint64", "scale": 0.01, "unit": "kvarh", "access": "R"},
    {"name": "Partial Apparent Energy", "group": "Energy", "area": "input", "address": 6980, "type": "uint64", "scale": 0.01, "unit": "kVAh", "access": "R"},
    {"name": "Imported Active Energy Tariff 1", "group": "Energy", "area": "input", "address": 6984, "type": "uint64", "scale": 0.01, "unit": "kWh", "access": "R", "description": "Only on DMED310T2, DMED330"},
    {"name": "Exported Active Energy Tariff 1", "group": "Energy", "area": "input", "address": 6988, "type": "uint64", "scale": 0.01, "unit": "kWh", "access": "R", "description": "Only on DMED310T2, DMED330"},
    {"name": "Imported Reactive Energy Tariff 1", "group": "Energy", "area": "input", "address": 6992, "type": "uint64", "scale": 0.01, "unit": "kvarh", "access": "R", "description": "Only on DMED310T2, DMED330"},
    {"name": "Exported Reactive Energy Tariff 1", "group": "Energy", "area": "input", "address": 6996, "type": "uint64", "scale": 0.01, "unit": "kvarh", "access": "R", "description": "Only on DMED310T2, DMED330"},
    {"name": "Apparent Energy Tariff 1", "group": "Energy", "area": "input", "address": 7000, "type": "uint64", "scale": 0.01, "unit": "kVAh", "access": "R", "description": "Only on DMED310T2, DMED330"},
    {"name": "Imported Active Energy Tariff 2", "group": "Energy", "area": "input", "address": 7004, "type": "uint64", "scale": 0.01, "unit": "kWh", "access": "R", "description": "Only on DMED310T2, DMED330"},
    {"name": "Apparent Energy Tariff 2", "group": "Energy", "area": "input", "address": 7020, "type": "uint64", "scale": 0.01, "unit": "kVAh", "access": "R", "description": "Only on DMED310T2, DMED330"},
    {"name": "Imported Active Energy Tariff 3", "group": "Energy", "area": "input", "address": 7024, "type": "uint64", "scale": 0.01, "unit": "kWh", "access": "R", "description": "Only on DMED310T2"},
    {"name": "Apparent Energy Tariff 3", "group": "Energy", "area": "input", "address": 7040, "type": "uint64", "scale": 0.01, "unit": "kVAh", "access": "R", "description": "Only on DMED310T2"},
    {"name": "Imported Active Energy Tariff 4", "group": "Energy", "area": "input", "address": 7044, "type": "uint64", "scale": 0.01, "unit": "kWh", "access": "R", "description": "Only on DMED310T2"},
    {"name": "Apparent Energy Tariff 4", "group": "Energy", "area": "input", "address": 7060, "type": "uint64", "scale": 0.01, "unit": "kVAh", "access": "R", "description": "Only on DMED310T2"},
    {"name": "L1 Imported Active Energy Tariff 1", "group": "Energy", "area": "input", "address": 7064, "type": "uint64", "scale": 0.01, "unit": "kWh", "access": "R", "description": "Only on DMED330"},
    {"name": "L1 Apparent Energy Tariff 1", "group": "Energy", "area": "input", "address": 7080, "type": "uint64", "scale": 0.01, "unit": "kVAh", "access": "R", "description": "Only on DMED330"},
    {"name": "L1 Imported Active Energy Tariff 2", "group": "Energy", "area": "input", "address": 7084, "type": "uint64", "scale": 0.01, "unit": "kWh", "access": "R", "description": "Only on DMED330"},
    {"name": "L1 Apparent Energy Tariff 2", "group": "Energy", "area": "input", "address": 7100, "type": "uint64", "scale": 0.01, "unit": "kVAh", "access": "R", "description": "Only on DMED330"},
    {"name": "L2 Imported Active Energy Tariff 1", "group": "Energy", "area": "input", "address": 7104, "type": "uint64", "scale": 0.01, "unit": "kWh", "access": "R", "description": "Only on DMED330"},
    {"name": "L2 Apparent Energy Tariff 1", "group": "Energy", "area": "input", "address": 7120, "type": "uint64", "scale": 0.01, "unit": "kVAh", "access": "R", "description": "Only on DMED330"},
    {"name": "L2 Imported Active Energy Tariff 2", "group": "Energy", "area": "input", "address": 7124, "type": "uint64", "scale": 0.01, "unit": "kWh", "access": "R", "description": "Only on DMED330"},
    {"name": "L2 Apparent Energy Tariff 2", "group": "Energy", "area": "input", "address": 7140, "type": "uint64", "scale": 0.01, "unit": "kVAh", "access": "R", "description": "Only on DMED330"},
    {"name": "L3 Imported Active Energy Tariff 1", "group": "Energy", "area": "input", "address": 7144, "type": "uint64", "scale": 0.01, "unit": "kWh", "access": "R", "description": "Only on DMED330"},
    {"name": "L3 Apparent Energy Tariff 1", "group": "Energy", "area": "input", "address": 7160, "type": "uint64", "scale": 0.01, "unit": "kVAh", "access": "R", "description": "Only on DMED330"},
    {"name": "L3 Imported Active Energy Tariff 2", "group": "Energy", "area": "input", "address": 7164, "type": "uint64", "scale": 0.01, "unit": "kWh", "access": "R", "description": "Only on DMED330"},
    {"name": "L3 Apparent Energy Tariff 2", "group": "Energy", "area": "input", "address": 7180, "type": "uint64", "scale": 0.01, "unit": "kVAh", "access": "R", "description": "Only on DMED330"}
  ]
}
