This project has moved and is read-only. For the latest updates, please go here.

Adding new registers to be collected by SBFspot

Topics: 1. General
Aug 10 at 4:15 AM

Have been running your fantastic utility to collect the data from my off-grid solar system (2 x Sunnyboy 5000, 1 x SunnyIsland8.0). I've been uploading the data to PVOutput for visualisation, and would like to start to extend the information being collected.

I'd like to collect (and store/report) additional parameters that I know aren't in the data set being collected. For example, register 30853 Active Battery Charging Mode (on page 26 of SMA_Modbus-TI-en-15.pdf).

I had a look through all the definitions in the code for the addressing structure to see how other registers were addressed and if I could extend it to collect the additional register from the SI8.0, but I have to admit I don't understand what I'm seeing.

Is there a mechanism for translating between the register number from the spec and the addresses used in constructing the command to the system?

For example: Battery Charge Status (register 30845) uses the following to get that data:
case BatteryChargeStatus:
    command = 0x51000200;
    first = 0x00295A00;
    last = 0x00295AFF;
But the other battery related registers (30843, 30845, 30849, 30851) have a very different address (assuming First/Last refer to a hex address of the data being requested)
case BatteryInfo:
    command = 0x51000200;
    first = 0x00491E00;
    last = 0x00495DFF;
I tried to make sense of the mappings with the other fields but couldn't. I've hunted online to see if I could find any documentation and none seems to exist.

So, is there some simple explanation for the addressing that I can use to extend to additional parameters?

Thanks again,
Aug 10 at 9:27 PM
Unfortunately there is no correlation between Modbus registers and SMAdata2+ codes
Take a look at the taglist files and lookup "Active Battery Charging Mode"
First is 6894080 or 0x00693200
Command should be 0x51820200, available only as installer, not as user
As you already noticed, for SMAdata2+ there is no (official) information available online
Aug 13 at 1:06 AM
Thanks SBF.

I'd missed the information in the Taglist file. Will play from here and see if I can get what I want out of the system.

Aug 13 at 2:31 AM
SBF wrote:
Command should be 0x51820200, available only as installer, not as user
Is there any information relating to what commands are available and which should be used for each of the types of data? I can see 6 different commands used for various registers through the code, but the meaning behind each isn't apparent.