MBMap Registry
  1. Devices
  2. WAGO
  3. 879-3000 energy meter

WAGO 879-3000 energy meter Modbus register map

Also covers 879-3001, 879-3020, 879-3021, 879-3040

Three-phase MID energy meter (4PU, 4PS and 2PU CT variants) with Modbus RTU

  • Official
  • 147 registers
  • Modbus TCP and RTU
  • Revision 2 · 2026-11-10
  • Identity: 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 TCP and RTU
Unit ID
1
TCP port
502default
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

Connection values are defaults: the device may be configured differently.

Map

Registers
147 holding registers
Groups
4
Translation tables
8
Revision
2 · 2026-11-10
Added
()
File
maps/wago/879-3000.mbmap.json · 26 KB · history
SHA-256
358d29c64826391bb0fef10242362a797494f77d2aee4c7660d18b886f03a11e
Manufacturer
wago.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.

Registers
RoleRegisterAddressTypeValues
Serial number Serial number holding 16384 uint32 ABCD
Firmware Software version holding 16391 float32 ABCD

Sources and notes

Source: WAGO Energy Meters (MID) operating instructions 4PU/4PS/2PU CT, English, V1.8 (02/2024), appendix 3 (A3.1 to A3.3)

  • Checked against the manufacturer's manual (V1.8, appendix 3). Addresses in the manual are hexadecimal (0x4000 is 16384) and every register is read with function 03.
  • Every measured value is a 32-bit IEEE float in two holding registers, high word first (the manual's 'Float ABCD'). Whole numbers are 16-bit signed, apart from the serial number, checksum, status word and S0 pulse width (two registers, 'HEX' or 'Signed' in the manual).
  • Power is in kW, kvar and kVA and energy in kWh and kvarh, as the manual lists them.
  • The 'total' energy registers follow the combination code (0x400F): 1 import only, 2 export only, 3 import plus export, 4 and 5 import minus export. They can fall or go negative; use the import and export registers for rising counters.
  • Voltage average, current average and the CT ratio sit on registers the manual marks with an asterisk or grey: a direct-measuring meter leaves them at zero. A tariff-less meter holds zero in most T1 to T4 and Q1 to Q4 counters.
  • The meter has an RS-485 Modbus RTU interface, factory settings unit id 1, 9600 baud, 8 data bits, no parity, 1 stop bit. The manual does not describe Modbus TCP: the TCP access in the Home Assistant integration goes through the 879-9000 module, which forwards the meter's unit id and answers itself on unit 255.
  • The settings registers are writable with function 06 (function 16 for two-register values); access RW marks the ones the manual lists in A3.3. Not mapped: reserved registers, checksum 2, and the CT ratio history registers' meaning beyond their names.
AreaAddressNameTypeAccessUnitScaleDescription
HR 16384 uint32 ABCD R Two registers, shown as hex
HR 16386 uint16 R Variant code: 1111 on the 4PU, 1112 on the 4PS, 1113 on the 2PU CT
HR 16387 int16 RW Unit id, 1 to 247 (0 is broadcast); written with function 06
HR 16388 int16 RW
HR 16389 float32 ABCD R
HR 16391 float32 ABCD R
HR 16393 float32 ABCD R
HR 16395 int16 R A Rated current of the meter (the manual calls it meter amp)
HR 16396 uint16 R A One-register CT ratio; the two-register value at 0x401F is the one the manual shows how to write
HR 16397 float32 ABCD RW pulse/kWh Pulses per kWh of the S0 output: 10000, 2000, 1000, 100, 10, 1, 0.1 or 0.01
HR 16399 int16 R What the 'total' energy registers accumulate
HR 16400 uint16 RW s Display scroll time, 1 to 30 s
HR 16401 int16 RW
HR 16402 uint16 R One ASCII character: F for import, R for export
HR 16403 uint16 R One ASCII character: F for import, R for export
HR 16404 uint16 R One ASCII character: F for import, R for export
HR 16406 int16 RW Write 0 to reset
HR 16407 int16 R
HR 16408 int16 R
HR 16409 int16 R
HR 16410 int16 R
HR 16411 uint32 ABCD R Two registers, shown as hex
HR 16413 uint32 ABCD R Two registers, shown as hex
HR 16415 uint16 RW First half of the two-register CT ratio at 0x401F: the primary current, written together with the secondary (9995/5 in the manual example). Zero on a direct-measuring meter
HR 16416 uint16 RW Second half of the two-register CT ratio at 0x401F: the secondary current. Zero on a direct-measuring meter
HR 16417 uint16 RW ms S0 pulse width, 2 to 99 ms (the read table gives two registers, the write table one; mapped as one because the next register is 0x4022)
HR 16418 uint16 RW
HR 16422 int16 RW Value format of the meter: standard or integer
HR 16434 int16 RW
HR 16435 int16 RW
HR 20480 float32 ABCD R V
HR 20482 float32 ABCD R V
HR 20484 float32 ABCD R V
HR 20486 float32 ABCD R V
HR 20488 float32 ABCD R Hz
HR 20490 float32 ABCD R A
HR 20492 float32 ABCD R A
HR 20494 float32 ABCD R A
HR 20496 float32 ABCD R A
HR 20498 float32 ABCD R kW
HR 20500 float32 ABCD R kW
HR 20502 float32 ABCD R kW
HR 20504 float32 ABCD R kW
HR 20506 float32 ABCD R kvar
HR 20508 float32 ABCD R kvar
HR 20510 float32 ABCD R kvar
HR 20512 float32 ABCD R kvar
HR 20514 float32 ABCD R kVA
HR 20516 float32 ABCD R kVA
HR 20518 float32 ABCD R kVA
HR 20520 float32 ABCD R kVA
HR 20522 float32 ABCD R
HR 20524 float32 ABCD R
HR 20526 float32 ABCD R
HR 20528 float32 ABCD R
HR 20530 float32 ABCD R V
HR 20532 float32 ABCD R V
HR 20534 float32 ABCD R V
HR 24576 float32 ABCD R kWh
HR 24578 float32 ABCD R kWh
HR 24580 float32 ABCD R kWh
HR 24582 float32 ABCD R kWh
HR 24584 float32 ABCD R kWh
HR 24586 float32 ABCD R kWh
HR 24588 float32 ABCD R kWh
HR 24590 float32 ABCD R kWh
HR 24592 float32 ABCD R kWh
HR 24594 float32 ABCD R kWh
HR 24596 float32 ABCD R kWh
HR 24598 float32 ABCD R kWh
HR 24600 float32 ABCD R kWh
HR 24602 float32 ABCD R kWh
HR 24604 float32 ABCD R kWh
HR 24606 float32 ABCD R kWh
HR 24608 float32 ABCD R kWh
HR 24610 float32 ABCD R kWh
HR 24612 float32 ABCD R kvarh
HR 24614 float32 ABCD R kvarh
HR 24616 float32 ABCD R kvarh
HR 24618 float32 ABCD R kvarh
HR 24620 float32 ABCD R kvarh
HR 24622 float32 ABCD R kvarh
HR 24624 float32 ABCD R kvarh
HR 24626 float32 ABCD R kvarh
HR 24628 float32 ABCD R kvarh
HR 24630 float32 ABCD R kvarh
HR 24632 float32 ABCD R kvarh
HR 24634 float32 ABCD R kvarh
HR 24636 float32 ABCD R kvarh
HR 24638 float32 ABCD R kvarh
HR 24640 float32 ABCD R kvarh
HR 24642 float32 ABCD R kvarh
HR 24644 float32 ABCD R kvarh
HR 24646 float32 ABCD R kvarh
HR 24648 int16 RW Active tariff, 1 to 4; written with function 06
HR 24649 float32 ABCD RW kWh Resettable day register; write zero to reset it
HR 24651 float32 ABCD R kWh
HR 24653 float32 ABCD R kWh
HR 24655 float32 ABCD R kWh
HR 24657 float32 ABCD R kWh

Help improve this map