{"id":19536706,"url":"https://github.com/philipptrenz/sunportal","last_synced_at":"2025-04-26T14:36:53.684Z","repository":{"id":52255948,"uuid":"147088437","full_name":"philipptrenz/sunportal","owner":"philipptrenz","description":"A web-based visualisation tool for SMA(R) solar inverter data","archived":false,"fork":false,"pushed_at":"2021-12-31T15:05:09.000Z","size":7503,"stargazers_count":19,"open_issues_count":4,"forks_count":6,"subscribers_count":7,"default_branch":"master","last_synced_at":"2023-03-10T19:59:13.672Z","etag":null,"topics":["logger","raspberry-pi","raspberry-pi-3","raspberrypi","sbfspot","sma","sma-solar","solar","solar-logger","solarpower","sun","visualisation","visualization","web"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/philipptrenz.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2018-09-02T13:39:34.000Z","updated_at":"2023-02-08T03:23:15.000Z","dependencies_parsed_at":"2022-09-10T04:17:07.670Z","dependency_job_id":null,"html_url":"https://github.com/philipptrenz/sunportal","commit_stats":null,"previous_names":[],"tags_count":null,"template":null,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/philipptrenz%2Fsunportal","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/philipptrenz%2Fsunportal/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/philipptrenz%2Fsunportal/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/philipptrenz%2Fsunportal/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/philipptrenz","download_url":"https://codeload.github.com/philipptrenz/sunportal/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":224037299,"owners_count":17245218,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["logger","raspberry-pi","raspberry-pi-3","raspberrypi","sbfspot","sma","sma-solar","solar","solar-logger","solarpower","sun","visualisation","visualization","web"],"created_at":"2024-11-11T02:23:59.455Z","updated_at":"2024-11-11T02:24:00.305Z","avatar_url":"https://github.com/philipptrenz.png","language":"JavaScript","funding_links":["https://ko-fi.com/U7U6COXD'"],"categories":[],"sub_categories":[],"readme":"[![Build Status](https://travis-ci.org/philipptrenz/sunportal.svg?branch=master)](https://travis-ci.org/philipptrenz/sunportal)\n\n# sunportal\n\n_sunportal_ is a web based visualisation tool to display data of SMA solar inverters. It is based on the database of [SBFspot](https://github.com/SBFspot/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.\n\nInverters that do not support Speedwire or Bluetooth or that are not from the manufacturer SMA can be integrated through [s0-bridge](https://github.com/philipptrenz/s0-bridge). _s0-bridge_ also enables power consumption to be recorded by using electric meters with S0 interface.\n\n\nCurrent features:\n\n* Web based visualization of daily and monthly power production\n* Displaying multiple inverters\n* Translations: English, German\n* Mail notification service for inverter disorders and lack of production\n\nPlanned features:\n\n* Visualization of yearly power production\n* Visualization of power consumption\n* Validation of `config.yml` with [JSON Schema](https://json-schema.org/)\n* Configuration of _sunportal_ via web interface\n* REST-API, i.e. to integrate solar power plants into home automation applications\n\nIf you like my project and want to keep me motivated:\n\n\u003ca href='https://ko-fi.com/U7U6COXD' target='_blank'\u003e\u003cimg height='36' style='border:0px;height:36px;' src='https://az743702.vo.msecnd.net/cdn/kofi2.png?v=0' border='0' alt='Buy Me a Coffee at ko-fi.com' /\u003e\u003c/a\u003e\n\n![sunportal example image](/static/img/sunportal.jpg?raw=true)\n\n## Installation on a Raspberry Pi\n\nFirst install and configure SBFspot as described [here](https://github.com/SBFspot/SBFspot/wiki/Installation-Linux-SQLite#sbfspot-with-sqlite), the _SBFspotUploadDaemon_ is not required. \n\nAlso add a cronjob for SBFspot to run every 5 minutes. Execute `sudo crontab -e`, choose your preferred editor and add the following line:\n\n```\n*/5 * * * * /usr/local/bin/sbfspot.3/SBFspot -finq -nocsv \u003e /dev/null\n```\n\nAfter that install _sunportal_:\n\n```bash\n# install needed dependencies\nsudo apt-get install git python3 python3-pip \n\n\n# clone this repo\ngit clone https://github.com/philipptrenz/sunportal\ncd sunportal\n\n#install _sunportal\nsudo pip3 install -r requirements.txt\n```\n\n## Configure _sunportal_\n\nAll 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 `config.yml`:\n\n```bash\ncp config.default.yml config.yml\nnano config.yml\n```\n\nUnder `mail` you can enable the integrated mail notification service by adding an SMTP server.\n\n```yaml\n---\ndatabase:\n  path: \"/home/pi/smadata/SBFspot.db\"\nco2_avoidance_factor: 0.7\nmail:\n  enabled: 'false'\n  check_interval: 300\n  sender: sunportal@example.com\n  smtp_server:\n    url: smtp.example.com\n    port: 587\n  recipients:\n  - me@example.com\n  starttls:\n    enabled: 'false'\n    user: ''\n    password: ''\nrenaming:\n  '10000000001': My Inverter 1\n\n```\n\n## Start _sunportal_\n\n```bash\nsudo python3 sunportal.py\n```\n\nOpen a browser and navigate to the IP address of the Raspberry Pi to see the website.\n\n### Run _sunportal_ on boot\n\n```bash\n# add the bash script to the service folder\nsudo cp scripts/sunportal.sh /etc/init.d/sunportal\nsudo chmod 755 /etc/init.d/sunportal\nsudo update-rc.d sunportal defaults\n```\n\nNow _sunportal_ can be controlled as a service (`sudo service sunportal status`) and it automatically starts on boot.\n\n## Disclaimer\n\nSMA, Speedwire are registered trademarks of SMA Solar Technology AG.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fphilipptrenz%2Fsunportal","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fphilipptrenz%2Fsunportal","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fphilipptrenz%2Fsunportal/lists"}