Entes EPR-04S Modbus register map
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.
- Official
- 91 registers
- Revision 3 · 2026-11-10
Official: Written from the manufacturer's documentation, but not tested on a device yet. Check the map against the manufacturer's documentation before you write to a live device. Tested it? Report a test.
Communication
- Protocol
- Modbus TCP and RTUdefault
- Unit ID
- 1default
- TCP port
- 502default
- Serial
- 9600 8E1 · 9600 baud, 8 data bits, even parity, 1 stop bit defaults
- Byte / word order
- ABCD · bytes big-endian, words high first
- Addresses
- 0-based
Connection values are defaults: the device may be configured differently.
Map
- Registers
- 91 holding registers
- Translation tables
- 3
- Revision
- 3 · 2026-11-10
- Added
- ()
- File
- maps/entes/epr-04s.mbmap.json · 14 KB · history
- SHA-256
- fcd94e18acb30ea8b6b124609ad6e4b8cfaa943c2b6556ddeb8a3221b3cc5f07
- Manufacturer
- entes.com.tr
Sources and notes
- EPR-04S Modbus Register Map · version A3928/Rev.1, 2019-12 register table; EPR-04S manual for the Modbus frame
- 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.
| Area | Address | Name | Type | Access | Unit | Scale | Description |
|---|---|---|---|---|---|---|---|
| HR | 20 | int32 ABCD | R | W | ×0.1 | ||
| HR | 22 | int32 ABCD | R | W | ×0.1 | ||
| HR | 24 | int32 ABCD | R | W | ×0.1 | ||
| HR | 26 | int32 ABCD | R | var | ×0.1 | ||
| HR | 28 | int32 ABCD | R | var | ×0.1 | ||
| HR | 30 | int32 ABCD | R | var | ×0.1 | ||
| HR | 32 | uint32 ABCD | R | VA | ×0.1 | ||
| HR | 34 | uint32 ABCD | R | VA | ×0.1 | ||
| HR | 36 | uint32 ABCD | R | VA | ×0.1 | ||
| HR | 38 | int32 ABCD | R | ×0.001 | |||
| HR | 40 | int32 ABCD | R | ×0.001 | |||
| HR | 42 | int32 ABCD | R | ×0.001 | |||
| HR | 44 | int32 ABCD | R | W | ×0.1 | ||
| HR | 46 | int32 ABCD | R | W | ×0.1 | ||
| HR | 48 | int32 ABCD | R | var | ×0.1 | ||
| HR | 50 | int32 ABCD | R | var | ×0.1 | ||
| HR | 52 | uint32 ABCD | R | VA | ×0.1 | ||
| HR | 54 | int32 ABCD | R | ×0.001 | |||
| HR | 56 | int32 ABCD | R | ×0.001 | |||
| HR | 58 | uint32 ABCD | R | Hz | ×0.01 | ||
| HR | 84 | uint32 ABCD | R | Bit 0 = input 1 active, bit 1 = input 2 active (12-48 V AC/DC applied) | |||
| HR | 86 | uint64 ABCD | RW | Wh | |||
| HR | 90 | uint64 ABCD | RW | Wh | |||
| HR | 94 | uint64 ABCD | RW | Wh | |||
| HR | 98 | uint64 ABCD | RW | Wh | |||
| HR | 102 | uint64 ABCD | RW | Wh | |||
| HR | 106 | uint64 ABCD | RW | Wh | |||
| HR | 110 | uint64 ABCD | RW | Wh | |||
| HR | 114 | uint64 ABCD | RW | Wh | |||
| HR | 136 | int32 ABCD | RW | W | ×0.1 | ||
| HR | 138 | int32 ABCD | RW | W | ×0.1 | ||
| HR | 140 | int32 ABCD | RW | W | ×0.1 | ||
| HR | 142 | int32 ABCD | RW | var | ×0.1 | ||
| HR | 144 | int32 ABCD | RW | var | ×0.1 | ||
| HR | 146 | int32 ABCD | RW | var | ×0.1 | ||
| HR | 148 | uint32 ABCD | RW | VA | ×0.1 | ||
| HR | 150 | uint32 ABCD | RW | VA | ×0.1 | ||
| HR | 152 | uint32 ABCD | RW | VA | ×0.1 | ||
| HR | 154 | int32 ABCD | RW | W | ×0.1 | ||
| HR | 156 | int32 ABCD | RW | W | ×0.1 | ||
| HR | 158 | int32 ABCD | RW | var | ×0.1 | ||
| HR | 160 | int32 ABCD | RW | var | ×0.1 | ||
| HR | 162 | uint32 ABCD | RW | VA | ×0.1 | ||
| HR | 182 | int32 ABCD | RW | W | ×0.1 | ||
| HR | 184 | int32 ABCD | RW | W | ×0.1 | ||
| HR | 186 | int32 ABCD | RW | W | ×0.1 | ||
| HR | 188 | int32 ABCD | RW | var | ×0.1 | ||
| HR | 190 | int32 ABCD | RW | var | ×0.1 | ||
| HR | 192 | int32 ABCD | RW | var | ×0.1 | ||
| HR | 194 | uint32 ABCD | RW | VA | ×0.1 | ||
| HR | 196 | uint32 ABCD | RW | VA | ×0.1 | ||
| HR | 198 | uint32 ABCD | RW | VA | ×0.1 | ||
| HR | 200 | int32 ABCD | RW | W | ×0.1 | ||
| HR | 202 | int32 ABCD | RW | W | ×0.1 | ||
| HR | 204 | int32 ABCD | RW | var | ×0.1 | ||
| HR | 206 | int32 ABCD | RW | var | ×0.1 | ||
| HR | 208 | uint32 ABCD | RW | VA | ×0.1 | ||
| HR | 216 | int32 ABCD | RW | W | ×0.1 | ||
| HR | 218 | int32 ABCD | RW | W | ×0.1 | ||
| HR | 220 | int32 ABCD | RW | W | ×0.1 | ||
| HR | 222 | int32 ABCD | RW | W | ×0.1 | ||
| HR | 224 | int32 ABCD | RW | W | ×0.1 | ||
| HR | 226 | int32 ABCD | RW | W | ×0.1 | ||
| HR | 228 | int32 ABCD | RW | var | ×0.1 | ||
| HR | 230 | int32 ABCD | RW | var | ×0.1 | ||
| HR | 232 | int32 ABCD | RW | var | ×0.1 | ||
| HR | 234 | int32 ABCD | RW | var | ×0.1 | ||
| HR | 236 | int32 ABCD | RW | var | ×0.1 | ||
| HR | 238 | int32 ABCD | RW | var | ×0.1 | ||
| HR | 240 | uint32 ABCD | RW | VA | ×0.1 | ||
| HR | 242 | uint32 ABCD | RW | VA | ×0.1 | ||
| HR | 244 | uint32 ABCD | RW | VA | ×0.1 | ||
| HR | 246 | int32 ABCD | RW | W | ×0.1 | ||
| HR | 248 | int32 ABCD | RW | W | ×0.1 | ||
| HR | 250 | int32 ABCD | RW | var | ×0.1 | ||
| HR | 252 | int32 ABCD | RW | var | ×0.1 | ||
| HR | 254 | uint32 ABCD | RW | VA | ×0.1 | ||
| HR | 32768 | int16 | RW | ×0.1 | 0 to 40000 raw | ||
| HR | 32769 | int16 | RW | ||||
| HR | 32770 | int16 | RW | 0-5, see the table for reactive energy calculation | |||
| HR | 32771 | int16 | RW | min | |||
| HR | 32772 | int16 | RW | 0-6: 1 W, 10 W, 100 W, 1 kW, 10 kW, 100 kW, 1 MW per pulse | |||
| HR | 32773 | int16 | RW | 0-5: active, active import, active export, reactive, reactive import, reactive export | |||
| HR | 32774 | int16 | RW | 0-5: same codes as pulse output 1 | |||
| HR | 32775 | int16 | RW | 0 always counts, 1 digital input 1, 2 digital input 2, 3 counts when counter 2 does not | |||
| HR | 32776 | int16 | RW | 0 always counts, 1 digital input 1, 2 digital input 2, 3 counts when counter 1 does not | |||
| HR | 32777 | int16 | RW | 0-247 | |||
| HR | 32778 | int16 | RW | ||||
| HR | 32779 | int16 | RW | ||||
| HR | 32780 | int16 | RW | ||||
| HR | 32781 | int16 | RW | 0-9999 |
No registers match
Try part of the name, an address (decimal or 0x hex) or clear the filters.
Help improve this map
- I tested it on a deviceReport whether it worked, even if you did not write the map.
- Suggest a correctionEdit the file on GitHub; it opens a pull request.
- Report a problemA wrong address, type, scale or byte order.
- Read the formatWhat each key of the file means (SPEC.md).