
Refu REFUstore88k
The Refu REFUstore88k is an 88 kVA bidirectional battery inverter designed for commercial energy storage applications, including self-consumption optimisation and peak shaving. Via Modbus TCP, this template reads the full SunSpec model 103 three-phase AC stack (active power, apparent power, reactive power, per-phase voltages and currents, grid frequency, DC voltage, DC current, DC power), cabinet and heat-sink temperatures, inverter state, and vendor event flags. Write registers let you control the AC connection, cap active power output, adjust power factor, set reactive power, switch local or remote mode, command PCS operating state, and constrain battery charge and discharge current. Connecting the REFUstore88k to your ModbusCloud Gateway gives you full operational visibility and closed-loop control from a single dashboard.
- Protocol
- Modbus TCP
- Connection
- Ethernet, Modbus TCP
- Registers
- 116, read and write
- Brand
- Refu
- Last updated
Registers (116)
84 read, 32 write
| Name | Unit | Access | Address (Hidden until you enter your email) | Function (hidden) | Type (hidden) |
|---|---|---|---|---|---|
| id_1 | Read | ||||
| l_1 | Read | ||||
| mn | Read | ||||
| md | Read | ||||
| opt | Read | ||||
| vr | Read | ||||
| sn | Read | ||||
| da | Read | ||||
| pad_1 | Read | ||||
| id_103 | Read | ||||
| l_103 | Read | ||||
| a | A | Read | |||
| aph_a | A | Read | |||
| aph_b | A | Read | |||
| aph_c | A | Read | |||
| a_sf | Read | ||||
| pp_vph_ab | V | Read | |||
| pp_vph_bc | V | Read | |||
| pp_vph_ca | V | Read | |||
| ph_vph_a | V | Read | |||
| ph_vph_b | V | Read | |||
| ph_vph_c | V | Read | |||
| v_sf | Read | ||||
| active_power | W | Read | |||
| w_sf | Read | ||||
| hz | Hz | Read | |||
| hz_sf | Read | ||||
| apparent_power | VA | Read | |||
| va_sf | Read | ||||
| reactive_power | var | Read | |||
| va_r_sf | Read | ||||
| wh | Wh | Read | |||
| wh_sf | Read | ||||
| dca | A | Read | |||
| dca_sf | Read | ||||
| dcv | V | Read | |||
| dcv_sf | Read | ||||
| dcw | W | Read | |||
| dcw_sf | Read | ||||
| tmp_cab | °C | Read | |||
| tmp_snk | °C | Read | |||
| tmp_sf | Read | ||||
| st | Read | ||||
| st_vnd | Read | ||||
| evt_2 | Read | ||||
| evt_vnd_1 | Read | ||||
| evt_vnd_2 | Read | ||||
| evt_vnd_3 | Read | ||||
| evt_vnd_4 | Read | ||||
| id_120 | Read | ||||
| l_120 | Read | ||||
| der_typ | Read | ||||
| w_rtg | W | Read | |||
| w_rtg_sf | Read | ||||
| va_rtg_sf | Read | ||||
| var_rtg_q1 | var | Read | |||
| var_rtg_q2 | var | Read | |||
| var_rtg_q3 | var | Read | |||
| var_rtg_q4 | var | Read | |||
| var_rtg_sf | Read | ||||
| a_rtg | A | Read | |||
| a_rtg_sf | Read | ||||
| pf_rtg_q1 | Read | ||||
| pf_rtg_q2 | Read | ||||
| pf_rtg_q3 | Read | ||||
| pf_rtg_q4 | Read | ||||
| pf_rtg_sf | Read | ||||
| pad_120 | Read | ||||
| id_121 | Read | ||||
| l_121 | Read | ||||
| w_max_sf | Read | ||||
| v_ref_sf | Read | ||||
| v_ref_ofs_sf | Read | ||||
| w_max | W | Write | |||
| v_ref | V | Write | |||
| v_ref_ofs | V | Write | |||
| id_123 | Read | ||||
| l_123 | Read | ||||
| w_max_lim_pct_sf | Read | ||||
| out_pf_set_sf | Read | ||||
| var_pct_sf | Read | ||||
| conn | Write | ||||
| w_max_lim_pct | % | Write | |||
| w_max_lim_ena | Write | ||||
| out_pf_set | Write | ||||
| out_pf_set_ena | Write | ||||
| var_w_max_pct | % | Write | |||
| var_pct_ena | Write | ||||
| id_64040 | Read | ||||
| l_64040 | Read | ||||
| read_write_param_id | Write | ||||
| read_write_param_index | Write | ||||
| id_64041 | Read | ||||
| l_64041 | Read | ||||
| read_write_param_value_u32 | Write | ||||
| read_write_param_value_s32 | Write | ||||
| read_write_param_value_f32 | Write | ||||
| read_write_param_value_u16 | Write | ||||
| read_write_param_value_s16 | Write | ||||
| read_write_param_value_u8 | Write | ||||
| read_write_param_value_s8 | Write | ||||
| id_64800 | Write | ||||
| l_64800 | Write | ||||
| loc_rem_ctl | Write | ||||
| pcs_hb | Read | ||||
| controller_hb | Read | ||||
| pcs_set_operation | Write | ||||
| max_bat_a_cha | A | Write | |||
| max_bat_a_discha | A | Write | |||
| max_a | A | Write | |||
| max_a_cur | A | Write | |||
| max_bat_a_sf | Write | ||||
| max_a_sf | Write | ||||
| max_a_cur_sf | Write | ||||
| padding_1 | Write | ||||
| padding_2 | 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 three-phase AC active power and DC power in real time to verify charge and discharge cycles.
- Alert on cabinet or heat-sink temperature anomalies before thermal protection trips the inverter offline.
- Track cumulative AC energy throughput over time to report on storage utilisation for site energy audits.
- Compare per-phase voltages across phases A, B, and C to detect grid imbalance at the connection point.
- Verify that the pcs_hb and controller_hb heartbeat registers are incrementing to confirm live EMS communication.
Installation
Enable Modbus TCP on the REFUstore88k via the REFUcontrol BC-10 EMS web interface under the communication or Modbus section, and note the assigned IP address and TCP port (default 502).
Connect the REFUstore88k to the same LAN segment as the ModbusCloud Gateway using a standard Ethernet cable, ensuring no firewall blocks port 502 between the two devices.
In the ModbusCloud portal, add a new device, select the Refu REFUstore88k template, and enter the inverter IP address, port 502, and the Modbus unit ID configured on the device.
After saving, open the live register view and spot-check the active_power (address 40084) and st (address 40108) registers to confirm values update on the expected polling cycle.
Things to watch for
All AC power and voltage registers return zero. What is wrong?
The REFUstore88k may not be in grid-connected operating state. Check the st register (40108) for the current SunSpec state code and the st_vnd register (40109) for vendor detail. If the inverter is in standby or fault, AC measurements will read zero. Resolve any active faults shown in evt_vnd_1 through evt_vnd_4 first.
Scaled readings look like unreasonable large integers. What should I do?
All measurement registers in SunSpec model 103 use paired scale-factor registers (a_sf, v_sf, w_sf, hz_sf, va_sf, va_r_sf, wh_sf, dca_sf, dcv_sf, dcw_sf, tmp_sf). Apply the corresponding signed scale factor as a power of 10 to the raw value. Ignoring scale factors produces readings that are orders of magnitude off.
The Gateway connects but register reads time out intermittently.
The REFUstore88k Modbus TCP server accepts one client connection at a time. If the REFUcontrol BC-10 EMS or another client is polling simultaneously, the Gateway will experience timeouts. Ensure only one Modbus TCP client polls the inverter at a time, or increase the polling interval to reduce contention.
Is it safe to write to the power control and battery current registers?
Write registers such as conn (40186), w_max_lim_pct (40187), pcs_set_operation (40231), max_bat_a_cha (40232), and max_bat_a_discha (40233) directly affect inverter operation and battery current limits. Incorrect values can disconnect the AC output, exceed battery protection limits, or trigger protective shutdowns. Always verify scale factors, confirm the intended value in a test environment, and consult the REFUstore88k documentation before writing to these registers in a live installation.
Want to see how it works?














