SunSpec SunSpec Model 807 — Flow Battery String Model Modbus TCP template

SunSpec Model 807 — Flow Battery String Model

SunSpec Model 807 is the standardized Modbus information model for flow battery strings, covering chemistries such as vanadium redox, zinc-bromine, and iron-chromium. The template reads string-level and cell-level voltage extremes (maximum, minimum, and average for both modules and cells), temperature spread across all modules, module count and connected module count, and two layers of event bitfields for alarms. Scale-factor registers accompany every measured group so your client applies the correct decimal exponent at runtime. Using Modbus TCP, the ModbusCloud Gateway polls any SunSpec-compliant flow battery controller and surfaces degradation trends and fault events in the portal without vendor-specific configuration.

Protocol
Modbus TCP
Connection
Ethernet, Modbus TCP
Registers
31, read only
Brand
SunSpec
Last updated

Registers (31)

31 read, 0 write

NameUnitAccessAddress (Hidden until you enter your email)Function (hidden)Type (hidden)
idRead
lRead
idxRead
nmodRead
nmodconRead
modvmaxVRead
modvmaxmodRead
modvminVRead
modvminmodRead
modvavgVRead
cellvmaxVRead
cellvmaxmodRead
cellvmaxstkRead
cellvminVRead
cellvminmodRead
cellvminstkRead
cellvavgVRead
tmpmax°CRead
tmpmaxmodRead
tmpmin°CRead
tmpminmodRead
tmpavg°CRead
evt1Read
evt2Read
evtvnd1Read
evtvnd2Read
modv_sfRead
cellv_sfRead
tmp_sfRead
soc_sfRead
ocv_sfRead

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 the gap between cellvmax and cellvmin over time to detect cell imbalance developing within a string.
  • Track nmodcon versus nmod daily to verify all flow battery modules remain electrically connected after cycling.
  • Alert on evt1 or evt2 bitfield changes to catch string faults before they escalate to system shutdown.
  • Compare tmpmax and tmpmin across strings on multi-string sites to spot thermal hotspots in the electrolyte circuit.
  • Report modvavg trends week-over-week to identify capacity fade or electrolyte degradation in the flow battery string.

Installation

  1. Enable Modbus TCP on the flow battery management system or gateway controller, noting the TCP port (typically 502) and the Modbus unit ID assigned to this string, then confirm the device advertises SunSpec model 807 at its configured base address.

  2. Connect the battery controller's Ethernet port to the same LAN segment as the ModbusCloud Gateway, verifying there are no firewall rules blocking port 502 between the two devices.

  3. In your ModbusCloud portal, add the Gateway, then import the SunSpec Model 807 template and enter the device IP address, TCP port, and unit ID; set the base register offset to match the address at which the 807 block begins in the device's SunSpec map.

  4. After saving, open the live register view and spot-check modvavg and tmpavg against readings on the BMS display; if values are off by a factor of ten, verify that modv_sf and tmp_sf are being applied correctly by your polling client.

Things to watch for

Module voltage readings look ten times too high or too low.

SunSpec uses signed scale-factor registers (modv_sf, cellv_sf, tmp_sf) that represent a power-of-ten multiplier. If your client reads the raw integer without applying the scale factor, values will be wrong by a decade. Read the scale-factor register and multiply: raw_value * 10^sf.

The gateway connects but all voltage registers return 0x8000 or 0xFFFF.

0x8000 on a signed int16 and 0xFFFF on a uint16 are SunSpec 'Not Implemented' sentinels. The device supports the model block structurally but has not populated those points. Confirm the BMS firmware version supports Model 807 and that the string is active and not isolated for maintenance.

No data appears even though the TCP connection is established.

SunSpec devices place Model 807 at a dynamic offset within the register map, not at a fixed address. The block starts immediately after the preceding model ends. Use the model length register (l) of each preceding block to walk the map and locate the correct base address for Model 807 before polling its registers.

Event bitfields evt1 and evt2 show non-zero values. What do they mean?

Evt1 and Evt2 are 32-bit bitfields defined in the SunSpec Energy Storage specification. Each bit maps to a named alarm condition such as over-charge current, high pressure, or contactor fault. Decode them by consulting the SunSpec Energy Storage Models document, table of StrEvt bit definitions. Vendor-specific flags appear separately in evtvnd1 and evtvnd2.

Want to see how it works?

Electrician working in an open distribution board