Socomec Countis E23 Modbus register map
- Official
- 260 registers
- Revision 3 · 2026-11-10
- Identity: firmware
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
- 260 holding registers
- Groups
- 6
- Revision
- 3 · 2026-11-10
- Added
- ()
- File
- maps/socomec/countis-e23.mbmap.json · 46 KB · history
- SHA-256
- c3186e5fdc53fbcc53356b8b886bb63a1c8cc051199c350708e9aa194855a5ad
- Manufacturer
- socomec.com
Device identity
What a tool can read to check that this map fits the connected device (SPEC.md section 4.7). Registers with a role are read like any other register.
| Role | Register | Address | Type | Values |
|---|---|---|---|---|
| Firmware | Software version | holding 50007 | uint16 |
Sources and notes
- Countis E23 MODBUS active energy meters communication table · version table V 103.18, 2022-08 Whole table except reserved, command and date registers
- Addresses are the decimal addresses printed in the table, sent as written (address_base 0). Registers are read as holding registers.
- Scales follow the table's unit column (for example V/100 becomes a scale of 0.01); energy counters are in kWh, kvarh and kVAh, or in 10 Wh steps in the second set.
- The table gives neither function codes nor byte or word order: big-endian with the high word first is assumed (Socomec convention). Not tested on a device.
- Values the table types as 8-bit sit in one 16-bit register and are read as uint16. Date and time, 64-bit, record and command registers (resets, tariff selection) are not mapped.
- The reactive net energy balance (33027) is printed with a Wh unit in the table; it is mapped as kvarh.
| Area | Address | Name | Type | Access | Unit | Scale | Description |
|---|---|---|---|---|---|---|---|
| HR | 50000 | string[4] | R | ||||
| HR | 50004 | uint16 | R | ||||
| HR | 50005 | uint16 | R | ||||
| HR | 50006 | uint16 | R | ×0.01 | |||
| HR | 50007 | uint16 | R | ×0.01 | |||
| HR | 50018 | uint16 | R | ||||
| HR | 50019 | uint16 | R | ||||
| HR | 50030 | string[4] | R | ||||
| HR | 50042 | string[8] | R | ||||
| HR | 50050 | string[8] | R | ||||
| HR | 50058 | string[8] | R | ||||
| HR | 57344 | uint16 | RW | ||||
| HR | 57345 | uint16 | RW | ||||
| HR | 57346 | uint16 | RW | ||||
| HR | 57347 | uint16 | RW | ||||
| HR | 50514 | uint32 ABCD | R | V | ×0.01 | ||
| HR | 50516 | uint32 ABCD | R | V | ×0.01 | ||
| HR | 50518 | uint32 ABCD | R | V | ×0.01 | ||
| HR | 50520 | uint32 ABCD | R | V | ×0.01 | ||
| HR | 50522 | uint32 ABCD | R | V | ×0.01 | ||
| HR | 50524 | uint32 ABCD | R | V | ×0.01 | ||
| HR | 50526 | uint32 ABCD | R | Hz | ×0.001 | ||
| HR | 50528 | uint32 ABCD | R | A | ×0.001 | ||
| HR | 50530 | uint32 ABCD | R | A | ×0.001 | ||
| HR | 50532 | uint32 ABCD | R | A | ×0.001 | ||
| HR | 50534 | uint32 ABCD | R | A | ×0.001 | ||
| HR | 50536 | int32 ABCD | R | W | ×10 | ||
| HR | 50538 | int32 ABCD | R | var | ×10 | ||
| HR | 50540 | uint32 ABCD | R | VA | ×10 | ||
| HR | 50542 | int32 ABCD | R | ×0.001 | |||
| HR | 50544 | int32 ABCD | R | W | ×10 | ||
| HR | 50546 | int32 ABCD | R | W | ×10 | ||
| HR | 50548 | int32 ABCD | R | W | ×10 | ||
| HR | 50550 | int32 ABCD | R | var | ×10 | ||
| HR | 50552 | int32 ABCD | R | var | ×10 | ||
| HR | 50554 | int32 ABCD | R | var | ×10 | ||
| HR | 50556 | uint32 ABCD | R | VA | ×10 | ||
| HR | 50558 | uint32 ABCD | R | VA | ×10 | ||
| HR | 50560 | uint32 ABCD | R | VA | ×10 | ||
| HR | 50562 | int32 ABCD | R | ×0.001 | |||
| HR | 50564 | int32 ABCD | R | ×0.001 | |||
| HR | 50566 | int32 ABCD | R | ×0.001 | |||
| HR | 50568 | uint32 ABCD | R | A | ×0.001 | ||
| HR | 50570 | uint32 ABCD | R | V | ×0.01 | ||
| HR | 50572 | uint32 ABCD | R | V | ×0.01 | ||
| HR | 51281 | uint16 | R | V | ×0.01 | Reading before the transformer ratio is applied. | |
| HR | 51282 | uint16 | R | V | ×0.01 | Reading before the transformer ratio is applied. | |
| HR | 51283 | uint16 | R | V | ×0.01 | Reading before the transformer ratio is applied. | |
| HR | 51284 | uint16 | R | V | ×0.01 | Reading before the transformer ratio is applied. | |
| HR | 51285 | uint16 | R | V | ×0.01 | Reading before the transformer ratio is applied. | |
| HR | 51286 | uint16 | R | V | ×0.01 | Reading before the transformer ratio is applied. | |
| HR | 51287 | uint16 | R | Hz | ×0.001 | Reading before the transformer ratio is applied. | |
| HR | 51295 | int16 | R | ×0.001 | Reading before the transformer ratio is applied. | ||
| HR | 51305 | int16 | R | ×0.001 | Reading before the transformer ratio is applied. | ||
| HR | 51306 | int16 | R | ×0.001 | Reading before the transformer ratio is applied. | ||
| HR | 51307 | int16 | R | ×0.001 | Reading before the transformer ratio is applied. | ||
| HR | 51308 | uint16 | R | A | ×0.001 | Reading before the transformer ratio is applied. | |
| HR | 51309 | uint16 | R | V | ×0.01 | Reading before the transformer ratio is applied. | |
| HR | 51310 | uint16 | R | V | ×0.01 | Reading before the transformer ratio is applied. | |
| HR | 51311 | uint16 | R | MWh | |||
| HR | 51312 | uint16 | R | Mvarh | |||
| HR | 51313 | uint16 | R | MWh | |||
| HR | 51314 | uint16 | R | Mvarh | |||
| HR | 51315 | uint16 | R | ||||
| HR | 50770 | uint32 ABCD | R | kWh | |||
| HR | 50772 | uint32 ABCD | R | kvarh | |||
| HR | 50774 | uint32 ABCD | R | kVAh | |||
| HR | 50776 | uint32 ABCD | R | kWh | |||
| HR | 50778 | uint32 ABCD | R | kvarh | |||
| HR | 50780 | uint32 ABCD | R | kWh | |||
| HR | 50782 | uint32 ABCD | R | kvarh | |||
| HR | 50784 | uint32 ABCD | R | kVAh | |||
| HR | 50786 | uint32 ABCD | R | kWh | |||
| HR | 50788 | uint32 ABCD | R | kvarh | |||
| HR | 50946 | uint32 ABCD | R | Wh | ×10 | ||
| HR | 50948 | uint32 ABCD | R | varh | ×10 | ||
| HR | 50950 | uint32 ABCD | R | VAh | ×10 | ||
| HR | 50952 | uint32 ABCD | R | Wh | ×10 | ||
| HR | 50954 | uint32 ABCD | R | varh | ×10 | ||
| HR | 50956 | uint32 ABCD | R | Wh | ×10 | ||
| HR | 50958 | uint32 ABCD | R | varh | ×10 | ||
| HR | 50960 | uint32 ABCD | R | VAh | ×10 | ||
| HR | 50962 | uint32 ABCD | R | Wh | ×10 | ||
| HR | 50964 | uint32 ABCD | R | varh | ×10 | ||
| HR | 50849 | uint16 | R | ||||
| HR | 50850 | uint32 ABCD | R | kWh | |||
| HR | 50852 | uint32 ABCD | R | kWh | |||
| HR | 50866 | uint32 ABCD | R | kvarh | |||
| HR | 50868 | uint32 ABCD | R | kvarh | |||
| HR | 50882 | uint32 ABCD | R | h | ×0.01 | ||
| HR | 50884 | uint32 ABCD | R | h | ×0.01 | ||
| HR | 51201 | uint16 | R | ||||
| HR | 51202 | uint32 ABCD | R | Wh | ×10 | ||
| HR | 51204 | uint32 ABCD | R | Wh | ×10 | ||
| HR | 51218 | uint32 ABCD | R | varh | ×10 | ||
| HR | 51220 | uint32 ABCD | R | varh | ×10 | ||
| HR | 51234 | uint32 ABCD | R | h | ×0.01 | ||
| HR | 51236 | uint32 ABCD | R | h | ×0.01 | ||
| HR | 19843 | uint32 ABCD | R | kWh | |||
| HR | 19845 | uint16 | R | Wh | ×0.1 | Remainder below the main counter step, to add to the counter above. |
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).