{ "$schema": "https://raw.githubusercontent.com/nobrega8/mbmap-library/main/schema/mbmap-2.schema.json", "mbmap": 2, "vendor": "Finder", "model": "7M.24", "models": ["7M.24.8.230.0210"], "vendor_website": "findernet.com", "description": "Finder 7M.24 single-phase DIN rail energy meter, Modbus RTU over RS-485 (variant 0210)", "revision": 2, "revised": "2026-10-17", "source": "Finder, \"Modbus communication protocol 7M24 - 7M38\", v2, 30-06-2021; \"7M.24 instruction sheet\" (IB7M24, 05/25)", "sources": [{"title": "Modbus communication protocol 7M24 - 7M38", "version": "v2, 30-06-2021", "url": "https://cdn.findernet.com/app/uploads/Modbus-7M24-7M38_v2_30062021.pdf", "note": "7M24 section"}, {"title": "7M.24 instruction sheet", "version": "IB7M24 05/25", "url": "https://cdn.findernet.com/app/uploads/IB7M24EN.pdf", "note": "RS-485 defaults"}], "notes": [ "Addresses are register numbers minus 30000 (input registers, FC04) or 40000 (holding registers): register 30107 is address 107.", "Defaults (instruction sheet): address 33, 19200 baud, 8 data bits, no parity, 2 stop bits.", "This map uses the IEEE 754 float copies of the measurements (32480 onwards); the protocol also has scaled-integer copies (30101-30485) and average, maximum and minimum blocks, which are not included.", "Energy counters n1-n4 count what their settings select (by default active and reactive, import and export).", "Settings marked with a password level need the user password written to 40001 first." ], "protocol": "rtu", "unit_id": 33, "baudrate": 19200, "parity": "N", "databits": 8, "stopbits": 2, "byte_order": "big", "word_order": "big", "address_base": 0, "x_status": "official", "registers": [ {"name": "Model number", "group": "Device", "area": "input", "address": 1, "type": "string", "length": 8, "access": "R", "role": "model"}, {"name": "Serial number", "group": "Device", "area": "input", "address": 9, "type": "string", "length": 4, "access": "R", "role": "serial"}, {"name": "Software reference", "group": "Device", "area": "input", "address": 13, "type": "uint16", "access": "R", "role": "firmware"}, {"name": "Hardware reference", "group": "Device", "area": "input", "address": 14, "type": "string", "length": 1, "access": "R"}, {"name": "Accuracy class", "group": "Device", "area": "input", "address": 19, "type": "int16", "scale": 0.01, "access": "R"}, {"name": "COM1 communication type", "group": "Device", "area": "input", "address": 24, "type": "uint16", "access": "R", "enum": {"0": "No communication", "2": "RS-485", "13": "M-bus"}}, {"name": "Status register", "group": "Device", "area": "input", "address": 44, "type": "uint16", "access": "R", "description": "Bit 0: locked; bit 4: clock not set"}, {"name": "MID lock status", "group": "Device", "area": "input", "address": 76, "type": "uint16", "access": "R", "enum": {"0": "Unlocked", "1": "Locked"}}, {"name": "Modbus max. registers per read", "group": "Device", "area": "input", "address": 99, "type": "uint16", "access": "R"}, {"name": "Checksum status", "group": "Device", "area": "input", "address": 400, "type": "uint16", "access": "R", "description": "0 = no error; bit 0 parameter CRC, bit 1 firmware CRC, bit 2 MID lock, bits 6-10 checksum errors"}, {"name": "Run time", "group": "Measurements", "area": "input", "address": 2480, "type": "float32", "unit": "s", "access": "R"}, {"name": "Average phase voltage", "group": "Measurements", "area": "input", "address": 2484, "type": "float32", "unit": "V", "access": "R"}, {"name": "Sum of currents", "group": "Measurements", "area": "input", "address": 2488, "type": "float32", "unit": "A", "access": "R"}, {"name": "Total active power", "group": "Measurements", "area": "input", "address": 2490, "type": "float32", "unit": "W", "access": "R"}, {"name": "Total reactive power", "group": "Measurements", "area": "input", "address": 2492, "type": "float32", "unit": "var", "access": "R"}, {"name": "Total apparent power", "group": "Measurements", "area": "input", "address": 2494, "type": "float32", "unit": "VA", "access": "R"}, {"name": "Total power factor", "group": "Measurements", "area": "input", "address": 2496, "type": "float32", "access": "R"}, {"name": "Frequency", "group": "Measurements", "area": "input", "address": 2498, "type": "float32", "unit": "Hz", "access": "R"}, {"name": "Voltage U1", "group": "Measurements", "area": "input", "address": 2500, "type": "float32", "unit": "V", "access": "R"}, {"name": "Current I1", "group": "Measurements", "area": "input", "address": 2516, "type": "float32", "unit": "A", "access": "R"}, {"name": "Active power L1", "group": "Measurements", "area": "input", "address": 2530, "type": "float32", "unit": "W", "access": "R"}, {"name": "Reactive power L1", "group": "Measurements", "area": "input", "address": 2538, "type": "float32", "unit": "var", "access": "R"}, {"name": "Apparent power L1", "group": "Measurements", "area": "input", "address": 2546, "type": "float32", "unit": "VA", "access": "R"}, {"name": "Power factor L1", "group": "Measurements", "area": "input", "address": 2554, "type": "float32", "access": "R"}, {"name": "CAP/IND power factor L1", "group": "Measurements", "area": "input", "address": 2562, "type": "float32", "access": "R"}, {"name": "CAP/IND power factor, total", "group": "Measurements", "area": "input", "address": 2568, "type": "float32", "access": "R"}, {"name": "Angle between U1 and I1", "group": "Measurements", "area": "input", "address": 2570, "type": "float32", "unit": "°", "access": "R"}, {"name": "Total power angle", "group": "Measurements", "area": "input", "address": 2576, "type": "float32", "unit": "°", "access": "R"}, {"name": "I1 THD", "group": "Measurements", "area": "input", "address": 2588, "type": "float32", "unit": "%", "access": "R"}, {"name": "U1 THD", "group": "Measurements", "area": "input", "address": 2594, "type": "float32", "unit": "%", "access": "R"}, {"name": "Internal temperature", "group": "Measurements", "area": "input", "address": 2658, "type": "float32", "unit": "°C", "access": "R"}, {"name": "Active tariff", "group": "Energy", "area": "input", "address": 2750, "type": "float32", "access": "R"}, {"name": "Energy counter n1", "group": "Energy", "area": "input", "address": 2752, "type": "float32", "unit": "Wh", "access": "R", "description": "Default: active import"}, {"name": "Energy counter n2", "group": "Energy", "area": "input", "address": 2754, "type": "float32", "unit": "varh", "access": "R", "description": "Default: reactive import"}, {"name": "Energy counter n3", "group": "Energy", "area": "input", "address": 2756, "type": "float32", "unit": "Wh", "access": "R", "description": "Default: active export"}, {"name": "Energy counter n4", "group": "Energy", "area": "input", "address": 2758, "type": "float32", "unit": "varh", "access": "R", "description": "Default: reactive export"}, {"name": "Energy counter 1", "group": "Energy", "area": "input", "address": 2760, "type": "float32", "access": "R", "description": "VAh, varh or Wh depending on its settings"}, {"name": "Energy counter 2", "group": "Energy", "area": "input", "address": 2762, "type": "float32", "access": "R", "description": "VAh, varh or Wh depending on its settings"}, {"name": "Energy counter 3", "group": "Energy", "area": "input", "address": 2764, "type": "float32", "access": "R", "description": "VAh, varh or Wh depending on its settings"}, {"name": "Energy counter 4", "group": "Energy", "area": "input", "address": 2766, "type": "float32", "access": "R", "description": "VAh, varh or Wh depending on its settings"}, {"name": "Energy counter 5", "group": "Energy", "area": "input", "address": 2768, "type": "float32", "access": "R", "description": "VAh, varh or Wh depending on its settings"}, {"name": "Energy counter 6", "group": "Energy", "area": "input", "address": 2770, "type": "float32", "access": "R", "description": "VAh, varh or Wh depending on its settings"}, {"name": "Energy counter 7", "group": "Energy", "area": "input", "address": 2772, "type": "float32", "access": "R", "description": "VAh, varh or Wh depending on its settings"}, {"name": "Energy counter 8", "group": "Energy", "area": "input", "address": 2774, "type": "float32", "access": "R", "description": "VAh, varh or Wh depending on its settings"}, {"name": "Nominal phase voltage", "group": "Nominal values", "area": "input", "address": 2985, "type": "float32", "unit": "V", "access": "R"}, {"name": "Nominal phase current", "group": "Nominal values", "area": "input", "address": 2987, "type": "float32", "unit": "A", "access": "R"}, {"name": "Nominal phase power", "group": "Nominal values", "area": "input", "address": 2989, "type": "float32", "unit": "W", "access": "R"}, {"name": "Nominal total power", "group": "Nominal values", "area": "input", "address": 2991, "type": "float32", "unit": "W", "access": "R"}, {"name": "Nominal total current", "group": "Nominal values", "area": "input", "address": 2993, "type": "float32", "unit": "A", "access": "R"}, {"name": "Nominal frequency", "group": "Nominal values", "area": "input", "address": 2995, "type": "float32", "unit": "Hz", "access": "R"}, {"name": "User password", "group": "Commands", "area": "holding", "address": 1, "type": "string", "length": 2, "access": "W", "description": "Four letters A-Z; raises the access level"}, {"name": "Active access level", "group": "Commands", "area": "holding", "address": 10, "type": "uint16", "access": "R"}, {"name": "Operator command", "group": "Commands", "area": "holding", "address": 12, "type": "uint16", "access": "W", "enum": {"1": "Save settings", "2": "Abort settings", "3": "Restart instrument"}}, {"name": "Select active tariff", "group": "Commands", "area": "holding", "address": 30, "type": "uint16", "access": "RW", "write_min": 1, "write_max": 6}, {"name": "Reset energy counters", "group": "Commands", "area": "holding", "address": 31, "type": "uint16", "access": "W", "description": "Bits 0-7 reset counters 1-8"}, {"name": "Port 1 Modbus address", "group": "Communication", "area": "holding", "address": 202, "type": "uint16", "access": "RW", "write_min": 1, "write_max": 247}, {"name": "Port 1 baud rate", "group": "Communication", "area": "holding", "address": 203, "type": "uint16", "access": "RW", "enum": {"0": "1200", "1": "2400", "2": "4800", "3": "9600", "4": "19200", "5": "38400", "6": "57600", "7": "115200"}}, {"name": "Port 1 stop bits", "group": "Communication", "area": "holding", "address": 204, "type": "uint16", "access": "RW", "enum": {"0": "1 stop bit", "1": "2 stop bits"}}, {"name": "Port 1 parity", "group": "Communication", "area": "holding", "address": 205, "type": "uint16", "access": "RW", "enum": {"0": "None", "1": "Odd", "2": "Even"}}, {"name": "LCD backlight intensity", "group": "Display", "area": "holding", "address": 172, "type": "uint16", "access": "RW", "write_min": 0, "write_max": 10, "description": "0 = no backlight"}, {"name": "LCD backlight off time", "group": "Display", "area": "holding", "address": 173, "type": "uint16", "unit": "min", "access": "RW", "write_min": 0, "write_max": 60, "description": "0 = always on"}, {"name": "LCD scroll interval", "group": "Display", "area": "holding", "address": 174, "type": "uint16", "unit": "s", "access": "RW", "write_min": 5, "write_max": 60} ] }