{ "$schema": "https://raw.githubusercontent.com/nobrega8/mbmap-library/main/schema/mbmap-2.schema.json", "mbmap": 2, "vendor": "F&F", "model": "LE-03MQ", "models": ["LE-03MQ"], "vendor_website": "fif.com.pl", "description": "F&F LE-03MQ three-phase 100(5) A MID energy meter with RS-485 Modbus RTU", "revision": 2, "revised": "2026-10-17", "source": "F&F Filipowski, \"LE-03MQ instrukcja obsługi\" (user manual, Polish), section 9", "sources": [{"title": "LE-03MQ instrukcja obsługi", "url": "https://fif.com.pl/pliki/49/49886/le-03mq-instrukcja-obslugi.pdf", "note": "section 9: Modbus registers"}], "notes": [ "Measurements are float32 input registers (FC04); settings are float32 holding registers (FC03 read, FC16 write, one parameter per write).", "At most 40 values (80 registers) per request.", "Defaults: address 1, 9600 baud, no parity, 1 stop bit.", "Values a wiring type does not provide read 0.", "Corrected from the manual's table: export reactive energy is at 78 (0x4E; the table prints 0x4A) and the line-to-line voltages at 200-206 are in V (the table prints W).", "Names and descriptions are translated from the Polish manual." ], "protocol": "rtu", "unit_id": 1, "baudrate": 9600, "parity": "N", "databits": 8, "stopbits": 1, "byte_order": "big", "word_order": "big", "address_base": 0, "max_read_registers": 80, "x_status": "official", "registers": [ {"name": "Voltage L1-N", "group": "Measurements", "area": "input", "address": 0, "type": "float32", "unit": "V", "access": "R"}, {"name": "Voltage L2-N", "group": "Measurements", "area": "input", "address": 2, "type": "float32", "unit": "V", "access": "R"}, {"name": "Voltage L3-N", "group": "Measurements", "area": "input", "address": 4, "type": "float32", "unit": "V", "access": "R"}, {"name": "Current L1", "group": "Measurements", "area": "input", "address": 6, "type": "float32", "unit": "A", "access": "R"}, {"name": "Current L2", "group": "Measurements", "area": "input", "address": 8, "type": "float32", "unit": "A", "access": "R"}, {"name": "Current L3", "group": "Measurements", "area": "input", "address": 10, "type": "float32", "unit": "A", "access": "R"}, {"name": "Active power L1", "group": "Measurements", "area": "input", "address": 12, "type": "float32", "unit": "W", "access": "R"}, {"name": "Active power L2", "group": "Measurements", "area": "input", "address": 14, "type": "float32", "unit": "W", "access": "R"}, {"name": "Active power L3", "group": "Measurements", "area": "input", "address": 16, "type": "float32", "unit": "W", "access": "R"}, {"name": "Apparent power L1", "group": "Measurements", "area": "input", "address": 18, "type": "float32", "unit": "VA", "access": "R"}, {"name": "Apparent power L2", "group": "Measurements", "area": "input", "address": 20, "type": "float32", "unit": "VA", "access": "R"}, {"name": "Apparent power L3", "group": "Measurements", "area": "input", "address": 22, "type": "float32", "unit": "VA", "access": "R"}, {"name": "Reactive power L1", "group": "Measurements", "area": "input", "address": 24, "type": "float32", "unit": "var", "access": "R"}, {"name": "Reactive power L2", "group": "Measurements", "area": "input", "address": 26, "type": "float32", "unit": "var", "access": "R"}, {"name": "Reactive power L3", "group": "Measurements", "area": "input", "address": 28, "type": "float32", "unit": "var", "access": "R"}, {"name": "Power factor L1", "group": "Measurements", "area": "input", "address": 30, "type": "float32", "access": "R"}, {"name": "Power factor L2", "group": "Measurements", "area": "input", "address": 32, "type": "float32", "access": "R"}, {"name": "Power factor L3", "group": "Measurements", "area": "input", "address": 34, "type": "float32", "access": "R"}, {"name": "Phase angle L1", "group": "Measurements", "area": "input", "address": 36, "type": "float32", "unit": "°", "access": "R"}, {"name": "Phase angle L2", "group": "Measurements", "area": "input", "address": 38, "type": "float32", "unit": "°", "access": "R"}, {"name": "Phase angle L3", "group": "Measurements", "area": "input", "address": 40, "type": "float32", "unit": "°", "access": "R"}, {"name": "Average phase voltage", "group": "Measurements", "area": "input", "address": 42, "type": "float32", "unit": "V", "access": "R"}, {"name": "Average line current", "group": "Measurements", "area": "input", "address": 46, "type": "float32", "unit": "A", "access": "R"}, {"name": "Sum of phase currents", "group": "Measurements", "area": "input", "address": 48, "type": "float32", "unit": "A", "access": "R"}, {"name": "Total active power", "group": "Measurements", "area": "input", "address": 52, "type": "float32", "unit": "W", "access": "R"}, {"name": "Total apparent power", "group": "Measurements", "area": "input", "address": 56, "type": "float32", "unit": "VA", "access": "R"}, {"name": "Total reactive power", "group": "Measurements", "area": "input", "address": 60, "type": "float32", "unit": "var", "access": "R"}, {"name": "Total power factor", "group": "Measurements", "area": "input", "address": 62, "type": "float32", "access": "R", "description": "Positive = capacitive load, negative = inductive"}, {"name": "Total phase angle", "group": "Measurements", "area": "input", "address": 66, "type": "float32", "unit": "°", "access": "R"}, {"name": "Frequency", "group": "Measurements", "area": "input", "address": 70, "type": "float32", "unit": "Hz", "access": "R"}, {"name": "Imported active energy", "group": "Energy", "area": "input", "address": 72, "type": "float32", "unit": "kWh", "access": "R"}, {"name": "Exported active energy", "group": "Energy", "area": "input", "address": 74, "type": "float32", "unit": "kWh", "access": "R"}, {"name": "Imported reactive energy", "group": "Energy", "area": "input", "address": 76, "type": "float32", "unit": "kvarh", "access": "R"}, {"name": "Exported reactive energy", "group": "Energy", "area": "input", "address": 78, "type": "float32", "unit": "kvarh", "access": "R"}, {"name": "Apparent energy", "group": "Energy", "area": "input", "address": 80, "type": "float32", "unit": "kVAh", "access": "R"}, {"name": "Ampere-hours", "group": "Energy", "area": "input", "address": 82, "type": "float32", "unit": "Ah", "access": "R"}, {"name": "Total active energy", "group": "Energy", "area": "input", "address": 342, "type": "float32", "unit": "kWh", "access": "R"}, {"name": "Total reactive energy", "group": "Energy", "area": "input", "address": 344, "type": "float32", "unit": "kvarh", "access": "R"}, {"name": "Total active power demand", "group": "Demand", "area": "input", "address": 84, "type": "float32", "unit": "W", "access": "R", "description": "Import only"}, {"name": "Maximum total active power demand", "group": "Demand", "area": "input", "address": 86, "type": "float32", "unit": "W", "access": "R", "description": "Import only"}, {"name": "Total apparent power demand", "group": "Demand", "area": "input", "address": 100, "type": "float32", "unit": "VA", "access": "R"}, {"name": "Maximum total apparent power demand", "group": "Demand", "area": "input", "address": 102, "type": "float32", "unit": "VA", "access": "R"}, {"name": "Neutral current demand", "group": "Demand", "area": "input", "address": 104, "type": "float32", "unit": "A", "access": "R"}, {"name": "Maximum neutral current demand", "group": "Demand", "area": "input", "address": 106, "type": "float32", "unit": "A", "access": "R"}, {"name": "Current demand L1", "group": "Demand", "area": "input", "address": 258, "type": "float32", "unit": "A", "access": "R"}, {"name": "Current demand L2", "group": "Demand", "area": "input", "address": 260, "type": "float32", "unit": "A", "access": "R"}, {"name": "Current demand L3", "group": "Demand", "area": "input", "address": 262, "type": "float32", "unit": "A", "access": "R"}, {"name": "Maximum current demand L1", "group": "Demand", "area": "input", "address": 264, "type": "float32", "unit": "A", "access": "R"}, {"name": "Maximum current demand L2", "group": "Demand", "area": "input", "address": 266, "type": "float32", "unit": "A", "access": "R"}, {"name": "Maximum current demand L3", "group": "Demand", "area": "input", "address": 268, "type": "float32", "unit": "A", "access": "R"}, {"name": "Voltage L1-L2", "group": "Measurements", "area": "input", "address": 200, "type": "float32", "unit": "V", "access": "R"}, {"name": "Voltage L2-L3", "group": "Measurements", "area": "input", "address": 202, "type": "float32", "unit": "V", "access": "R"}, {"name": "Voltage L3-L1", "group": "Measurements", "area": "input", "address": 204, "type": "float32", "unit": "V", "access": "R"}, {"name": "Average line voltage", "group": "Measurements", "area": "input", "address": 206, "type": "float32", "unit": "V", "access": "R"}, {"name": "Neutral current", "group": "Measurements", "area": "input", "address": 224, "type": "float32", "unit": "A", "access": "R"}, {"name": "Voltage THD L1-N", "group": "Harmonics", "area": "input", "address": 234, "type": "float32", "unit": "%", "access": "R"}, {"name": "Voltage THD L2-N", "group": "Harmonics", "area": "input", "address": 236, "type": "float32", "unit": "%", "access": "R"}, {"name": "Voltage THD L3-N", "group": "Harmonics", "area": "input", "address": 238, "type": "float32", "unit": "%", "access": "R"}, {"name": "Current THD L1", "group": "Harmonics", "area": "input", "address": 240, "type": "float32", "unit": "%", "access": "R"}, {"name": "Current THD L2", "group": "Harmonics", "area": "input", "address": 242, "type": "float32", "unit": "%", "access": "R"}, {"name": "Current THD L3", "group": "Harmonics", "area": "input", "address": 244, "type": "float32", "unit": "%", "access": "R"}, {"name": "Average phase voltage THD", "group": "Harmonics", "area": "input", "address": 248, "type": "float32", "unit": "%", "access": "R"}, {"name": "Average current THD", "group": "Harmonics", "area": "input", "address": 250, "type": "float32", "unit": "%", "access": "R"}, {"name": "Voltage THD L1-L2", "group": "Harmonics", "area": "input", "address": 334, "type": "float32", "unit": "%", "access": "R"}, {"name": "Voltage THD L2-L3", "group": "Harmonics", "area": "input", "address": 336, "type": "float32", "unit": "%", "access": "R"}, {"name": "Voltage THD L3-L1", "group": "Harmonics", "area": "input", "address": 338, "type": "float32", "unit": "%", "access": "R"}, {"name": "Average line voltage THD", "group": "Harmonics", "area": "input", "address": 340, "type": "float32", "unit": "%", "access": "R"}, {"name": "Demand time", "group": "Setup", "area": "holding", "address": 0, "type": "float32", "unit": "min", "access": "R", "description": "Minutes until the current demand value is calculated"}, {"name": "Demand period", "group": "Setup", "area": "holding", "address": 2, "type": "float32", "unit": "min", "access": "RW", "description": "5, 8, 10, 15, 20, 30 or 60 (default 60); 0 shows the present value"}, {"name": "Wiring type", "group": "Setup", "area": "holding", "address": 10, "type": "float32", "access": "RW", "enum": {"1": "1P2W", "2": "3P3W", "3": "3P4W"}, "description": "Needs the password (default 1000)"}, {"name": "Pulse output 1 width", "group": "Setup", "area": "holding", "address": 12, "type": "float32", "unit": "ms", "access": "RW", "description": "60, 100 or 200 (default 200)"}, {"name": "Parity and stop bits", "group": "Setup", "area": "holding", "address": 18, "type": "float32", "access": "RW", "description": "2 = 1 stop bit, even parity; 3 = 2 stop bits, no parity. The table describes both 0 (the default) and 1 as 1 stop bit, odd parity, while the default is no parity. Takes effect after a restart"}, {"name": "Device address", "group": "Setup", "area": "holding", "address": 20, "type": "float32", "access": "RW", "write_min": 1, "write_max": 247, "description": "Default 1. Takes effect after a restart"}, {"name": "Pulse output 1 constant", "group": "Setup", "area": "holding", "address": 22, "type": "float32", "access": "RW", "description": "0.01, 0.1, 1, 10 or 100 kWh per pulse"}, {"name": "Baud rate", "group": "Setup", "area": "holding", "address": 28, "type": "float32", "access": "RW", "enum": {"0": "2400", "1": "4800", "2": "9600", "3": "19200", "4": "38400"}, "description": "Default 2 (9600). Takes effect after a restart"}, {"name": "Serial number", "group": "Setup", "area": "holding", "address": 42, "type": "float32", "access": "R", "role": "serial"} ] }