REDZ LKM111 / LKM114 Modbus register map
IEC 62056-21 meter to Modbus RTU gateway with RS232 on the meter side; LKM111 has RS232 and LKM114 RS485 on the Modbus side. Reads one meter
- Verified
- 36 registers
- Modbus RTU
- Revision 2
Verified: Tested on a real device.
Communication
- Protocol
- Modbus RTU
- Unit ID
- 1
- Serial
- 19200 8N1 · 19200 baud, 8 data bits, none parity, 1 stop bit
- 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
- 36 holding registers
- Groups
- 3
- Translation tables
- 1
- Revision
- 2
- Added
- ()
- File
- maps/redz/lkm111-lkm114.mbmap.json · 12 KB · history
- SHA-256
- 0c37e5b181aad9afafcaad8558a4afd4e9ee9ffe4b0017d8c0a85d52cefe979b
- Manufacturer
- redz-sc.com
Sources and notes
Source: REDZ, "LKM Series Electricity Meter Protocol to Modbus Protocol Gateways User Manual", sections 6.1, 6.5-6.10 and 8 (standard 24-register firmware)
- REDZ LKM111 / LKM114.
- Standard firmware with the OBIS_EURO list (24 values per meter). Other firmware (OBIS_EURO_1..14, TRF, 64-register versions) keeps the same addresses but maps different OBIS codes, so the names below would be wrong for it.
- Data addresses: the manual's table lists them as 1, 3, 5... (1-based), while its Modbus Poll and ZTerminal examples read
- Time at wire address 0 and 1.8.0 at 4. This map follows the examples. The settings (128-133) and monitoring (160-189)
- addresses are wire addresses, as the FC06/FC16 examples show.
- Values are the read-out digits without the decimal point, so no scale or unit is given: they depend on the meter.
- Mode switch 1 (OFF-OFF): 19200 8N1 on the Modbus side, 300 baud auto-switching on the meter side.
- Tested on an LKM111 / LKM114 with one meter, November 2026. All 36 registers of the map were read without errors in 3 requests. Checked: the 32-bit word order (big), the meter values (time, date, energies, maximum demand), the settings, and the monitoring registers (IEC read counter, uptime, both firmware words). Instantaneous values (current, voltage, power factor, frequency) read 0 on the meter in use, so their scaling was not checked.
| Area | Address | Name | Type | Access | Unit | Scale | Description |
|---|---|---|---|---|---|---|---|
| HR | 0 | uint32 ABCD | R | OBIS 0.9.1. hhmmss as digits (10:25:07 reads 102507). 0 if not in the read-out | |||
| HR | 2 | uint32 ABCD | R | OBIS 0.9.2. yymmdd as digits (22-09-14 reads 220914). 0 if not in the read-out | |||
| HR | 4 | uint32 ABCD | R | OBIS 1.8.0. Digits of the read-out value without the decimal point (e.g. 6895.2317 reads 68952317): apply the meter's decimals. 0 if not in the read-out | |||
| HR | 6 | uint32 ABCD | R | OBIS 2.8.0. Digits of the read-out value without the decimal point (e.g. 6895.2317 reads 68952317): apply the meter's decimals. 0 if not in the read-out | |||
| HR | 8 | uint32 ABCD | R | OBIS 3.8.0. Digits of the read-out value without the decimal point (e.g. 6895.2317 reads 68952317): apply the meter's decimals. 0 if not in the read-out | |||
| HR | 10 | uint32 ABCD | R | OBIS 4.8.0. Digits of the read-out value without the decimal point (e.g. 6895.2317 reads 68952317): apply the meter's decimals. 0 if not in the read-out | |||
| HR | 12 | uint32 ABCD | R | OBIS 5.8.0. Digits of the read-out value without the decimal point (e.g. 6895.2317 reads 68952317): apply the meter's decimals. 0 if not in the read-out | |||
| HR | 14 | uint32 ABCD | R | OBIS 6.8.0. Digits of the read-out value without the decimal point (e.g. 6895.2317 reads 68952317): apply the meter's decimals. 0 if not in the read-out | |||
| HR | 16 | uint32 ABCD | R | OBIS 7.8.0. Digits of the read-out value without the decimal point (e.g. 6895.2317 reads 68952317): apply the meter's decimals. 0 if not in the read-out | |||
| HR | 18 | uint32 ABCD | R | OBIS 8.8.0. Digits of the read-out value without the decimal point (e.g. 6895.2317 reads 68952317): apply the meter's decimals. 0 if not in the read-out | |||
| HR | 20 | uint32 ABCD | R | OBIS 1.6.0. Digits of the read-out value without the decimal point (e.g. 6895.2317 reads 68952317): apply the meter's decimals. 0 if not in the read-out | |||
| HR | 22 | uint32 ABCD | R | OBIS 2.6.0. Digits of the read-out value without the decimal point (e.g. 6895.2317 reads 68952317): apply the meter's decimals. 0 if not in the read-out | |||
| HR | 24 | uint32 ABCD | R | OBIS 1.5.0. Digits of the read-out value without the decimal point (e.g. 6895.2317 reads 68952317): apply the meter's decimals. 0 if not in the read-out | |||
| HR | 26 | uint32 ABCD | R | OBIS 1.7.0. Digits of the read-out value without the decimal point (e.g. 6895.2317 reads 68952317): apply the meter's decimals. 0 if not in the read-out | |||
| HR | 28 | uint32 ABCD | R | OBIS 31.7.0. Digits of the read-out value without the decimal point (e.g. 6895.2317 reads 68952317): apply the meter's decimals. 0 if not in the read-out | |||
| HR | 30 | uint32 ABCD | R | OBIS 51.7.0. Digits of the read-out value without the decimal point (e.g. 6895.2317 reads 68952317): apply the meter's decimals. 0 if not in the read-out | |||
| HR | 32 | uint32 ABCD | R | OBIS 71.7.0. Digits of the read-out value without the decimal point (e.g. 6895.2317 reads 68952317): apply the meter's decimals. 0 if not in the read-out | |||
| HR | 34 | uint32 ABCD | R | OBIS 32.7.0. Digits of the read-out value without the decimal point (e.g. 6895.2317 reads 68952317): apply the meter's decimals. 0 if not in the read-out | |||
| HR | 36 | uint32 ABCD | R | OBIS 52.7.0. Digits of the read-out value without the decimal point (e.g. 6895.2317 reads 68952317): apply the meter's decimals. 0 if not in the read-out | |||
| HR | 38 | uint32 ABCD | R | OBIS 72.7.0. Digits of the read-out value without the decimal point (e.g. 6895.2317 reads 68952317): apply the meter's decimals. 0 if not in the read-out | |||
| HR | 40 | int32 ABCD | R | OBIS 13.7.0. Can be negative; the manual lists UInt32. 0 if not in the read-out | |||
| HR | 42 | uint32 ABCD | R | OBIS 14.7.0. Digits of the read-out value without the decimal point (e.g. 6895.2317 reads 68952317): apply the meter's decimals. 0 if not in the read-out | |||
| HR | 44 | uint32 ABCD | R | OBIS C.1.0. Meter ID / serial number. 0 if not in the read-out | |||
| HR | 46 | int32 ABCD | R | OBIS 16.7.0. Can be negative; the manual lists UInt32. 0 if not in the read-out | |||
| HR | 128 | uint16 | RW | Gateway slave id; answers the write with the old id | |||
| HR | 129 | uint16 | RW | s | Wait after each read attempt (default 10) | ||
| HR | 130 | uint16 | RW | ASCII code sent in the IEC 62056-21 option select message (0x30 = '0' default; 0x37 = '7') | |||
| HR | 131 | uint16 | RW | Default 1 | |||
| HR | 132 | uint16 | RW | Times the init string is sent before the request; 0 = off | |||
| HR | 133 | uint16 | RW | Meters read on the bus (this model reads one meter) | |||
| HR | 160 | uint32 ABCD | RW | IEC 62056-21 device address (usually the serial number); 0 = not used. Write with FC16 | |||
| HR | 162 | uint32 ABCD | R | Successful meter reads | |||
| HR | 164 | uint32 ABCD | R | s | Seconds since power-up; the gateway restarts every 24 h | ||
| HR | 166 | uint32 ABCD | R | 0xDDMYYYVV: day byte; month nibble; year 12 bits; version byte | |||
| HR | 168 | uint32 ABCD | R | Same layout as Firmware original; differs after a field upgrade | |||
| HR | 170 | uint32 ABCD | RW | 4 wake-up bytes sent before the read-out (needs Init string repeat count >= 1). Write with FC16 |
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).