
SunSpec Model 704 — DER AC Controls
SunSpec Model 704 DER AC Controls is a standardized Modbus TCP information model defined by the SunSpec Alliance for controlling distributed energy resources such as inverters and battery storage systems. Part of the IEEE 1547-2018 aligned 700-series, it exposes power factor setpoints for injection and absorption modes, active power setpoints and percentage limits with reversion timers, reactive power setpoints and ramp rates, and an anti-islanding enable flag. Scale factor registers accompany each control group. The template lets you monitor enable states and remaining reversion times, and write setpoints from the ModbusCloud portal without opening a device web interface.
- Protocol
- Modbus TCP
- Connection
- Ethernet, Modbus TCP
- Registers
- 45, read and write
- Brand
- SunSpec
- Last updated
Registers (45)
45 read, 32 write
| Name | Unit | Access | Address (Hidden until you enter your email) | Function (hidden) | Type (hidden) |
|---|---|---|---|---|---|
| id | Read | ||||
| l | Read | ||||
| pfwinjena | Read and write | ||||
| pfwinjenarvrt | Read and write | ||||
| pfwinjrvrttms | Secs | Read and write | |||
| pfwinjrvrtrem | Secs | Read | |||
| pfwabsena | Read and write | ||||
| pfwabsenarvrt | Read and write | ||||
| pfwabsrvrttms | Secs | Read and write | |||
| pfwabsrvrtrem | Secs | Read | |||
| wmaxlimpctena | Read and write | ||||
| wmaxlimpct | Pct | Read and write | |||
| wmaxlimpctrvrt | Pct | Read and write | |||
| wmaxlimpctenarvrt | Read and write | ||||
| wmaxlimpctrvrttms | Secs | Read and write | |||
| wmaxlimpctrvrtrem | Secs | Read | |||
| wsetena | Read and write | ||||
| wsetmod | Read and write | ||||
| wset | W | Read and write | |||
| wsetrvrt | W | Read and write | |||
| wsetpct | Pct | Read and write | |||
| wsetpctrvrt | Pct | Read and write | |||
| wsetenarvrt | Read and write | ||||
| wsetrvrttms | Secs | Read and write | |||
| wsetrvrtrem | Secs | Read | |||
| varsetena | Read and write | ||||
| varsetmod | Read and write | ||||
| varsetpri | Read and write | ||||
| varset | Var | Read and write | |||
| varsetrvrt | Var | Read and write | |||
| varsetpct | Pct | Read and write | |||
| varsetpctrvrt | Pct | Read and write | |||
| varsetenarvrt | Read and write | ||||
| varsetrvrttms | Secs | Read and write | |||
| varsetrvrtrem | Secs | Read | |||
| wrmp | %Max/Sec | Read and write | |||
| wrmpref | Read and write | ||||
| varrmp | %Max/Sec | Read and write | |||
| antiislena | Read and write | ||||
| pf_sf | Read | ||||
| wmaxlimpct_sf | Read | ||||
| wset_sf | Read | ||||
| wsetpct_sf | Read | ||||
| varset_sf | Read | ||||
| varsetpct_sf | 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 WMaxLimPct and its enable flag to verify active power curtailment is applied at the expected percentage.
- Track remaining reversion timer registers to confirm setpoints revert correctly after a scheduled control window ends.
- Alert on WSet or WSetPct changes to detect unauthorized or unintended active power setpoint overwrites across sites.
- Compare VarSet and VarSetPct enable states across multiple DER units to verify uniform reactive power dispatch.
- Verify anti-islanding enable flag status after firmware updates to confirm protection has not been silently disabled.
Installation
Enable Modbus TCP on the target DER device under its communication or network settings, and note the assigned IP address and TCP port (default 502 for most SunSpec devices).
Connect the DER device and the ModbusCloud Gateway to the same LAN segment, confirming no firewall rules block TCP port 502 between them.
In the ModbusCloud portal, add your Gateway, create a new device, import this SunSpec Model 704 template, and set the correct Modbus unit ID matching the device configuration.
Spot-check the id register (address 0): a returned value of 704 confirms the model block is correctly located and communication is working.
Things to watch for
Why do WMaxLimPct or WSet have no effect on the device?
Each control group has a dedicated enable register. If WMaxLimPctEna or WSetEna is set to 0, the DER stores the setpoint value but does not apply it. Write 1 to the relevant enable register to activate the control. Once enabled, subsequent setpoint changes take effect without re-writing the enable register.
Reversion timer registers show zero. Is the control stuck?
A reversion timeout of zero means the setpoint persists indefinitely until changed manually. The remaining-time registers will read zero in this state. Set a non-zero value in the RvrtTms register before enabling the control if you want automatic reversion to the fallback setpoint after a fixed period.
The Gateway connects but all register reads return errors or NaN.
SunSpec model blocks are located at a dynamic offset within the holding register space, not at a fixed absolute address. Confirm the absolute base address of the Model 704 block on your specific device by scanning from the SunSpec SunS identifier at register 40001. The addresses in this template are model-relative offsets.
Is it safe to write WSet or VarSet repeatedly from automation scripts?
Writing setpoints outside the device's rated range can trigger protection limits or trip the DER offline. Always verify the device nameplate ratings via the Model 120 registers before writing. Avoid rapid cyclic writes to non-volatile configuration registers, as some implementations store settings to flash memory and excessive writes can cause premature wear.
Knowledge base articles for this device

SunSpec Modbus: one register map for many inverters
SunSpec Modbus is the open register map SMA, Fronius, SolarEdge and Kostal share. The layout, int+SF vs float, the TCP port per brand and reading a mixed fleet.
Fronius Modbus: read a Symo GEN24 over Modbus TCP
Fronius Modbus explained: enable Modbus TCP on the Symo GEN24 on port 502, choose between int+SF and float, read the right SunSpec registers and scale them correctly. Practical guide for solar installers.
SMA Modbus: reading a Sunny Boy over Modbus TCP (installers)
SMA Modbus explained: enable the Modbus TCP server on port 502, choose between the SMA profile (unit ID 3) and SunSpec (unit ID 126), read the right registers, and handle the NaN values at night. Practical guide for installers.
Want to see how it works?








