
SolarMax MAX.STORAGE / MAX.STORAGE Ultimate (battery)
The SolarMax MAX.STORAGE and MAX.STORAGE Ultimate are residential and light-commercial AC-coupled battery storage systems designed to maximise solar self-consumption in single-family and multi-family buildings. This Modbus TCP template reads battery power (charge and discharge) and state of charge, and writes to three operating-mode registers that control the charge power setpoint, the operating mode (including hold), and a mandatory watchdog. Connecting the ModbusCloud Gateway to the MAX.STORAGE gives installers and building owners live visibility into battery behaviour and a programmable path to demand-side control.
- Protocol
- Modbus TCP
- Connection
- Ethernet, Modbus TCP
- Registers
- 5, read and write
- Brand
- SolarMax
- Last updated
Registers (5)
2 read, 3 write
| Name | Unit | Access | Address (Hidden until you enter your email) | Function (hidden) | Type (hidden) |
|---|---|---|---|---|---|
| power | W | Read | |||
| soc | % | Read | |||
| batterymode_a | Write | ||||
| batterymode_b | Write | ||||
| batterymode_c | Write |
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 long-term capacity fade across seasons.
- Track charging and discharging power at register 114 to verify the battery cycles as the energy-management system intends.
- Alert on unexpected sustained discharge events during peak grid-tariff hours to reduce import costs.
- Compare daily self-consumption cycles over multiple months to evaluate return on the storage investment.
- Verify that hold mode is active by confirming the batterymode registers respond correctly after a firmware update.
Installation
Enable Modbus TCP on the MAX.STORAGE or MAX.STORAGE Ultimate via the device web interface under the communication or Modbus section, and note the assigned IP address and port (default 502).
Connect the ModbusCloud Gateway to the same LAN segment as the MAX.STORAGE, ensuring no firewall rules block TCP port 502 between the Gateway and the storage unit.
In the ModbusCloud portal, add a new device, import the SolarMax MAX.STORAGE template, and set the unit ID to match the slave address configured on the storage system (default is typically 1).
Spot-check the integration by reading register 122 (soc) and register 114 (power) in the portal's live register view and confirming the values match those shown in the MAX.STORAGE local web interface.
Things to watch for
Why does register 114 always read zero even when the battery is active?
Register 114 is a 32-bit signed integer spanning two consecutive 16-bit words. Ensure your poll reads both words as a single int32. Reading only one word returns zero or a partial value. Confirm function code 4 is used, not function code 3.
The gateway connects but state-of-charge values never appear. What now?
Verify the Modbus TCP slave address on the storage unit matches the unit ID entered in the portal. Also confirm the device's Modbus TCP service is active: some firmware versions require it to be explicitly enabled in the communication settings after each firmware update.
I wrote to batterymode registers 141 and 142 but the mode reverts immediately. Why?
The MAX.STORAGE uses a watchdog mechanism on register 142. According to SolarMax documentation, register 142 must be rewritten with a non-zero value at least once every 60 seconds. If the value in 142 remains unchanged for more than 10 seconds, the unit resets it and ignores the mode command. ModbusCloud writes registers at most once per minute, so keeping this watchdog alive is borderline at best and control through ModbusCloud is not guaranteed, while reading values works. Additionally, register 140/141/142 write access may not be available on all firmware versions: users on firmware 3.42 have reported these registers are unreachable.
Is it safe to write to the batterymode setpoint registers regularly?
Use the write registers only if your integration actively manages the watchdog cycle. Writing a charge power setpoint or mode without maintaining the watchdog causes the device to revert silently. Incorrect setpoints can force unintended charge or hold states that conflict with the system's built-in protection logic, so test in a controlled window before deploying automated writes.
Want to see how it works?








