{
  "$schema": "https://raw.githubusercontent.com/nobrega8/mbmap-library/main/schema/mbmap-2.schema.json",
  "mbmap": 2,
  "vendor": "IME",
  "model": "Nemo 96",
  "models": ["Nemo 96HD", "Nemo 96HD+", "Nemo 96 HD"],
  "vendor_website": "imeitaly.com",
  "description": "96 mm panel multifunction meter Nemo 96HD/HD+ with the RS-485 Modbus module",
  "revision": 2,
  "revised": "2026-10-17",
  "firmware_min": "2.30",
  "source": "IME, \"Nemo 96HD/HD+ Modbus communication protocol\", PR 106 rev. 4 (2012-12-18), firmware 2.30 and later",
  "sources": [{"title": "Multifunction Nemo 96HD/HD+ Modbus communication protocol", "version": "PR 106 rev. 4", "date": "2012-12-18", "url": "https://www.rayleigh.com/media/uploads/PR106.pdf", "note": "section 4.0, second address table (0x1000-0x152E)"}],
  "notes": [
    "Read with FC03; 32-bit values are most significant word first. Values marked BYTE in the protocol are sent as a word with a zero high byte.",
    "Powers in the 0x1000 block are W/var/VA divided by 100 when KTA x KTV < 5000 and in W/var/VA otherwise; the signed powers at 0x1518 are always W/var.",
    "Energies are split into a low part in Wh (up to 999999) and a high part in MWh.",
    "Not in this map: the first address table (0x0301-0x03FF), which carries the same values, and the setup and module parameter blocks (0x2000-0x2700)."
  ],
  "protocol": "rtu",
  "unit_id": 1,
  "databits": 8,
  "stopbits": 1,
  "byte_order": "big",
  "word_order": "big",
  "address_base": 0,
  "x_status": "official",
  "registers": [
    {"name": "L1 phase voltage", "group": "Measurements", "area": "holding", "address": "0x1000", "type": "uint32", "scale": 0.001, "unit": "V", "access": "R"},
    {"name": "L2 phase voltage", "group": "Measurements", "area": "holding", "address": "0x1002", "type": "uint32", "scale": 0.001, "unit": "V", "access": "R"},
    {"name": "L3 phase voltage", "group": "Measurements", "area": "holding", "address": "0x1004", "type": "uint32", "scale": 0.001, "unit": "V", "access": "R"},
    {"name": "L1 current", "group": "Measurements", "area": "holding", "address": "0x1006", "type": "uint32", "scale": 0.001, "unit": "A", "access": "R"},
    {"name": "L2 current", "group": "Measurements", "area": "holding", "address": "0x1008", "type": "uint32", "scale": 0.001, "unit": "A", "access": "R"},
    {"name": "L3 current", "group": "Measurements", "area": "holding", "address": "0x100A", "type": "uint32", "scale": 0.001, "unit": "A", "access": "R"},
    {"name": "Neutral current", "group": "Measurements", "area": "holding", "address": "0x100C", "type": "uint32", "scale": 0.001, "unit": "A", "access": "R"},
    {"name": "Voltage L1-L2", "group": "Measurements", "area": "holding", "address": "0x100E", "type": "uint32", "scale": 0.001, "unit": "V", "access": "R"},
    {"name": "Voltage L2-L3", "group": "Measurements", "area": "holding", "address": "0x1010", "type": "uint32", "scale": 0.001, "unit": "V", "access": "R"},
    {"name": "Voltage L3-L1", "group": "Measurements", "area": "holding", "address": "0x1012", "type": "uint32", "scale": 0.001, "unit": "V", "access": "R"},
    {"name": "Total active power", "group": "Measurements", "area": "holding", "address": "0x1014", "type": "uint32", "access": "R", "description": "W, var or VA divided by 100 when KTA x KTV < 5000, otherwise W, var or VA"},
    {"name": "Total reactive power", "group": "Measurements", "area": "holding", "address": "0x1016", "type": "uint32", "access": "R", "description": "W, var or VA divided by 100 when KTA x KTV < 5000, otherwise W, var or VA"},
    {"name": "Total apparent power", "group": "Measurements", "area": "holding", "address": "0x1018", "type": "uint32", "access": "R", "description": "W, var or VA divided by 100 when KTA x KTV < 5000, otherwise W, var or VA"},
    {"name": "Total sign of active power", "group": "Measurements", "area": "holding", "address": "0x101A", "type": "uint16", "access": "R", "description": "W, var or VA / 100 when KTA x KTV < 5000, otherwise W, var or VA", "enum": {"0": "Positive", "1": "Negative"}},
    {"name": "Total sign of reactive power", "group": "Measurements", "area": "holding", "address": "0x101B", "type": "uint16", "access": "R", "description": "W, var or VA / 100 when KTA x KTV < 5000, otherwise W, var or VA", "enum": {"0": "Positive", "1": "Negative"}},
    {"name": "Total positive active energy", "group": "Energy", "area": "holding", "address": "0x101C", "type": "uint32", "access": "R", "description": "Unit depends on KTA x KTV (protocol note 4): from Wh x 10 to kWh x 100"},
    {"name": "Total positive reactive energy", "group": "Energy", "area": "holding", "address": "0x101E", "type": "uint32", "access": "R", "description": "Unit depends on KTA x KTV (protocol note 4): from Wh x 10 to kWh x 100"},
    {"name": "Total negative active energy", "group": "Energy", "area": "holding", "address": "0x1020", "type": "uint32", "access": "R", "description": "Unit depends on KTA x KTV (protocol note 4): from Wh x 10 to kWh x 100"},
    {"name": "Total negative reactive energy", "group": "Energy", "area": "holding", "address": "0x1022", "type": "uint32", "access": "R", "description": "Unit depends on KTA x KTV (protocol note 4): from Wh x 10 to kWh x 100"},
    {"name": "Total power factor", "group": "Measurements", "area": "holding", "address": "0x1024", "type": "uint16", "scale": 0.01, "access": "R"},
    {"name": "Total sector of power factor (cap or ind)", "group": "Measurements", "area": "holding", "address": "0x1025", "type": "uint16", "access": "R", "enum": {"1": "Inductive", "2": "Capacitive"}},
    {"name": "Frequency", "group": "Measurements", "area": "holding", "address": "0x1026", "type": "uint16", "scale": 0.1, "unit": "Hz", "access": "R"},
    {"name": "Total average power", "group": "Measurements", "area": "holding", "address": "0x1027", "type": "uint32", "access": "R", "description": "W, var or VA divided by 100 when KTA x KTV < 5000, otherwise W, var or VA"},
    {"name": "Total peak maximum demand", "group": "Measurements", "area": "holding", "address": "0x1029", "type": "uint32", "access": "R", "description": "W, var or VA divided by 100 when KTA x KTV < 5000, otherwise W, var or VA"},
    {"name": "Time counter for average power", "group": "Measurements", "area": "holding", "address": "0x102B", "type": "uint16", "unit": "min", "access": "R"},
    {"name": "L1 active power", "group": "Measurements", "area": "holding", "address": "0x102C", "type": "uint32", "access": "R", "description": "W, var or VA divided by 100 when KTA x KTV < 5000, otherwise W, var or VA"},
    {"name": "L2 active power", "group": "Measurements", "area": "holding", "address": "0x102E", "type": "uint32", "access": "R", "description": "W, var or VA divided by 100 when KTA x KTV < 5000, otherwise W, var or VA"},
    {"name": "L3 active power", "group": "Measurements", "area": "holding", "address": "0x1030", "type": "uint32", "access": "R", "description": "W, var or VA divided by 100 when KTA x KTV < 5000, otherwise W, var or VA"},
    {"name": "L1 sign of active power", "group": "Measurements", "area": "holding", "address": "0x1032", "type": "uint16", "access": "R", "description": "W, var or VA / 100 when KTA x KTV < 5000, otherwise W, var or VA", "enum": {"0": "Positive", "1": "Negative"}},
    {"name": "L2 sign of active power", "group": "Measurements", "area": "holding", "address": "0x1033", "type": "uint16", "access": "R", "description": "W, var or VA / 100 when KTA x KTV < 5000, otherwise W, var or VA", "enum": {"0": "Positive", "1": "Negative"}},
    {"name": "L3 sign of active power", "group": "Measurements", "area": "holding", "address": "0x1034", "type": "uint16", "access": "R", "description": "W, var or VA / 100 when KTA x KTV < 5000, otherwise W, var or VA", "enum": {"0": "Positive", "1": "Negative"}},
    {"name": "L1 reactive power", "group": "Measurements", "area": "holding", "address": "0x1035", "type": "uint32", "access": "R", "description": "W, var or VA divided by 100 when KTA x KTV < 5000, otherwise W, var or VA"},
    {"name": "L2 reactive power", "group": "Measurements", "area": "holding", "address": "0x1037", "type": "uint32", "access": "R", "description": "W, var or VA divided by 100 when KTA x KTV < 5000, otherwise W, var or VA"},
    {"name": "L3 reactive power", "group": "Measurements", "area": "holding", "address": "0x1039", "type": "uint32", "access": "R", "description": "W, var or VA divided by 100 when KTA x KTV < 5000, otherwise W, var or VA"},
    {"name": "L1 sign of reactive power", "group": "Measurements", "area": "holding", "address": "0x103B", "type": "uint16", "access": "R", "description": "W, var or VA / 100 when KTA x KTV < 5000, otherwise W, var or VA", "enum": {"0": "Positive", "1": "Negative"}},
    {"name": "L2 sign of reactive power", "group": "Measurements", "area": "holding", "address": "0x103C", "type": "uint16", "access": "R", "description": "W, var or VA / 100 when KTA x KTV < 5000, otherwise W, var or VA", "enum": {"0": "Positive", "1": "Negative"}},
    {"name": "L3 sign of reactive power", "group": "Measurements", "area": "holding", "address": "0x103D", "type": "uint16", "access": "R", "description": "W, var or VA / 100 when KTA x KTV < 5000, otherwise W, var or VA", "enum": {"0": "Positive", "1": "Negative"}},
    {"name": "L1 apparent power", "group": "Measurements", "area": "holding", "address": "0x103E", "type": "uint32", "access": "R", "description": "W, var or VA divided by 100 when KTA x KTV < 5000, otherwise W, var or VA"},
    {"name": "L2 apparent power", "group": "Measurements", "area": "holding", "address": "0x1040", "type": "uint32", "access": "R", "description": "W, var or VA divided by 100 when KTA x KTV < 5000, otherwise W, var or VA"},
    {"name": "L3 apparent power", "group": "Measurements", "area": "holding", "address": "0x1042", "type": "uint32", "access": "R", "description": "W, var or VA divided by 100 when KTA x KTV < 5000, otherwise W, var or VA"},
    {"name": "L1 power factor", "group": "Measurements", "area": "holding", "address": "0x1044", "type": "uint16", "scale": 0.01, "access": "R"},
    {"name": "L2 power factor", "group": "Measurements", "area": "holding", "address": "0x1045", "type": "uint16", "scale": 0.01, "access": "R"},
    {"name": "L3 power factor", "group": "Measurements", "area": "holding", "address": "0x1046", "type": "uint16", "scale": 0.01, "access": "R"},
    {"name": "L1 power factor sector", "group": "Measurements", "area": "holding", "address": "0x1047", "type": "uint16", "access": "R", "enum": {"1": "Inductive", "2": "Capacitive"}},
    {"name": "L2 power factor sector", "group": "Measurements", "area": "holding", "address": "0x1048", "type": "uint16", "access": "R", "enum": {"1": "Inductive", "2": "Capacitive"}},
    {"name": "L3 power factor sector", "group": "Measurements", "area": "holding", "address": "0x1049", "type": "uint16", "access": "R", "enum": {"1": "Inductive", "2": "Capacitive"}},
    {"name": "L1 THD V1", "group": "Measurements", "area": "holding", "address": "0x104A", "type": "uint16", "unit": "%", "access": "R"},
    {"name": "L2 THD V2", "group": "Measurements", "area": "holding", "address": "0x104B", "type": "uint16", "unit": "%", "access": "R"},
    {"name": "L3 THD V3", "group": "Measurements", "area": "holding", "address": "0x104C", "type": "uint16", "unit": "%", "access": "R"},
    {"name": "L1 THD I1", "group": "Measurements", "area": "holding", "address": "0x104D", "type": "uint16", "unit": "%", "access": "R"},
    {"name": "L2 THD I2", "group": "Measurements", "area": "holding", "address": "0x104E", "type": "uint16", "unit": "%", "access": "R"},
    {"name": "L3 THD I3", "group": "Measurements", "area": "holding", "address": "0x104F", "type": "uint16", "unit": "%", "access": "R"},
    {"name": "L1 I1 average", "group": "Measurements", "area": "holding", "address": "0x1050", "type": "uint32", "scale": 0.001, "unit": "A", "access": "R"},
    {"name": "L2 I2 average", "group": "Measurements", "area": "holding", "address": "0x1052", "type": "uint32", "scale": 0.001, "unit": "A", "access": "R"},
    {"name": "L3 I3 average", "group": "Measurements", "area": "holding", "address": "0x1054", "type": "uint32", "scale": 0.001, "unit": "A", "access": "R"},
    {"name": "L1 I1 peak maximum", "group": "Measurements", "area": "holding", "address": "0x1056", "type": "uint32", "scale": 0.001, "unit": "A", "access": "R"},
    {"name": "L2 I2 peak maximum", "group": "Measurements", "area": "holding", "address": "0x1058", "type": "uint32", "scale": 0.001, "unit": "A", "access": "R"},
    {"name": "L3 I3 peak maximum", "group": "Measurements", "area": "holding", "address": "0x105A", "type": "uint32", "scale": 0.001, "unit": "A", "access": "R"},
    {"name": "(I1+I2+I3)/3", "group": "Measurements", "area": "holding", "address": "0x105C", "type": "uint32", "scale": 0.001, "unit": "A", "access": "R"},
    {"name": "L1 V1 min", "group": "Measurements", "area": "holding", "address": "0x105E", "type": "uint32", "scale": 0.001, "unit": "V", "access": "R"},
    {"name": "L2 V2 min", "group": "Measurements", "area": "holding", "address": "0x1060", "type": "uint32", "scale": 0.001, "unit": "V", "access": "R"},
    {"name": "L3 V3 min", "group": "Measurements", "area": "holding", "address": "0x1062", "type": "uint32", "scale": 0.001, "unit": "V", "access": "R"},
    {"name": "L1 V1 max", "group": "Measurements", "area": "holding", "address": "0x1064", "type": "uint32", "scale": 0.001, "unit": "V", "access": "R"},
    {"name": "L2 V2 max", "group": "Measurements", "area": "holding", "address": "0x1066", "type": "uint32", "scale": 0.001, "unit": "V", "access": "R"},
    {"name": "L3 V3 max", "group": "Measurements", "area": "holding", "address": "0x1068", "type": "uint32", "scale": 0.001, "unit": "V", "access": "R"},
    {"name": "Total active partial energy", "group": "Energy", "area": "holding", "address": "0x106A", "type": "uint32", "access": "R", "description": "Unit depends on KTA x KTV (protocol note 4): from Wh x 10 to kWh x 100"},
    {"name": "Total reactive partial energy", "group": "Energy", "area": "holding", "address": "0x106C", "type": "uint32", "access": "R", "description": "Unit depends on KTA x KTV (protocol note 4): from Wh x 10 to kWh x 100"},
    {"name": "Operating timer counter", "group": "Measurements", "area": "holding", "address": "0x106E", "type": "uint16", "unit": "h", "access": "R"},
    {"name": "Output relay status", "group": "Measurements", "area": "holding", "address": "0x106F", "type": "uint16", "access": "R"},
    {"name": "Total active average power", "group": "Measurements", "area": "holding", "address": "0x1070", "type": "uint32", "access": "R", "description": "W, var or VA divided by 100 when KTA x KTV < 5000, otherwise W, var or VA"},
    {"name": "Total reactive average power", "group": "Measurements", "area": "holding", "address": "0x1072", "type": "uint32", "access": "R", "description": "W, var or VA divided by 100 when KTA x KTV < 5000, otherwise W, var or VA"},
    {"name": "Total apparent average power", "group": "Measurements", "area": "holding", "address": "0x1074", "type": "uint32", "access": "R", "description": "W, var or VA divided by 100 when KTA x KTV < 5000, otherwise W, var or VA"},
    {"name": "Total active PMD power", "group": "Measurements", "area": "holding", "address": "0x1076", "type": "uint32", "access": "R", "description": "W, var or VA divided by 100 when KTA x KTV < 5000, otherwise W, var or VA"},
    {"name": "Total reactive PMD power", "group": "Measurements", "area": "holding", "address": "0x1078", "type": "uint32", "access": "R", "description": "W, var or VA divided by 100 when KTA x KTV < 5000, otherwise W, var or VA"},
    {"name": "Total apparent PMD power", "group": "Measurements", "area": "holding", "address": "0x107A", "type": "uint32", "access": "R", "description": "W, var or VA divided by 100 when KTA x KTV < 5000, otherwise W, var or VA"},
    {"name": "Current transformer ratio (KTA)", "group": "Setup", "area": "holding", "address": "0x1200", "type": "uint16", "access": "R"},
    {"name": "Voltage transformer ratio (KTV)", "group": "Setup", "area": "holding", "address": "0x1201", "type": "uint16", "scale": 0.1, "access": "R"},
    {"name": "Device configuration", "group": "Setup", "area": "holding", "address": "0x1202", "type": "uint32", "access": "R"},
    {"name": "Device identifier", "group": "Setup", "area": "holding", "address": "0x1204", "type": "uint16", "access": "R", "reference": "0x10"},
    {"name": "Voltages sequence diagnostic", "group": "Setup", "area": "holding", "address": "0x1205", "type": "uint16", "access": "R", "enum": {"1": "OK", "2": "Error"}},
    {"name": "Low Positive Active Energy", "group": "Energy", "area": "holding", "address": "0x1500", "type": "uint32", "scale": 0.001, "unit": "kWh", "access": "R", "description": "Low part, in Wh up to 999999"},
    {"name": "High Positive Active Energy", "group": "Energy", "area": "holding", "address": "0x1502", "type": "uint32", "unit": "MWh", "access": "R", "description": "High part, in MWh"},
    {"name": "Low Positive Reactive Energy", "group": "Energy", "area": "holding", "address": "0x1504", "type": "uint32", "scale": 0.001, "unit": "kvarh", "access": "R", "description": "Low part, in Wh up to 999999"},
    {"name": "High Positive Reactive Energy", "group": "Energy", "area": "holding", "address": "0x1506", "type": "uint32", "unit": "Mvarh", "access": "R", "description": "High part, in MWh"},
    {"name": "Low Negative Active Energy", "group": "Energy", "area": "holding", "address": "0x1508", "type": "uint32", "scale": 0.001, "unit": "kWh", "access": "R", "description": "Low part, in Wh up to 999999"},
    {"name": "High Negative Active Energy", "group": "Energy", "area": "holding", "address": "0x150A", "type": "uint32", "unit": "MWh", "access": "R", "description": "High part, in MWh"},
    {"name": "Low Negative Reactive Energy", "group": "Energy", "area": "holding", "address": "0x150C", "type": "uint32", "scale": 0.001, "unit": "kvarh", "access": "R", "description": "Low part, in Wh up to 999999"},
    {"name": "High Negative Reactive Energy", "group": "Energy", "area": "holding", "address": "0x150E", "type": "uint32", "unit": "Mvarh", "access": "R", "description": "High part, in MWh"},
    {"name": "Low Partial Active Energy", "group": "Energy", "area": "holding", "address": "0x1510", "type": "uint32", "scale": 0.001, "unit": "kWh", "access": "R", "description": "Low part, in Wh up to 999999"},
    {"name": "High Partial Active Energy", "group": "Energy", "area": "holding", "address": "0x1512", "type": "uint32", "unit": "MWh", "access": "R", "description": "High part, in MWh"},
    {"name": "Low Partial Reactive Energy", "group": "Energy", "area": "holding", "address": "0x1514", "type": "uint32", "scale": 0.001, "unit": "kvarh", "access": "R", "description": "Low part, in Wh up to 999999"},
    {"name": "High Partial Reactive Energy", "group": "Energy", "area": "holding", "address": "0x1516", "type": "uint32", "unit": "Mvarh", "access": "R", "description": "High part, in MWh"},
    {"name": "Signed Total Active Power", "group": "Measurements", "area": "holding", "address": "0x1518", "type": "int32", "unit": "W", "access": "R"},
    {"name": "Signed Total Reactive Power", "group": "Measurements", "area": "holding", "address": "0x151A", "type": "int32", "unit": "var", "access": "R"},
    {"name": "Signed Phase1 Active Power", "group": "Measurements", "area": "holding", "address": "0x151C", "type": "int32", "unit": "W", "access": "R"},
    {"name": "Signed Phase2 Active Power", "group": "Measurements", "area": "holding", "address": "0x151E", "type": "int32", "unit": "W", "access": "R"},
    {"name": "Signed Phase3 Active Power", "group": "Measurements", "area": "holding", "address": "0x1520", "type": "int32", "unit": "W", "access": "R"},
    {"name": "Signed Phase1 Reactive Power", "group": "Measurements", "area": "holding", "address": "0x1522", "type": "int32", "unit": "var", "access": "R"},
    {"name": "Signed Phase2 Reactive Power", "group": "Measurements", "area": "holding", "address": "0x1524", "type": "int32", "unit": "var", "access": "R"},
    {"name": "Signed Phase3 Reactive Power", "group": "Measurements", "area": "holding", "address": "0x1526", "type": "int32", "unit": "var", "access": "R"},
    {"name": "Signed Total Power Factor", "group": "Measurements", "area": "holding", "address": "0x1528", "type": "int32", "scale": 0.001, "access": "R"},
    {"name": "Signed Phase1 Power Factor", "group": "Measurements", "area": "holding", "address": "0x152A", "type": "int32", "scale": 0.001, "access": "R"},
    {"name": "Signed Phase2 Power Factor", "group": "Measurements", "area": "holding", "address": "0x152C", "type": "int32", "scale": 0.001, "access": "R"},
    {"name": "Signed Phase3 Power Factor", "group": "Measurements", "area": "holding", "address": "0x152E", "type": "int32", "scale": 0.001, "access": "R"}
  ]
}
