sunportal is a web based visualisation tool to display data of SMA solar inverters. It is based on the database of SBFspot and shows charts daily and monthly power production. It runs on a Raspberry Pi and can handle multiple inverters in one Speedwire or Bluetooth(R) network.
Inverters that do not support Speedwire or Bluetooth or that are not from the manufacturer SMA can be integrated through s0-bridge. s0-bridge also enables power consumption to be recorded by using electric meters with S0 interface.
- Web based visualization of daily and monthly power production
- Displaying multiple inverters
- Translations: English, German
- Mail notification service for inverter disorders and lack of production
- Visualization of yearly power production
- Visualization of power consumption
- Validation of
config.ymlwith JSON Schema
- Configuration of sunportal via web interface
- REST-API, i.e. to integrate solar power plants into home automation applications
If you like my project and want to keep me motivated:
Installation on a Raspberry Pi
First install and configure SBFspot as described here, the SBFspotUploadDaemon is not required.
Also add a cronjob for SBFspot to run every 5 minutes. Execute
sudo crontab -e, choose your preferred editor and add the following line:
*/5 * * * * /usr/local/bin/sbfspot.3/SBFspot -finq -nocsv > /dev/null
After that install sunportal:
# install needed dependencies sudo apt-get install git python3 python3-pip # clone this repo git clone https://github.com/philipptrenz/sunportal cd sunportal #install _sunportal sudo pip3 install -r requirements.txt
All configuration parameters of sunportal get stored inside the
config.yml YAML file. To edit the preconfigured values copy the
config.default.yml and edit the
cp config.default.yml config.yml nano config.yml
--- database: path: "/home/pi/smadata/SBFspot.db" co2_avoidance_factor: 0.7 mail: enabled: 'false' check_interval: 300 sender: email@example.com smtp_server: url: smtp.example.com port: 587 recipients: - firstname.lastname@example.org starttls: enabled: 'false' user: '' password: '' renaming: '10000000001': My Inverter 1
sudo python3 sunportal.py
Open a browser and navigate to the IP address of the Raspberry Pi to see the website.
Run sunportal on boot
# add the bash script to the service folder sudo cp scripts/sunportal.sh /etc/init.d/sunportal sudo chmod 755 /etc/init.d/sunportal sudo update-rc.d sunportal defaults
Now sunportal can be controlled as a service (
sudo service sunportal status) and it automatically starts on boot.
SMA, Speedwire are registered trademarks of SMA Solar Technology AG.