How to monitor multiple inverters via BLuetooth with SBFspot

Topics: 1. General, 5. Support
Mar 5, 2016 at 6:18 PM
Hi, I'm running SBFspot on a Raspberry Pi v2 . I have 2 inverters and I have set MIS_Enabled=1 in the config file. When I run hcitool scan, both my SMA inverts show in the results. I have configured both inverters to use the same NetID (4). So which one do I put in my config file? I have tried each one separately but my output on PVOUTPUT.ORG seems to show output from only one inverter.

Any assistance would be appreciated
(please note, I'm new at this so if I left out information please let me know and I'll get it posted)
Mar 6, 2016 at 6:14 PM
Configuration is OK, but you need to setup 3 systems on pvoutput (2 child systems and 1 parent)
Read all about aggregation
In your SBFspotUpload.cfg, map each child SID to a serial number of an inverter (comma separated)

The BT address doesn't matter when you can reach them both
Mar 7, 2016 at 3:53 PM
Thank you very much. That did the trick. !

Great product btw!
Jun 12, 2016 at 9:37 AM
Edited Jun 12, 2016 at 3:40 PM
Edit: after approx. 1 hour, data seems to be uploaded now!
Sometimes, soms data is missing (grid voltage, DC voltages) on both systems simultaneously. Not sure if this is caused by poor BT signal of the 2nd system....

Seems as if I have the same issue as stipman had... But I can't solve it. I have 2 inverters with bluetooth. Only the 1st inverter works well (several months now).

What did I do:
  • run hcitool scan => Both inverters show up
  • Update SBFspot to V3.1.1
  • Edit SBFspot.cfg
    • BT address set to the 1st inverter (unchanged): BTAddress=aa:bb:cc:dd:ee:ff
    • MIS_Enabled=1
  • Edit SBFspotUpload.cfg
    • Added 2nd inverter's s/n: PVoutput_SID=aaaaaaaaaaa:bbbbb,cccccccccccccccc:ddddd
Created a parent system, 2 inverters as child systems (Donation mode).

Only the 1st system uploads its data. When I change the BT address to the 2nd system, then this data gets uploaded.

When I run SBFspot manually this is the result:

_SBFspot V3.3.1
Yet another tool to read power production of SMA solar inverters
(c) 2012-2016, SBF (
Compiled for Linux (LE) 32 bit

Commandline Args: -v -finq -nocsv
Reading config '/usr/local/bin/sbfspot.3/SBFspot.cfg'
Sun Jun 12 11:34:17 2016: INFO: Starting...
sunrise: 05:23
sunset : 21:59
Connecting to aa:bb:cc:dd:ee:ff (1/10)
SUSyID: 125 - SessionID: 918419941 (0x36BDF9E5)
SMA netID=02
Waiting for network to be built...
In case of single inverter system set MIS_Enabled=0 in config file.
Sun Jun 12 11:35:18 2016: CRITICAL: Failed to initialize communication with inverter.
Jun 14, 2016 at 10:42 AM
Edited Jun 14, 2016 at 10:42 AM
My system seemed to work (although with some data gaps), but the next day it didn't start uploading and I couldn't start it manually as well.
So I decided to rebuild the RPI3 from scratch (OS Jessie and SBFspot V3.3.1).

Reading individual inverters (SB1200 with BT piggy back and SB5000-TL20 BT) works fine, but setting the config files to read both inverters, returns the "CRITICAL: Failed to initialize communication with inverter." every time...

The 2 inverters are a bit far away from each other and probably are not in BT range. The RPI is approx. in the middle and does have connection to them both.

Just to be sure: the 2 inverters do not need to be in BT range of eachother, do they?
Jun 14, 2016 at 11:20 AM
Edited Jun 14, 2016 at 11:23 AM
Yes, the 2 devices have to be in range. See SMA documentation on page 12
  1. The communication device firstly sets up a connection to a participant of the Bluetooth network which is to be found within range. This participant is the root node.
  2. From this participant outwards, the communication device realizes the setup of the Bluetooth network of all devices with the same NetID.
  3. The devices connect themselves amongst each other in a self arranged manner; each device connects to a device which has the best connection quality. Depending on the size of the Bluetooth network, this procedure can take anything between a few seconds up to several minutes
In your case you can run SBFspot 2 times with different config file (1 config for each BT address, writing to the same database)
The uploader will send all the data coming from the 2 inverters
Jun 15, 2016 at 7:49 AM
Edited Jun 15, 2016 at 8:06 AM
Thanks a lot SBF! With your comments it now works very nice on both inverters again.

Just to make things maybe a bit easier for the future, this is what I did. I think this is the way to do it, but do correct me if needed:

1) The SBFspot.cfg file contains the BT address of inverter 1 (BTAddress=......)
2) Create a 2nd .cfg file in the same folder and name it e.g. SBFspot_inverter_2.cfg
This file is identical, but contains the BT address of inverter 2 (BTAddress=......)
3) Edit the file:
/usr/local/bin/sbfspot.3/SBFspot -v
/usr/local/bin/sbfspot.3/SBFspot -cfgSBFspot_inverter_2.cfg
Both inverters are at NET_ID 2, but I don't think this is important. Can also be left at default (1) for both inverters.
Jun 15, 2016 at 11:32 AM
That's the way to go, however I would rename the first config to SBFspot_inverter_1.cfg but that's not important.
MIS_Enabled=0 is ok, you don't have to change the NET_ID
If you don't need .csv files, add -nocsv to the command line, but if you want them, make sure to have different plantnames or different outputpaths in your config files. Otherwise the files will be overwritten by each other.
Jul 6, 2016 at 4:19 PM
Edited Jul 6, 2016 at 5:03 PM
I have two new Sunnyboy 6.0's and SBFspot running on a Windows PC. Thanks to this thread, I am able to aggregate the outputs and upload to PVOutput per instructions above given to stipman. My only problem now is that I only have success uploading manually by sending "sbfspot -v -finq" from a command prompt. Is there a way to make it auto upload every 5-15 minutes or so? How? Thanks.

I just created a batch file and put it in Windows Scheduler. Looks like it's working. Thanks.
Jul 6, 2016 at 9:45 PM
Yes, scheduled task is the way to go