{
  "$schema": "https://raw.githubusercontent.com/nobrega8/mbmap-library/main/schema/mbmap-2.schema.json",
  "mbmap": 2,
  "vendor": "Eastron",
  "model": "SDM72D-M",
  "models": ["SDM72D-M"],
  "vendor_website": "eastroneurope.com",
  "description": "Three-phase DIN rail energy meter with a reduced Modbus register set: total power and import/export energy",
  "revision": 3,
  "revised": "2026-10-18",
  "source": "Zhejiang Eastron Electronic, \"SDM72D-M Modbus Protocol\", V1.1",
  "sources": [{"title": "SDM72D-M Modbus Protocol", "version": "V1.1", "url": "https://docs.vekto.nl/media/eastron/eastron-sdm72dm-modbus-protocol-v1.1.pdf"}],
  "notes": [
    "Measurements are float32 input registers (FC04); settings are float32 holding registers (FC03 read, FC10 write).",
    "Settings marked as protected need the password (default 1000) written to the password register first."
  ],
  "protocol": "rtu",
  "unit_id": 1,
  "baudrate": 9600,
  "parity": "N",
  "databits": 8,
  "stopbits": 1,
  "byte_order": "big",
  "word_order": "big",
  "address_base": 0,
  "x_status": "official",
  "registers": [
    {"name": "Total system power", "group": "Measurements", "area": "input", "address": "0x0034", "type": "float32", "unit": "W", "access": "R"},
    {"name": "Total import active energy", "group": "Energy", "area": "input", "address": "0x0048", "type": "float32", "unit": "kWh", "access": "R"},
    {"name": "Total export active energy", "group": "Energy", "area": "input", "address": "0x004A", "type": "float32", "unit": "kWh", "access": "R"},
    {"name": "Total active energy", "group": "Energy", "area": "input", "address": "0x0156", "type": "float32", "unit": "kWh", "access": "R", "description": "Import + export"},
    {"name": "Resettable total active energy", "group": "Energy", "area": "input", "address": "0x0180", "type": "float32", "unit": "kWh", "access": "R", "description": "Import + export"},
    {"name": "Resettable import active energy", "group": "Energy", "area": "input", "address": "0x0184", "type": "float32", "unit": "kWh", "access": "R"},
    {"name": "Resettable export active energy", "group": "Energy", "area": "input", "address": "0x0186", "type": "float32", "unit": "kWh", "access": "R"},
    {"name": "Total import active power", "group": "Measurements", "area": "input", "address": "0x0500", "type": "float32", "unit": "W", "access": "R"},
    {"name": "Total export active power", "group": "Measurements", "area": "input", "address": "0x0502", "type": "float32", "unit": "W", "access": "R"},
    {"name": "Parity and stop bits", "group": "Setup", "area": "holding", "address": "0x0012", "type": "float32", "access": "RW", "enum": {"0": "No parity, 1 stop bit", "1": "Even parity, 1 stop bit", "2": "Odd parity, 1 stop bit", "3": "No parity, 2 stop bits"}, "description": "Default 0"},
    {"name": "Modbus address", "group": "Setup", "area": "holding", "address": "0x0014", "type": "float32", "access": "RW", "write_min": 1, "write_max": 247, "description": "Default 1"},
    {"name": "Password", "group": "Setup", "area": "holding", "address": "0x0018", "type": "float32", "access": "RW", "description": "Write the password (default 1000) to unlock the protected registers"},
    {"name": "Baud rate", "group": "Setup", "area": "holding", "address": "0x001C", "type": "float32", "access": "RW", "enum": {"0": "2400", "1": "4800", "2": "9600", "5": "1200"}, "description": "Default 2 (9600)"},
    {"name": "Automatic scroll display time", "group": "Setup", "area": "holding", "address": "0x003A", "type": "float32", "unit": "s", "access": "RW", "write_min": 0, "write_max": 30, "description": "0 = no automatic scrolling (default)"},
    {"name": "Backlight time", "group": "Setup", "area": "holding", "address": "0x003C", "type": "float32", "unit": "min", "access": "RW", "write_min": 0, "write_max": 120, "description": "0 = backlight always on (default)"},
    {"name": "Reset resettable energy", "group": "Commands", "area": "holding", "address": "0xF010", "type": "uint16", "access": "W", "enum": {"3": "Reset resettable energy"}}
  ]
}
