Easy Modbus
  1. Home
  2. Modbus register maps
  3. Wilo
  4. Para MAXO (built-in Modbus RTU)

Pump (high-efficiency circulator) · Modbus register map

Wilo Para MAXO (built-in Modbus RTU) Modbus register map

Updated 16 October 2026

Short answer

The Wilo Para MAXO is a high-efficiency OEM circulator (used inside boilers and heat pumps) with Modbus RTU on its signal cable. A master switches the pump on/off, picks constant speed or constant/variable differential pressure, and writes a relative duty point in 0.5 % steps; a bus command timer can drop the pump to preset fallback values on comm loss. Read-only data covers pressure, calculated flow, power, energy, run hours, speed, status bits and the Wilo error code.

This page lists 28 Modbus registers for the Wilo Para MAXO (built-in Modbus RTU) — 10 writable — with the table, 0-based wire address, data type, word order, scale, units and access of each, re-typed from Wilo’s own free documentation (linked below) and checked against it.

Manufacturer
Wilo
Model
Para MAXO (built-in Modbus RTU)
Equipment type
Pump (high-efficiency circulator)
Registers
28 (10 writable)
Transport
Modbus RTU
Default unit ID
101
Default serial
19200 baud, 8E1
Documented addressing
0-based (the number printed is the address on the wire)
Firmware
Para MAXO Modbus module 1.00-99.99
Also known as
Para MAXO, Wilo-Para MAXO, Para MAXO Modbus
Source document
WILO datapoint list MODBUS - Para MAXO (Modbus list of registers) · wilo458422
Download CSV all columns JSON Manufacturer PDF ↗

Integration notes: Wilo Para MAXO (built-in Modbus RTU)

Integration in brief

Talk to address 101 at 19200 8E1 by default. Write H 42 (control mode), then H 1 (duty point, 200 = 100 %) and H 40 = 1 to run; read I 200/I 400 for set and actual duty point, I 1/I 2/I 4 for pressure, flow and power, and I 404/I 940 for status and errors.

Minimum registers to map

Addresses are 0-based wire addresses. Enough to monitor and run the unit; map more as the job needs.

RegisterNameTypeWhyAccess
HR 40Pump Command inBITMAP16Pump on/offRead/write
HR 42Control FunctionUINT16Control modeRead/write
HR 1duty point (rel.)INT16Duty point (setpoint), 0.5 % stepsRead/write
IR 404Operation StatusBITMAP16Operation status bitsRead
IR 940Warning/Error MessageUINT16Wilo error codeRead
IR 4power inputUINT16Electrical powerRead
IR 7SpeedINT16SpeedRead
IR 2Flow (calculated)UINT16Calculated flowRead

Enable Modbus control & writes

No enable step is documented: the pump accepts Modbus writes directly. Use Bus Command Timer (H 300) = MANUAL to allow both local and bus operation (last write wins).

Communication loss & watchdog

Fallback emulation (guide p. 23): set H 400 (20-65534 s, default 300 s), the fallback on/off H 404 and the fallback duty point H 402, then write H 300 = 6 (SET_PRESET) and keep rewriting it before the timeout. If it lapses the pump runs on the preset values. The fallback control mode register H 403 is not listed here because Wilo's documents give conflicting codes for it.

Byte order & addressing

Network setup

Watch out for

Wilo Para MAXO (built-in Modbus RTU) Modbus registers

Address = 0-based wire address (the documented number is shown under it when it differs) · Order: ABCD = high word first, CDAB = low word first · Scale: engineering value = raw × scale.

