{
  "$schema": "https://raw.githubusercontent.com/nobrega8/mbmap-library/main/schema/mbmap-2.schema.json",
  "mbmap": 2,
  "vendor": "Rish",
  "model": "RM3440",
  "models": ["RISH Master 3440", "RM3440"],
  "vendor_website": "rishabh.co.in",
  "description": "Rishabh RISH Master 3440 multifunction meter with RS-485 (Modbus RTU)",
  "revision": 2,
  "revised": "2026-10-17",
  "source": "Rishabh Instruments, \"RISH Master 3440 Operating Manual\", Rev D",
  "sources": [{"title": "RISH Master 3440 Operating Manual", "version": "Rev D", "url": "https://rishabh.co.in/uploads/product/rish-master-3440-163/Rish_Master_3440%20Operating_Manual_-_Rev_D.pdf", "note": "RS-485 (Modbus) section, 3X register table"}],
  "notes": [
    "Measured values are float32 input registers (FC04, two registers each, most significant byte first).",
    "Energies are given here without a unit because the manual table does not state it.",
    "Registers valid only on some wiring systems read 0 on the others (manual table).",
    "Not in this map: the energy overflow counters and cumulative values (0x006C-0x009A), whose rows are incomplete in the manual, the assignable registers and the 4X setup registers."
  ],
  "protocol": "rtu",
  "unit_id": 1,
  "databits": 8,
  "byte_order": "big",
  "word_order": "big",
  "address_base": 0,
  "x_status": "official",
  "registers": [
    {"name": "Volts 1", "group": "Measurements", "area": "input", "address": "0x0000", "type": "float32", "unit": "V", "access": "R"},
    {"name": "Volts 2", "group": "Measurements", "area": "input", "address": "0x0002", "type": "float32", "unit": "V", "access": "R", "description": "Valid on 3P4W, 3P3W; reads 0 otherwise"},
    {"name": "Volts 3", "group": "Measurements", "area": "input", "address": "0x0004", "type": "float32", "unit": "V", "access": "R", "description": "Valid on 3P4W, 3P3W; reads 0 otherwise"},
    {"name": "Current 1", "group": "Measurements", "area": "input", "address": "0x0006", "type": "float32", "unit": "A", "access": "R"},
    {"name": "Current 2", "group": "Measurements", "area": "input", "address": "0x0008", "type": "float32", "unit": "A", "access": "R", "description": "Valid on 3P4W, 3P3W; reads 0 otherwise"},
    {"name": "Current 3", "group": "Measurements", "area": "input", "address": "0x000A", "type": "float32", "unit": "A", "access": "R", "description": "Valid on 3P4W, 3P3W; reads 0 otherwise"},
    {"name": "W1", "group": "Measurements", "area": "input", "address": "0x000C", "type": "float32", "unit": "W", "access": "R", "description": "Valid on 1P2W, 3P4W; reads 0 otherwise"},
    {"name": "W2", "group": "Measurements", "area": "input", "address": "0x000E", "type": "float32", "unit": "W", "access": "R", "description": "Valid on 3P4W; reads 0 otherwise"},
    {"name": "W3", "group": "Measurements", "area": "input", "address": "0x0010", "type": "float32", "unit": "W", "access": "R", "description": "Valid on 3P4W; reads 0 otherwise"},
    {"name": "VA1", "group": "Measurements", "area": "input", "address": "0x0012", "type": "float32", "unit": "VA", "access": "R", "description": "Valid on 1P2W, 3P4W; reads 0 otherwise"},
    {"name": "VA2", "group": "Measurements", "area": "input", "address": "0x0014", "type": "float32", "unit": "VA", "access": "R", "description": "Valid on 3P4W; reads 0 otherwise"},
    {"name": "VA3", "group": "Measurements", "area": "input", "address": "0x0016", "type": "float32", "unit": "VA", "access": "R", "description": "Valid on 3P4W; reads 0 otherwise"},
    {"name": "VAR1", "group": "Measurements", "area": "input", "address": "0x0018", "type": "float32", "unit": "var", "access": "R", "description": "Valid on 1P2W, 3P4W; reads 0 otherwise"},
    {"name": "VAR2", "group": "Measurements", "area": "input", "address": "0x001A", "type": "float32", "unit": "var", "access": "R", "description": "Valid on 3P4W; reads 0 otherwise"},
    {"name": "VAR3", "group": "Measurements", "area": "input", "address": "0x001C", "type": "float32", "unit": "var", "access": "R", "description": "Valid on 3P4W; reads 0 otherwise"},
    {"name": "PF1", "group": "Measurements", "area": "input", "address": "0x001E", "type": "float32", "access": "R", "description": "Valid on 1P2W, 3P4W; reads 0 otherwise"},
    {"name": "PF2", "group": "Measurements", "area": "input", "address": "0x0020", "type": "float32", "access": "R", "description": "Valid on 3P4W; reads 0 otherwise"},
    {"name": "PF3", "group": "Measurements", "area": "input", "address": "0x0022", "type": "float32", "access": "R", "description": "Valid on 3P4W; reads 0 otherwise"},
    {"name": "Phase Angle 1", "group": "Measurements", "area": "input", "address": "0x0024", "type": "float32", "unit": "°", "access": "R", "description": "Valid on 1P2W, 3P4W; reads 0 otherwise"},
    {"name": "Phase Angle 2", "group": "Measurements", "area": "input", "address": "0x0026", "type": "float32", "unit": "°", "access": "R", "description": "Valid on 3P4W; reads 0 otherwise"},
    {"name": "Phase Angle 3", "group": "Measurements", "area": "input", "address": "0x0028", "type": "float32", "unit": "°", "access": "R", "description": "Valid on 3P4W; reads 0 otherwise"},
    {"name": "Volts Avg", "group": "Measurements", "area": "input", "address": "0x002A", "type": "float32", "unit": "V", "access": "R", "description": "Valid on 3P4W, 3P3W; reads 0 otherwise"},
    {"name": "Volts Sum", "group": "Measurements", "area": "input", "address": "0x002C", "type": "float32", "unit": "V", "access": "R", "description": "Valid on 3P4W, 3P3W; reads 0 otherwise"},
    {"name": "Current Avg", "group": "Measurements", "area": "input", "address": "0x002E", "type": "float32", "unit": "A", "access": "R", "description": "Valid on 3P4W, 3P3W; reads 0 otherwise"},
    {"name": "Current Sum", "group": "Measurements", "area": "input", "address": "0x0030", "type": "float32", "unit": "A", "access": "R", "description": "Valid on 3P4W, 3P3W; reads 0 otherwise"},
    {"name": "Watts Avg", "group": "Measurements", "area": "input", "address": "0x0032", "type": "float32", "unit": "W", "access": "R", "description": "Valid on 3P4W, 3P3W; reads 0 otherwise"},
    {"name": "Watts Sum", "group": "Measurements", "area": "input", "address": "0x0034", "type": "float32", "unit": "W", "access": "R", "description": "Valid on 3P4W, 3P3W; reads 0 otherwise"},
    {"name": "VA Avg", "group": "Measurements", "area": "input", "address": "0x0036", "type": "float32", "unit": "VA", "access": "R", "description": "Valid on 3P4W, 3P3W; reads 0 otherwise"},
    {"name": "VA Sum", "group": "Measurements", "area": "input", "address": "0x0038", "type": "float32", "unit": "VA", "access": "R", "description": "Valid on 3P4W, 3P3W; reads 0 otherwise"},
    {"name": "VAr Avg", "group": "Measurements", "area": "input", "address": "0x003A", "type": "float32", "unit": "var", "access": "R", "description": "Valid on 3P4W, 3P3W; reads 0 otherwise"},
    {"name": "VAr Sum", "group": "Measurements", "area": "input", "address": "0x003C", "type": "float32", "unit": "var", "access": "R", "description": "Valid on 3P4W, 3P3W; reads 0 otherwise"},
    {"name": "PF Avg", "group": "Measurements", "area": "input", "address": "0x003E", "type": "float32", "access": "R", "description": "Valid on 3P4W, 3P3W; reads 0 otherwise"},
    {"name": "PF Sum", "group": "Measurements", "area": "input", "address": "0x0040", "type": "float32", "access": "R", "description": "Valid on 3P4W; reads 0 otherwise"},
    {"name": "Phase Angle Avg", "group": "Measurements", "area": "input", "address": "0x0042", "type": "float32", "unit": "°", "access": "R", "description": "Valid on 3P4W, 3P3W; reads 0 otherwise"},
    {"name": "Phase Angle Sum", "group": "Measurements", "area": "input", "address": "0x0044", "type": "float32", "unit": "°", "access": "R", "description": "Valid on 3P4W; reads 0 otherwise"},
    {"name": "Freq", "group": "Measurements", "area": "input", "address": "0x0046", "type": "float32", "unit": "Hz", "access": "R"},
    {"name": "Wh Import", "group": "Energy", "area": "input", "address": "0x0048", "type": "float32", "access": "R"},
    {"name": "Wh Export", "group": "Energy", "area": "input", "address": "0x004A", "type": "float32", "access": "R"},
    {"name": "VARh Import", "group": "Energy", "area": "input", "address": "0x004C", "type": "float32", "access": "R"},
    {"name": "VARh Export", "group": "Energy", "area": "input", "address": "0x004E", "type": "float32", "access": "R"},
    {"name": "VAh", "group": "Energy", "area": "input", "address": "0x0050", "type": "float32", "access": "R"},
    {"name": "Ah", "group": "Energy", "area": "input", "address": "0x0052", "type": "float32", "access": "R"},
    {"name": "W Demand (Import)", "group": "Demand", "area": "input", "address": "0x0054", "type": "float32", "unit": "W", "access": "R"},
    {"name": "W Max Demand (Import)", "group": "Demand", "area": "input", "address": "0x0056", "type": "float32", "unit": "W", "access": "R"},
    {"name": "W Demand (Export)", "group": "Demand", "area": "input", "address": "0x0058", "type": "float32", "unit": "W", "access": "R"},
    {"name": "W Max Demand (Export)", "group": "Demand", "area": "input", "address": "0x005A", "type": "float32", "unit": "W", "access": "R"},
    {"name": "VA Demand", "group": "Demand", "area": "input", "address": "0x0064", "type": "float32", "unit": "VA", "access": "R"},
    {"name": "VA Max Demand", "group": "Demand", "area": "input", "address": "0x0066", "type": "float32", "unit": "VA", "access": "R"},
    {"name": "A Demand", "group": "Demand", "area": "input", "address": "0x0068", "type": "float32", "unit": "A", "access": "R"},
    {"name": "A Max Demand", "group": "Demand", "area": "input", "address": "0x006A", "type": "float32", "unit": "A", "access": "R"},
    {"name": "Model Number", "group": "Measurements", "area": "input", "address": "0x00C4", "type": "float32", "access": "R", "description": "Model code"},
    {"name": "Version Number", "group": "Measurements", "area": "input", "address": "0x00C6", "type": "float32", "access": "R"},
    {"name": "VL 1 - 2 (Calculated)", "group": "Measurements", "area": "input", "address": "0x00C8", "type": "float32", "unit": "V", "access": "R", "description": "Valid on 3P4W; reads 0 otherwise"},
    {"name": "VL 2 - 3 (Calculated)", "group": "Measurements", "area": "input", "address": "0x00CA", "type": "float32", "unit": "V", "access": "R", "description": "Valid on 3P4W; reads 0 otherwise"},
    {"name": "VL 3 - 1 (Calculated)", "group": "Measurements", "area": "input", "address": "0x00CC", "type": "float32", "unit": "V", "access": "R", "description": "Valid on 3P4W; reads 0 otherwise"},
    {"name": "V1 THD(%)", "group": "Measurements", "area": "input", "address": "0x00CE", "type": "float32", "unit": "%", "access": "R", "description": "Valid on 3P4W, 3P3W; reads 0 otherwise"},
    {"name": "V2 THD(%)", "group": "Measurements", "area": "input", "address": "0x00D0", "type": "float32", "unit": "%", "access": "R", "description": "Valid on 3P4W, 3P3W; reads 0 otherwise"},
    {"name": "V3 THD(%)", "group": "Measurements", "area": "input", "address": "0x00D2", "type": "float32", "unit": "%", "access": "R", "description": "Valid on 3P4W, 3P3W; reads 0 otherwise"},
    {"name": "I1 THD(%)", "group": "Measurements", "area": "input", "address": "0x00D4", "type": "float32", "unit": "%", "access": "R", "description": "Valid on 3P4W, 3P3W; reads 0 otherwise"},
    {"name": "I2 THD(%)", "group": "Measurements", "area": "input", "address": "0x00D6", "type": "float32", "unit": "%", "access": "R", "description": "Valid on 3P4W, 3P3W; reads 0 otherwise"},
    {"name": "I3 THD(%)", "group": "Measurements", "area": "input", "address": "0x00D8", "type": "float32", "unit": "%", "access": "R", "description": "Valid on 3P4W, 3P3W; reads 0 otherwise"},
    {"name": "System Voltage THD(%)", "group": "Measurements", "area": "input", "address": "0x00DA", "type": "float32", "unit": "%", "access": "R"},
    {"name": "System Current THD(%)", "group": "Measurements", "area": "input", "address": "0x00DC", "type": "float32", "unit": "%", "access": "R"},
    {"name": "I neutral", "group": "Measurements", "area": "input", "address": "0x00E0", "type": "float32", "unit": "A", "access": "R", "description": "Valid on 1P2W, 3P4W; reads 0 otherwise"},
    {"name": "Run Hour", "group": "Counters", "area": "input", "address": "0x00E2", "type": "float32", "unit": "h", "access": "R"},
    {"name": "On Hour", "group": "Counters", "area": "input", "address": "0x00E4", "type": "float32", "unit": "h", "access": "R"},
    {"name": "No. Of Interrupts", "group": "Counters", "area": "input", "address": "0x00E6", "type": "float32", "access": "R"}
  ]
}
