
Hager Hager XEM with EMC flow R2 (battery)
The Hager XEM with EMC flow R2 is a residential energy storage system combining a battery, inverter, and the XEM470 Energy Management Controller on a single DIN-rail platform. The EMC controls PV self-consumption and coordinates the battery, EV charging stations, and grid. This Modbus TCP template reads two core battery registers: instantaneous charge or discharge power and battery state of charge. Connecting this template to the ModbusCloud Gateway gives installers and building owners continuous visibility into battery behaviour across sites without opening the Hager flow cloud.
- Protocol
- Modbus TCP
- Connection
- Ethernet, Modbus TCP
- Registers
- 2, read only
- Brand
- Hager
- Last updated
Registers (2)
2 read, 0 write
| Name | Unit | Access | Address (Hidden until you enter your email) | Function (hidden) | Type (hidden) |
|---|---|---|---|---|---|
| power | W | Read | |||
| soc | % | Read |
Loading registers…
Send your device list
If a device is not in the library yet, we build the template for free as soon as we have the register data.
Use cases
- Monitor battery state of charge continuously to detect unexpected deep-discharge events over time.
- Track charge and discharge power to verify the battery cycles correctly with available PV surplus.
- Alert on sustained discharge power when the battery should be idle or charging from grid.
- Compare state of charge at the start and end of each day to confirm capacity is not degrading.
- Report daily battery utilisation to building owners as part of a regular energy performance review.
Installation
Confirm the XEM470 EMC is connected to the local LAN via its Ethernet port and that Modbus TCP access is enabled under the communication or Modbus section of the device configuration.
Connect the ModbusCloud Gateway to the same LAN segment as the XEM470 and verify IP reachability between the two devices, for example by pinging the XEM470 address from a laptop on the same subnet.
In the ModbusCloud portal, add the Gateway, import the Hager XEM with EMC flow R2 (battery) template, and assign the correct IP address and unit ID for your XEM470 installation.
Spot-check both registers in the portal live-data view: the power register at address 4138 should show a signed watt value reflecting current battery activity, and the soc register at address 4146 should show a percentage between 0 and 100.
Things to watch for
The portal connects but both registers return zero or no data. Why?
Confirm that Modbus TCP is explicitly enabled in the XEM470 configuration and that no firewall or VLAN is blocking port 502 between the ModbusCloud Gateway and the XEM470. Some firmware versions disable the Modbus TCP server by default; check the device's communication settings and re-enable it if needed.
The power register reads an unexpected large negative or positive value. What is wrong?
Address 4138 returns a signed int32 value. If your Modbus client is treating it as an unsigned 32-bit integer, large positive values will appear instead of negative ones during charging. Verify that the data type is configured as int32 in the template, which it is by default.
The state of charge value jumps erratically between reads. How do I fix this?
Address 4146 returns a uint16 value. If you see erratic jumps, confirm the function code is 3 (read holding registers) and that only one Modbus master is polling the XEM470 at a time. Multiple simultaneous masters can cause garbled responses on some firmware revisions.
Can I rely on the power and soc registers for billing or settlement purposes?
These registers provide operational monitoring data for energy management purposes. They are not MID-certified measurement values. For billing or settlement, use the dedicated MID-certified energy meters in the Hager flow installation. Read-only access here carries no write risk, but always verify your legal metering requirements with the relevant authority.
Want to see how it works?