28 of 28 shown
Wilo Para MAXO (built-in Modbus RTU) Modbus register map
TableAddressNameDescriptionTypeOrderScaleUnitsAccessValues / bits
IR1PressureActual (differential) pressure; 65535 = error/not available.UINT16× 10cm H2ORead
IR2Flow (calculated)Calculated estimate, not for closed-loop control; error value 9999 (list) or 65535 (guide).UINT16× 0.1m³/hRead
IR3Energy ConsumptionTotal consumed electrical energy; 65535 = error.UINT16kWhRead
IR4power inputActual electrical input power; 65535 = error.UINT16WRead
IR5Operation TimeTotal running time (motor turning); 65535 = error.UINT16× 10hRead
IR7SpeedRotational speed; 65535 = error.INT16rpmRead
IR10Control Function (active)Active control mode.UINT16Read1 = Gen_Spd (constant speed); 3 = Gen_PHdConst (constant differential pressure); 4 = Gen_PHdVar (variable differential pressure); 140 = Gen_UsrDfd (user-configurable PID)
IR18Speed max-pres-valueMaximum speed value.UINT16rpmRead
IR19Speed min-pres-valueMinimum speed value.UINT16rpmRead
IR24Flow (calculated) max-pres-valueUINT16× 0.1m³/hRead
IR200duty point (rel.) (active)Setpoint currently in effect.INT16× 0.5%Read
IR202duty point (rel.) maximum-outputHighest duty point the pump accepts in this mode.INT16× 0.5%Read
IR204duty point (rel.) minimum-outputLowest duty point the pump accepts; lower writes are clamped.INT16× 0.5%Read
IR208duty point (rel.) unitsUnit code of the duty-point reference.UINT16Read19 = kWh; 47 = W; 73 = s; 104 = rpm (min-1); 135 = m³/h
IR400duty point (rel.) (output)Actual operating point as % of the duty-point range.INT16× 0.5%Read
IR402Pump Command activeCommand currently in effect.BITMAP16Readbit 0 = Pump on; bit 3 = TRUE (static 1)
IR404Operation StatusPump operating state flags.BITMAP16Readbit 0 = Ready for Operation; bit 1 = Pump on; bit 3 = Warning Present; bit 4 = Error Present (will retry); bit 5 = Final Error present (no retry)
IR940Warning/Error MessageCurrent Wilo warning/error code (E000-E255).UINT16Read0 = No error; 4 = Mains undervoltage; 7 = Generator operation; 10 = Blocked rotor; 11 = Dry running; 19 = Pump flow error; 21 = Motor overload (torque); 23 = Short circuit; 25 = Motor/winding contact missing; 30 = Module overtemperature; 31 = Power bridge/component overtemperature; 32 = DC link undervoltage; 33 = DC link overvoltage; 38 = Fluid temperature sensor defect; 50 = BMS communication timeout; 111 = Overcurrent; 112 = Speed above synchronous value; 119 = Turbine operation; 252 = Extended code
HR1duty point (rel.)Setpoint as % of the duty-point range (200 = 100 %); 32767 = error.INT16× 0.5%Read/write
HR40Pump Command inPump on/off command.BITMAP16Read/writebit 0 = Pump on
HR42Control FunctionControl mode; an unsupported value leaves the previous mode active.UINT16Read/write1 = Gen_Spd (constant speed); 3 = Gen_PHdConst (constant differential pressure); 4 = Gen_PHdVar (variable differential pressure); 140 = Gen_UsrDfd (user-configurable PID)
HR300Bus Command TimerLocal-lockout / fallback timer state machine (write SET or SET_PRESET periodically).UINT16Read/write1 = OFF; 2 = SET; 3 = ACTIVE; 4 = RESET; 5 = MANUAL; 6 = SET_PRESET; 7 = ACTIVE_PRESET; 8 = RESET_PRESET; 9 = MANUAL_PRESET
HR400Bus Command Timer TimeoutFallback timeout, 20-65534 s (factory 300 s).UINT16sRead/write
HR402duty point (rel.) presetFallback setpoint used after the bus command timer elapses.INT16× 0.5%Read/write
HR404Pump Command presetFallback on/off command.BITMAP16Read/writebit 0 = Pump on preset
HR61440interface device identifierModbus slave address, 1-247 (default 101).UINT16Read/write
HR61441transmission serial speedBaud rate (default 19200).UINT16Read/write0 = 300; 1 = 600; 2 = 1200; 3 = 2400; 4 = 4800; 5 = 9600; 6 = 19200; 7 = 38400; 8 = 57600; 9 = 115200; 10 = 76800; 12 = Invalid
HR61442transmission serial frameData bits / parity / stop bits (default 8E1).UINT16Read/write2 = 8N1; 3 = 8N2; 6 = 8E1; 10 = 8O1; 15 = Invalid

Notes on this map

Check it against the live device. A register map tells you what the controller can expose; the unit in front of you may differ by firmware or options. Read a few registers and compare them with the unit’s own display; for a 32-bit value the float and byte-order decoder shows all four word orders at once, so a wrong word order or scale is obvious. New to this? Read what a register map is and why addresses are off by one.

Questions about the Wilo Para MAXO (built-in Modbus RTU)

What Modbus registers does the Wilo Para MAXO (built-in Modbus RTU) have?

This map lists 28 registers: 18 input registers, 10 holding registers. 10 of them can be written. Registers vary with firmware, options and configuration, so confirm against the device.

Are the Wilo Para MAXO (built-in Modbus RTU) Modbus addresses 0-based or 1-based?

The manufacturer's document numbers registers 0-based (the number printed is the address on the wire). Every address on this page is the 0-based wire address you put in the request; the documented number is shown under it where it differs. Wilo register numbers start at zero and equal the request address (Wilo's Para MAXO Modbus technical guide states this explicitly), so Flow 'I 2' is input register address 2 on the wire.

What are the minimum Modbus registers to integrate the Wilo Para MAXO (built-in Modbus RTU)?

Start with HR 40 Pump Command in (Pump on/off); HR 42 Control Function (Control mode); HR 1 duty point (rel.) (Duty point (setpoint), 0.5 % steps); IR 404 Operation Status (Operation status bits); IR 940 Warning/Error Message (Wilo error code); IR 4 power input (Electrical power); IR 7 Speed (Speed); IR 2 Flow (calculated) (Calculated flow).

How do I enable Modbus control of the Wilo Para MAXO (built-in Modbus RTU)?

No enable step is documented: the pump accepts Modbus writes directly. Use Bus Command Timer (H 300) = MANUAL to allow both local and bus operation (last write wins).

What happens when the Wilo Para MAXO (built-in Modbus RTU) loses Modbus communication?

Fallback emulation (guide p. 23): set H 400 (20-65534 s, default 300 s), the fallback on/off H 404 and the fallback duty point H 402, then write H 300 = 6 (SET_PRESET) and keep rewriting it before the timeout. If it lapses the pump runs on the preset values. The fallback control mode register H 403 is not listed here because Wilo's documents give conflicting codes for it.

Where is the official Wilo Para MAXO (built-in Modbus RTU) Modbus documentation?

The source is WILO datapoint list MODBUS - Para MAXO (Modbus list of registers) (wilo458422), published free by Wilo at https://cms.media.wilo.com/cdndoc/wilo458422/9310881/wilo458422.html.

More Wilo Modbus register maps

Source: WILO datapoint list MODBUS - Para MAXO (Modbus list of registers) · wilo458422. Register numbers, types, scaling and units are reproduced as published; descriptions are our own.