Modbus write register settings sma battery invertor using service modbus.write_register

Be Aware Warning aganst using RW registers with cyclical writing warning

as a follow up to this thread, yesterday i had an issue when attempting to write modbus registers to my sma invertor using address 40723. The error on the invtertor was

error 10120 Currently permitted number of parameterizations exceeded

This has been functioning for close on 3 years, writing modbus registers at least twice on a daily basis.

After spending the best part of a day on the phone with SMA Support, i found out the following information. “Most” of the registers are RO read only, however some of them can also be written RW.

I have the “MODBUS-HTML_SBS3.7-6.0-10_GG10-V13” modbus spec which is available for download from the SMA website.

In the “Access SMA” column you will notice the registers with a RW value are registers that can be written. Note however some of them have a yellow excalamation mark beside “RW” as shown in screenshot “Warning-sma-rw-cyclical.jpg”. When you hover your mouse over, note there is a warning popup stating “Warning against cyclical writing”

Take care, not all registers are meant to be changed continuously, but only to be set once (sma calls this “cyclical writing” changes). Changing them on a continuous basis will destroy flash memory. SMA has this documented in their modbus register documents.

Therefore, register 40723 now that i have had this issue with my invertor i have had to disable, as it stopped working regardless with the above error. For the moment i have returned to using the inbuilt “performance profiles” setting in the invertor to inject charge into my battery on a fixed daily basis. However these values are fixed, and i no longer have the ability of looking at weather forecasts and then choosing the value to charge the battery during off peak periods using register 40723 (as its one of the registers with a cyclical writing warning)

I took a look back through my original post and note the following which original information i received from SMA

----snip----
To enable manual charging set points you need to do the following.

  1. Using register 40151 and enabling the function to charge via modbus.
    Value ranges as follows
    802: Active (Act)
    803: Inactive (Ina)

2.Using register 40149 and entering the value, positive for discharge and negative for charging
----snip----

Both registers 40151 & 40149 are WO (which i assume means write only), and these 2 values do NOT have the cyclical warning error. So my plan is to implement same charging using the above 40151 & 40149 values once i have my SBS5 invertor back to a stable state

1 Like