Eastron SDM230 Modbus register map
Also covers SDM230-Modbus, SDM230-2T
Single-phase DIN rail energy meter, direct connection, with two tariffs on the SDM230-2T
- Official
- 54 registers
- Modbus RTU
- Revision 2 · 2026-10-17
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 RTU
- Unit ID
- 1
- Serial
- 9600 8N1 · 9600 baud, 8 data bits, none parity, 1 stop bit
- Byte / word order
- ABCD · bytes big-endian, words high first
- Addresses
- 0-based
- Max read
- 60 registers per request
Connection values are defaults: the device may be configured differently.
Map
- Registers
- 10 holding registers, 44 input registers
- Groups
- 7
- Revision
- 2 · 2026-10-17
- Added
- ()
- File
- maps/eastron/sdm230.mbmap.json · 10 KB · history
- SHA-256
- 7d0109285fe816a54d69752168db771ddfa4139ebce1948ff18383c9aff7f26f
- Manufacturer
- eastroneurope.com
Sources and notes
- Eastron SDM230-2T Smart Meter Modbus Protocol Implementation · version V1.1
Source: Eastron, "Eastron SDM230-2T Smart Meter Modbus Protocol Implementation", V1.1
- Measurements are float32 input registers (FC04); settings are float32 holding registers (FC03 read, FC16 write, one parameter per write).
- Requests must cover an even number of registers; at most 30 values per read.
- The tariff registers (1300h-1574h) are for the two-tariff SDM230-2T.
| Area | Address | Name | Type | Access | Unit | Scale | Description |
|---|---|---|---|---|---|---|---|
| IR | 0 | float32 ABCD | R | V | |||
| IR | 6 | float32 ABCD | R | A | |||
| IR | 12 | float32 ABCD | R | W | |||
| IR | 18 | float32 ABCD | R | VA | |||
| IR | 24 | float32 ABCD | R | var | |||
| IR | 30 | float32 ABCD | R | ||||
| IR | 36 | float32 ABCD | R | ° | |||
| IR | 70 | float32 ABCD | R | Hz | |||
| IR | 72 | float32 ABCD | R | kWh | |||
| IR | 74 | float32 ABCD | R | kWh | |||
| IR | 76 | float32 ABCD | R | kvarh | |||
| IR | 78 | float32 ABCD | R | kvarh | |||
| IR | 84 | float32 ABCD | R | W | |||
| IR | 86 | float32 ABCD | R | W | |||
| IR | 88 | float32 ABCD | R | W | |||
| IR | 90 | float32 ABCD | R | W | |||
| IR | 92 | float32 ABCD | R | W | |||
| IR | 94 | float32 ABCD | R | W | |||
| IR | 258 | float32 ABCD | R | A | |||
| IR | 264 | float32 ABCD | R | A | |||
| IR | 342 | float32 ABCD | R | kWh | |||
| IR | 344 | float32 ABCD | R | kvarh | |||
| IR | 384 | float32 ABCD | R | kWh | |||
| IR | 386 | float32 ABCD | R | kvarh | |||
| IR | 4876 | float32 ABCD | R | kWh | |||
| IR | 4878 | float32 ABCD | R | kWh | |||
| IR | 4884 | float32 ABCD | R | kWh | |||
| IR | 4886 | float32 ABCD | R | kWh | |||
| IR | 4892 | float32 ABCD | R | kWh | |||
| IR | 4894 | float32 ABCD | R | kWh | |||
| IR | 4900 | float32 ABCD | R | kvarh | |||
| IR | 4902 | float32 ABCD | R | kvarh | |||
| IR | 4908 | float32 ABCD | R | kvarh | |||
| IR | 4910 | float32 ABCD | R | kvarh | |||
| IR | 4916 | float32 ABCD | R | kvarh | |||
| IR | 4918 | float32 ABCD | R | kvarh | |||
| IR | 5074 | float32 ABCD | R | kW | |||
| IR | 5076 | float32 ABCD | R | kW | |||
| IR | 5204 | float32 ABCD | R | kW | |||
| IR | 5206 | float32 ABCD | R | kW | |||
| IR | 5472 | float32 ABCD | R | W | |||
| IR | 5478 | float32 ABCD | R | A | |||
| IR | 5486 | float32 ABCD | R | W | |||
| IR | 5492 | float32 ABCD | R | A | |||
| HR | 12 | float32 ABCD | RW | ms | 60, 100 or 200 ms, default 100 | ||
| HR | 18 | float32 ABCD | RW | Default 0 | |||
| HR | 20 | float32 ABCD | RW | Modbus address, default 1 | |||
| HR | 28 | float32 ABCD | RW | Default 2 (9600) | |||
| HR | 86 | float32 ABCD | RW | Default 4 | |||
| HR | 61456 | uint32 ABCD | W | The protocol writes 00 00 here; requests must cover an even number of registers, so this sends two zero registers with FC16 | |||
| HR | 62720 | uint32 ABCD | RW | BCD, one byte each from the high byte: demand interval (min), slide time (min), scroll time (s), backlight time (min). Default 15-01-00-60. Demand interval 0 = demand not updated; scroll 0 = no scrolling; backlight 0 = always on | |||
| HR | 63760 | uint16 | RW | Default 0 | |||
| HR | 63776 | uint16 | RW | Default 2 | |||
| HR | 63792 | float32 ABCD | R | h | Continuous working time |
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).