Electro Industries Shark 250 Modbus register map
Also covers Shark 250T
Electro Industries/GaugeTech Shark 250 cyber-secure revenue meter and Shark 250T transducer, Modbus RTU/ASCII over RS-485
- Official
- 159 registers
- Modbus RTU
- Revision 2 · 2026-10-17
- Identity: model, firmware, serial number
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
- 57600 8N1 · 57600 baud, 8 data bits, none parity, 1 stop bit
- Byte / word order
- ABCD · bytes big-endian, words high first
- Addresses
- 1-based · wire address = address − 1
Connection values are defaults: the device may be configured differently.
Map
- Registers
- 159 holding registers
- Groups
- 9
- Revision
- 2 · 2026-10-17
- Added
- ()
- File
- maps/electro-industries/shark-250.mbmap.json · 30 KB · history
- SHA-256
- 63ace0e6062964b441d7211b59e82c7462e4f074de6f43b243d9deb4d8d2c68e
- Manufacturer
- electroind.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 |
|---|---|---|---|---|
| Model | Meter name | holding 1 | string[8] | |
| Serial number | Meter serial number | holding 9 | string[8] | |
| Firmware | Firmware version | holding 18 | string[2] |
Sources and notes
- Shark 250 Meter Modbus Manual · version V.1.07 Doc# E169711, chapter 4, Modbus register map (Rev 3); downloaded through the vendor's download form
Source: Electro Industries/GaugeTech, "Shark 250 Meter Modbus Manual", V.1.07 (Doc# E169711)
- All registers are holding registers (FC03 read, FC06/FC10 write). Addresses are the manual's 1-based decimal register numbers (register 1000 = PDU address 0x03E7).
- 32-bit values and floats span two registers with the high-order half first.
- Factory settings of the RS-485 port (COM2): 57600 baud, no parity, address 1, Modbus RTU (setup registers 30026 and 30027).
- Energy registers are integers formatted by registers 30117 (Wh and VAh) and 30118 (varh): energy scale (unit, kilo or mega), digit count and decimal places. The factory format is 8 digits in kilo units with no decimals.
- Q1+Q4 energy and power are labelled delivered and Q2+Q3 received by default (registers 30297-30344). Per-phase power and power factor are non-zero only with a wye hookup.
- Not in this map: the quadrant, Q, Vh, Ah, V2t and I2t accumulators, uncompensated readings, minimum/maximum blocks, harmonics and waveforms, option cards, aggregators, time of use, programmable settings other than the energy formats, secondary readings and logs.
| Area | Address | Name | Type | Access | Unit | Scale | Description |
|---|---|---|---|---|---|---|---|
| HR | 1 | string[8] | R | ||||
| HR | 9 | string[8] | R | ||||
| HR | 17 | uint16 | R | Bits 9-8: 0 panel meter, 1 transducer; bits 7-0: V-switch | |||
| HR | 18 | string[2] | R | ||||
| HR | 20 | uint16 | R | ||||
| HR | 21 | uint16 | R | ||||
| HR | 22 | uint16 | R | ||||
| HR | 23 | string[2] | R | ||||
| HR | 25 | uint16 | R | ||||
| HR | 26 | uint16 | R | ||||
| HR | 88 | string[4] | R | ||||
| HR | 1000 | float32 ABCD | R | V | |||
| HR | 1002 | float32 ABCD | R | V | |||
| HR | 1004 | float32 ABCD | R | V | |||
| HR | 1006 | float32 ABCD | R | V | |||
| HR | 1008 | float32 ABCD | R | V | |||
| HR | 1010 | float32 ABCD | R | V | |||
| HR | 1012 | float32 ABCD | R | A | |||
| HR | 1014 | float32 ABCD | R | A | |||
| HR | 1016 | float32 ABCD | R | A | |||
| HR | 1018 | float32 ABCD | R | W | |||
| HR | 1020 | float32 ABCD | R | var | |||
| HR | 1022 | float32 ABCD | R | VA | |||
| HR | 1024 | float32 ABCD | R | ||||
| HR | 1026 | float32 ABCD | R | Hz | |||
| HR | 1028 | float32 ABCD | R | A | |||
| HR | 1030 | float32 ABCD | R | W | |||
| HR | 1032 | float32 ABCD | R | W | |||
| HR | 1034 | float32 ABCD | R | W | |||
| HR | 1036 | float32 ABCD | R | var | |||
| HR | 1038 | float32 ABCD | R | var | |||
| HR | 1040 | float32 ABCD | R | var | |||
| HR | 1042 | float32 ABCD | R | VA | |||
| HR | 1044 | float32 ABCD | R | VA | |||
| HR | 1046 | float32 ABCD | R | VA | |||
| HR | 1048 | float32 ABCD | R | ||||
| HR | 1050 | float32 ABCD | R | ||||
| HR | 1052 | float32 ABCD | R | ||||
| HR | 1054 | float32 ABCD | R | V | |||
| HR | 1056 | float32 ABCD | R | V | |||
| HR | 1058 | float32 ABCD | R | V | |||
| HR | 1060 | int16 | R | ° | ×0.1 | ||
| HR | 1061 | int16 | R | ° | ×0.1 | ||
| HR | 1062 | int16 | R | ° | ×0.1 | ||
| HR | 1063 | uint16 | R | % | ×0.01 | ||
| HR | 1064 | uint16 | R | % | ×0.01 | ||
| HR | 1065 | uint16 | R | % | ×0.01 | ||
| HR | 1075 | float32 ABCD | R | V | |||
| HR | 1077 | float32 ABCD | R | V | |||
| HR | 1079 | float32 ABCD | R | A | |||
| HR | 1500 | int32 ABCD | R | Wh | Integer energy formatted by register 30117 (Wh, VAh) or 30118 (varh) | ||
| HR | 1502 | int32 ABCD | R | Wh | Integer energy formatted by register 30117 (Wh, VAh) or 30118 (varh) | ||
| HR | 1504 | int32 ABCD | R | Wh | Integer energy formatted by register 30117 (Wh, VAh) or 30118 (varh) | ||
| HR | 1506 | int32 ABCD | R | Wh | Integer energy formatted by register 30117 (Wh, VAh) or 30118 (varh) | ||
| HR | 1508 | int32 ABCD | R | varh | Integer energy formatted by register 30117 (Wh, VAh) or 30118 (varh) | ||
| HR | 1510 | int32 ABCD | R | varh | Integer energy formatted by register 30117 (Wh, VAh) or 30118 (varh) | ||
| HR | 1512 | int32 ABCD | R | varh | Integer energy formatted by register 30117 (Wh, VAh) or 30118 (varh) | ||
| HR | 1514 | int32 ABCD | R | varh | Integer energy formatted by register 30117 (Wh, VAh) or 30118 (varh) | ||
| HR | 1516 | int32 ABCD | R | VAh | Integer energy formatted by register 30117 (Wh, VAh) or 30118 (varh) | ||
| HR | 1518 | int32 ABCD | R | Wh | Integer energy formatted by register 30117 (Wh, VAh) or 30118 (varh) | ||
| HR | 1520 | int32 ABCD | R | Wh | Integer energy formatted by register 30117 (Wh, VAh) or 30118 (varh) | ||
| HR | 1522 | int32 ABCD | R | Wh | Integer energy formatted by register 30117 (Wh, VAh) or 30118 (varh) | ||
| HR | 1524 | int32 ABCD | R | Wh | Integer energy formatted by register 30117 (Wh, VAh) or 30118 (varh) | ||
| HR | 1526 | int32 ABCD | R | Wh | Integer energy formatted by register 30117 (Wh, VAh) or 30118 (varh) | ||
| HR | 1528 | int32 ABCD | R | Wh | Integer energy formatted by register 30117 (Wh, VAh) or 30118 (varh) | ||
| HR | 1530 | int32 ABCD | R | Wh | Integer energy formatted by register 30117 (Wh, VAh) or 30118 (varh) | ||
| HR | 1532 | int32 ABCD | R | Wh | Integer energy formatted by register 30117 (Wh, VAh) or 30118 (varh) | ||
| HR | 1534 | int32 ABCD | R | Wh | Integer energy formatted by register 30117 (Wh, VAh) or 30118 (varh) | ||
| HR | 1536 | int32 ABCD | R | Wh | Integer energy formatted by register 30117 (Wh, VAh) or 30118 (varh) | ||
| HR | 1538 | int32 ABCD | R | Wh | Integer energy formatted by register 30117 (Wh, VAh) or 30118 (varh) | ||
| HR | 1540 | int32 ABCD | R | Wh | Integer energy formatted by register 30117 (Wh, VAh) or 30118 (varh) | ||
| HR | 1542 | int32 ABCD | R | varh | Integer energy formatted by register 30117 (Wh, VAh) or 30118 (varh) | ||
| HR | 1544 | int32 ABCD | R | varh | Integer energy formatted by register 30117 (Wh, VAh) or 30118 (varh) | ||
| HR | 1546 | int32 ABCD | R | varh | Integer energy formatted by register 30117 (Wh, VAh) or 30118 (varh) | ||
| HR | 1548 | int32 ABCD | R | varh | Integer energy formatted by register 30117 (Wh, VAh) or 30118 (varh) | ||
| HR | 1550 | int32 ABCD | R | varh | Integer energy formatted by register 30117 (Wh, VAh) or 30118 (varh) | ||
| HR | 1552 | int32 ABCD | R | varh | Integer energy formatted by register 30117 (Wh, VAh) or 30118 (varh) | ||
| HR | 1554 | int32 ABCD | R | varh | Integer energy formatted by register 30117 (Wh, VAh) or 30118 (varh) | ||
| HR | 1556 | int32 ABCD | R | varh | Integer energy formatted by register 30117 (Wh, VAh) or 30118 (varh) | ||
| HR | 1558 | int32 ABCD | R | varh | Integer energy formatted by register 30117 (Wh, VAh) or 30118 (varh) | ||
| HR | 1560 | int32 ABCD | R | varh | Integer energy formatted by register 30117 (Wh, VAh) or 30118 (varh) | ||
| HR | 1562 | int32 ABCD | R | varh | Integer energy formatted by register 30117 (Wh, VAh) or 30118 (varh) | ||
| HR | 1564 | int32 ABCD | R | varh | Integer energy formatted by register 30117 (Wh, VAh) or 30118 (varh) | ||
| HR | 1566 | int32 ABCD | R | VAh | Integer energy formatted by register 30117 (Wh, VAh) or 30118 (varh) | ||
| HR | 1568 | int32 ABCD | R | VAh | Integer energy formatted by register 30117 (Wh, VAh) or 30118 (varh) | ||
| HR | 1570 | int32 ABCD | R | VAh | Integer energy formatted by register 30117 (Wh, VAh) or 30118 (varh) | ||
| HR | 2000 | float32 ABCD | R | A | |||
| HR | 2002 | float32 ABCD | R | A | |||
| HR | 2004 | float32 ABCD | R | A | |||
| HR | 2006 | float32 ABCD | R | W | |||
| HR | 2008 | float32 ABCD | R | var | |||
| HR | 2010 | float32 ABCD | R | W | |||
| HR | 2012 | float32 ABCD | R | var | |||
| HR | 2014 | float32 ABCD | R | VA | |||
| HR | 2016 | float32 ABCD | R | ||||
| HR | 2018 | float32 ABCD | R | ||||
| HR | 2020 | float32 ABCD | R | A | |||
| HR | 2022 | float32 ABCD | R | W | |||
| HR | 2024 | float32 ABCD | R | W | |||
| HR | 2026 | float32 ABCD | R | W |
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).