Bms Bms Soltaro SingleRack VersionC Modbus RTU template

Bms Soltaro SingleRack VersionC

The Soltaro SingleRack BMS is a lithium battery management system used in residential and commercial solar-plus-storage installations. This Modbus RTU template reads and writes the full register set of the Bms Soltaro SingleRack VersionC over RS485, covering battery state of charge, cluster average voltage and temperature, cell-level min/max identification, insulation resistance on both DC rails, charge and discharge permission flags, and cluster run state. Configuration registers allow you to set EMS address, baud rate, communication timeout, module count, low-voltage protection, and sleep mode. Firmware version registers for cluster 1 provide traceability without opening a cabinet.

Protocol
Modbus RTU
Connection
RS485
Registers
43, read and write
Brand
Bms
Last updated

Registers (43)

31 read, 12 write

NameUnitAccessAddress (Hidden until you enter your email)Function (hidden)Type (hidden)
system_resetWrite
pre_charge_control_aWrite
auto_set_slaves_id_aWrite
auto_set_slaves_temperature_id_aWrite
sleep_aWrite
ems_address_aWrite
ems_baudrate_aWrite
number_of_modules_per_tower_aWrite
ems_communication_timeout_aWrite
system_total_capacity_aWrite
set_sub_master_address_aWrite
voltage_low_protection_aWrite
ems_address_bRead
ems_baudrate_bRead
pre_charge_control_bRead
auto_set_slaves_id_bRead
set_sub_master_address_bRead
auto_set_slaves_temperature_id_bRead
sleep_bRead
number_of_modules_per_tower_bRead
system_total_capacity_bRead
voltage_low_protection_bRead
ems_communication_timeout_bRead
charge_indicationRead
soc%Read
cluster_1_max_cell_voltage_idRead
cluster_1_min_cell_voltage_idRead
cluster_1_max_cell_temperature_idRead
cluster_1_min_cell_temperature_idRead
cluster_1_average_voltageVRead
cluster_1_system_insulationRead
bp_charge_bmsRead
bp_discharge_bmsRead
positive_insulationRead
negative_insulationRead
cluster_run_stateRead
cluster_1_avg_temperature°CRead
cluster_1_project_idRead
cluster_1_version_majorRead
cluster_1_version_subRead
cluster_1_version_modifyRead
cycle_timeRead
total_capacityRead

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.

Number of installations (optional)

Use cases

  • Monitor battery state of charge continuously to detect unexpected capacity loss between service visits.
  • Track cluster average temperature against seasonal ambient conditions to verify thermal management is within safe bounds.
  • Alert on deviations between cluster minimum and maximum cell voltage IDs to identify early-stage cell imbalance.
  • Verify positive and negative insulation resistance registers to catch DC insulation faults before they escalate.
  • Compare cluster run state against charge indication to confirm the BMS transitions correctly between charge and discharge cycles.

Installation

  1. Connect the ModbusCloud Gateway to the Soltaro SingleRack BMS RS485 EMS port using a shielded twisted-pair cable, observing correct A/B polarity, and fit a 120-ohm termination resistor at each end of the bus.

  2. Confirm the EMS baud rate and Modbus unit address on the BMS using the BMS Monitor software or by reading the ems_baudrate_b and ems_address_b registers; note the unit ID for portal entry.

  3. In the ModbusCloud portal, add the Gateway, import the Bms Soltaro SingleRack VersionC template, and enter the confirmed unit ID and baud rate under the device communication settings.

  4. Spot-check the soc register and cluster_1_avg_temperature to confirm live data is flowing before saving the configuration and enabling alerts.

Things to watch for

Why do soc and temperature registers return zero or no response?

The BMS will not respond if the Modbus unit ID in the portal does not match the address stored in ems_address_b. Read that register first with a Modbus scanner, then update the portal unit ID to match. Also confirm the baud rate matches ems_baudrate_b; a mismatch produces silence rather than an error code.

RS485 wiring is connected but the Gateway reports timeouts. What now?

Check A/B polarity: Soltaro BMS RS485 labels can differ from gateway labels, so swap A and B if the first attempt fails. Verify that 120-ohm termination resistors are present at both cable ends. If the bus has other devices, isolate the BMS as the only slave temporarily to rule out address conflicts.

Insulation resistance registers read an unexpected fixed value. Is this normal?

The cluster_1_system_insulation, positive_insulation, and negative_insulation registers report a coded status value, not a raw ohm reading. A fixed non-zero value may indicate a fault code rather than a measurement. Cross-check with the cluster_run_state register: a non-running state often accompanies an insulation warning.

Is it safe to write system_reset or sleep_a during normal operation?

No. Writing to system_reset will reboot the BMS and interrupt communication with the inverter, which can cause an unexpected shutdown of the storage system. Writing sleep_a while the battery is actively charging or discharging may trip protection circuits. Only issue these commands when the system is in a known idle state and always confirm with the site owner beforehand.

Want to see how it works?

Electrician working in an open distribution board