{ "$schema": "https://raw.githubusercontent.com/nobrega8/mbmap-library/main/schema/mbmap-2.schema.json", "mbmap": 2, "vendor": "Entes", "model": "EPR-04S", "models": [ "EPR-04S" ], "vendor_website": "entes.com.tr", "description": "3-phase power meter with RS-485 Modbus RTU: power and cos phi values, two energy counter sets, min/max/demand power values and setup. Values are 32-bit (two registers), energies 64-bit.", "revision": 3, "revised": "2026-11-10", "sources": [ { "title": "EPR-04S Modbus Register Map", "version": "A3928/Rev.1", "date": "2019-12", "url": "https://www.entes.com.tr/uploads/files/EPR-04A_Modbus%20Register_Map_EN.pdf", "note": "register table; EPR-04S manual for the Modbus frame" } ], "notes": [ "The previous map had the addresses shifted by 2 and 16-bit types; the table shows 32-bit values, with unused rows for voltage and current.", "Energy counters and min/max/demand values can be written to set or clear them.", "The table does not state word order. Big-endian, high word first, is taken from the MPR-53S manual. Not tested on a device." ], "byte_order": "big", "word_order": "big", "address_base": 0, "enums": { "baud": { "1": "38400", "2": "19200", "3": "9600", "4": "4800", "5": "2400" }, "parity": { "0": "None", "1": "Odd", "2": "Even" }, "pwd": { "0": "Disabled", "1": "Enabled" } }, "x_status": "official", "registers": [ {"name": "L1 phase active power", "area": "holding", "address": 20, "type": "int32", "unit": "W", "scale": 0.1, "access": "R"}, {"name": "L2 phase active power", "area": "holding", "address": 22, "type": "int32", "unit": "W", "scale": 0.1, "access": "R"}, {"name": "L3 phase active power", "area": "holding", "address": 24, "type": "int32", "unit": "W", "scale": 0.1, "access": "R"}, {"name": "L1 phase reactive power", "area": "holding", "address": 26, "type": "int32", "unit": "var", "scale": 0.1, "access": "R"}, {"name": "L2 phase reactive power", "area": "holding", "address": 28, "type": "int32", "unit": "var", "scale": 0.1, "access": "R"}, {"name": "L3 phase reactive power", "area": "holding", "address": 30, "type": "int32", "unit": "var", "scale": 0.1, "access": "R"}, {"name": "L1 phase apparent power", "area": "holding", "address": 32, "type": "uint32", "unit": "VA", "scale": 0.1, "access": "R"}, {"name": "L2 phase apparent power", "area": "holding", "address": 34, "type": "uint32", "unit": "VA", "scale": 0.1, "access": "R"}, {"name": "L3 phase apparent power", "area": "holding", "address": 36, "type": "uint32", "unit": "VA", "scale": 0.1, "access": "R"}, {"name": "L1 phase cosj", "area": "holding", "address": 38, "type": "int32", "scale": 0.001, "access": "R"}, {"name": "L2 phase cosj", "area": "holding", "address": 40, "type": "int32", "scale": 0.001, "access": "R"}, {"name": "L3 phase cosj", "area": "holding", "address": 42, "type": "int32", "scale": 0.001, "access": "R"}, {"name": "Total import active power", "area": "holding", "address": 44, "type": "int32", "unit": "W", "scale": 0.1, "access": "R"}, {"name": "Total export active power", "area": "holding", "address": 46, "type": "int32", "unit": "W", "scale": 0.1, "access": "R"}, {"name": "Total inductive reactive power", "area": "holding", "address": 48, "type": "int32", "unit": "var", "scale": 0.1, "access": "R"}, {"name": "Total capacitive reactive power", "area": "holding", "address": 50, "type": "int32", "unit": "var", "scale": 0.1, "access": "R"}, {"name": "Total apparent power", "area": "holding", "address": 52, "type": "uint32", "unit": "VA", "scale": 0.1, "access": "R"}, {"name": "Average inductive cosj", "area": "holding", "address": 54, "type": "int32", "scale": 0.001, "access": "R"}, {"name": "Average capacitive cosj", "area": "holding", "address": 56, "type": "int32", "scale": 0.001, "access": "R"}, {"name": "Frequency", "area": "holding", "address": 58, "type": "uint32", "unit": "Hz", "scale": 0.01, "access": "R"}, {"name": "Digital input status", "area": "holding", "address": 84, "type": "uint32", "access": "R", "description": "Bit 0 = input 1 active, bit 1 = input 2 active (12-48 V AC/DC applied)"}, {"name": "Import active energy 1", "area": "holding", "address": 86, "type": "uint64", "unit": "Wh", "access": "RW"}, {"name": "Export active energy 1", "area": "holding", "address": 90, "type": "uint64", "unit": "Wh", "access": "RW"}, {"name": "Inductive reactive energy 1", "area": "holding", "address": 94, "type": "uint64", "unit": "Wh", "access": "RW"}, {"name": "Capacitive reactive energy 1", "area": "holding", "address": 98, "type": "uint64", "unit": "Wh", "access": "RW"}, {"name": "Import active energy 2", "area": "holding", "address": 102, "type": "uint64", "unit": "Wh", "access": "RW"}, {"name": "Export active energy 2", "area": "holding", "address": 106, "type": "uint64", "unit": "Wh", "access": "RW"}, {"name": "Inductive reactive energy 2", "area": "holding", "address": 110, "type": "uint64", "unit": "Wh", "access": "RW"}, {"name": "Capacitive reactive energy 2", "area": "holding", "address": 114, "type": "uint64", "unit": "Wh", "access": "RW"}, {"name": "L1 phase min. active power", "area": "holding", "address": 136, "type": "int32", "unit": "W", "scale": 0.1, "access": "RW"}, {"name": "L2 phase min. active power", "area": "holding", "address": 138, "type": "int32", "unit": "W", "scale": 0.1, "access": "RW"}, {"name": "L3 phase min. active power", "area": "holding", "address": 140, "type": "int32", "unit": "W", "scale": 0.1, "access": "RW"}, {"name": "L1 phase min. reactive power", "area": "holding", "address": 142, "type": "int32", "unit": "var", "scale": 0.1, "access": "RW"}, {"name": "L2 phase min. reactive power", "area": "holding", "address": 144, "type": "int32", "unit": "var", "scale": 0.1, "access": "RW"}, {"name": "L3 phase min. reactive power", "area": "holding", "address": 146, "type": "int32", "unit": "var", "scale": 0.1, "access": "RW"}, {"name": "L1 phase min. apparent power", "area": "holding", "address": 148, "type": "uint32", "unit": "VA", "scale": 0.1, "access": "RW"}, {"name": "L2 phase min. apparent power", "area": "holding", "address": 150, "type": "uint32", "unit": "VA", "scale": 0.1, "access": "RW"}, {"name": "L3 phase min. apparent power", "area": "holding", "address": 152, "type": "uint32", "unit": "VA", "scale": 0.1, "access": "RW"}, {"name": "Total min. import active power", "area": "holding", "address": 154, "type": "int32", "unit": "W", "scale": 0.1, "access": "RW"}, {"name": "Total min. export active power", "area": "holding", "address": 156, "type": "int32", "unit": "W", "scale": 0.1, "access": "RW"}, {"name": "Total min. import reactive power", "area": "holding", "address": 158, "type": "int32", "unit": "var", "scale": 0.1, "access": "RW"}, {"name": "Total min. export reactive power", "area": "holding", "address": 160, "type": "int32", "unit": "var", "scale": 0.1, "access": "RW"}, {"name": "Total min. apparent power", "area": "holding", "address": 162, "type": "uint32", "unit": "VA", "scale": 0.1, "access": "RW"}, {"name": "L1 phase max. active power", "area": "holding", "address": 182, "type": "int32", "unit": "W", "scale": 0.1, "access": "RW"}, {"name": "L2 phase max. active power", "area": "holding", "address": 184, "type": "int32", "unit": "W", "scale": 0.1, "access": "RW"}, {"name": "L3 phase max. active power", "area": "holding", "address": 186, "type": "int32", "unit": "W", "scale": 0.1, "access": "RW"}, {"name": "L1 phase max. reactive power", "area": "holding", "address": 188, "type": "int32", "unit": "var", "scale": 0.1, "access": "RW"}, {"name": "L2 phase max. reactive power", "area": "holding", "address": 190, "type": "int32", "unit": "var", "scale": 0.1, "access": "RW"}, {"name": "L3 phase max. reactive power", "area": "holding", "address": 192, "type": "int32", "unit": "var", "scale": 0.1, "access": "RW"}, {"name": "L1 phase max. apparent power", "area": "holding", "address": 194, "type": "uint32", "unit": "VA", "scale": 0.1, "access": "RW"}, {"name": "L2 phase max. apparent power", "area": "holding", "address": 196, "type": "uint32", "unit": "VA", "scale": 0.1, "access": "RW"}, {"name": "L3 phase max. apparent power", "area": "holding", "address": 198, "type": "uint32", "unit": "VA", "scale": 0.1, "access": "RW"}, {"name": "Total max. import active power", "area": "holding", "address": 200, "type": "int32", "unit": "W", "scale": 0.1, "access": "RW"}, {"name": "Total max. export active power", "area": "holding", "address": 202, "type": "int32", "unit": "W", "scale": 0.1, "access": "RW"}, {"name": "Total max. import reactive power", "area": "holding", "address": 204, "type": "int32", "unit": "var", "scale": 0.1, "access": "RW"}, {"name": "Total max. export reactive power", "area": "holding", "address": 206, "type": "int32", "unit": "var", "scale": 0.1, "access": "RW"}, {"name": "Total max. apparent power", "area": "holding", "address": 208, "type": "uint32", "unit": "VA", "scale": 0.1, "access": "RW"}, {"name": "L1 phase import max. demand active power", "area": "holding", "address": 216, "type": "int32", "unit": "W", "scale": 0.1, "access": "RW"}, {"name": "L1 phase export max. demand active power", "area": "holding", "address": 218, "type": "int32", "unit": "W", "scale": 0.1, "access": "RW"}, {"name": "L2 phase import max. demand active power", "area": "holding", "address": 220, "type": "int32", "unit": "W", "scale": 0.1, "access": "RW"}, {"name": "L2 phase export max. demand active power", "area": "holding", "address": 222, "type": "int32", "unit": "W", "scale": 0.1, "access": "RW"}, {"name": "L3 phase import max. demand active power", "area": "holding", "address": 224, "type": "int32", "unit": "W", "scale": 0.1, "access": "RW"}, {"name": "L3 phase export max. demand active power", "area": "holding", "address": 226, "type": "int32", "unit": "W", "scale": 0.1, "access": "RW"}, {"name": "L1 phase import max. demand reactive power", "area": "holding", "address": 228, "type": "int32", "unit": "var", "scale": 0.1, "access": "RW"}, {"name": "L1 phase export max. demand reactive power", "area": "holding", "address": 230, "type": "int32", "unit": "var", "scale": 0.1, "access": "RW"}, {"name": "L2 phase import max. demand reactive power", "area": "holding", "address": 232, "type": "int32", "unit": "var", "scale": 0.1, "access": "RW"}, {"name": "L2 phase export max. demand reactive power", "area": "holding", "address": 234, "type": "int32", "unit": "var", "scale": 0.1, "access": "RW"}, {"name": "L3 phase import max. demand reactive power", "area": "holding", "address": 236, "type": "int32", "unit": "var", "scale": 0.1, "access": "RW"}, {"name": "L3 phase export max. demand reactive power", "area": "holding", "address": 238, "type": "int32", "unit": "var", "scale": 0.1, "access": "RW"}, {"name": "L1 phase max. demand apparent power", "area": "holding", "address": 240, "type": "uint32", "unit": "VA", "scale": 0.1, "access": "RW"}, {"name": "L2 phase max. demand apparent power", "area": "holding", "address": 242, "type": "uint32", "unit": "VA", "scale": 0.1, "access": "RW"}, {"name": "L3 phase max. demand apparent power", "area": "holding", "address": 244, "type": "uint32", "unit": "VA", "scale": 0.1, "access": "RW"}, {"name": "Total import max. demand active power", "area": "holding", "address": 246, "type": "int32", "unit": "W", "scale": 0.1, "access": "RW"}, {"name": "Total export max. demand active power", "area": "holding", "address": 248, "type": "int32", "unit": "W", "scale": 0.1, "access": "RW"}, {"name": "Total import max. demand reactive power", "area": "holding", "address": 250, "type": "int32", "unit": "var", "scale": 0.1, "access": "RW"}, {"name": "Total export max. demand reactive power", "area": "holding", "address": 252, "type": "int32", "unit": "var", "scale": 0.1, "access": "RW"}, {"name": "Total max. demand apparent power", "area": "holding", "address": 254, "type": "uint32", "unit": "VA", "scale": 0.1, "access": "RW"}, {"name": "Voltage transformer ratio", "area": "holding", "address": 32768, "type": "int16", "access": "RW", "scale": 0.1, "description": "0 to 40000 raw"}, {"name": "Current transformer ratio", "area": "holding", "address": 32769, "type": "int16", "access": "RW"}, {"name": "Calculation method", "area": "holding", "address": 32770, "type": "int16", "access": "RW", "description": "0-5, see the table for reactive energy calculation"}, {"name": "Demand time", "area": "holding", "address": 32771, "type": "int16", "access": "RW", "unit": "min"}, {"name": "Pulse ratio", "area": "holding", "address": 32772, "type": "int16", "access": "RW", "description": "0-6: 1 W, 10 W, 100 W, 1 kW, 10 kW, 100 kW, 1 MW per pulse"}, {"name": "Pulse output 1 parameter", "area": "holding", "address": 32773, "type": "int16", "access": "RW", "description": "0-5: active, active import, active export, reactive, reactive import, reactive export"}, {"name": "Pulse output 2 parameter", "area": "holding", "address": 32774, "type": "int16", "access": "RW", "description": "0-5: same codes as pulse output 1"}, {"name": "Energy counter 1 selection", "area": "holding", "address": 32775, "type": "int16", "access": "RW", "description": "0 always counts, 1 digital input 1, 2 digital input 2, 3 counts when counter 2 does not"}, {"name": "Energy counter 2 selection", "area": "holding", "address": 32776, "type": "int16", "access": "RW", "description": "0 always counts, 1 digital input 1, 2 digital input 2, 3 counts when counter 1 does not"}, {"name": "Modbus address", "area": "holding", "address": 32777, "type": "int16", "access": "RW", "description": "0-247"}, {"name": "Baud rate", "area": "holding", "address": 32778, "type": "int16", "access": "RW", "enum": "baud"}, {"name": "Parity", "area": "holding", "address": 32779, "type": "int16", "access": "RW", "enum": "parity"}, {"name": "Password enable", "area": "holding", "address": 32780, "type": "int16", "access": "RW", "enum": "pwd"}, {"name": "Password", "area": "holding", "address": 32781, "type": "int16", "access": "RW", "description": "0-9999"} ] }