A curated list of open technology projects to sustain a stable climate, energy supply, biodiversity and natural resources.

SOLECTRUS

An alternative photovoltaic dashboard that visualizes the yield and consumption.
https://github.com/solectrus/solectrus

Category: Renewable Energy
Sub Category: Photovoltaics and Solar Energy

Keywords

influxdb monitoring photovoltaic photovoltaics photovoltaics-dashboard

Keywords from Contributors

transforms measur compose archiving reporting observation animals annotation numerics optimize

Last synced: about 17 hours ago
JSON representation

Repository metadata

SOLECTRUS is a smart photovoltaic dashboard that displays your energy production and consumption. It also calculates costs and savings, helping you maximize the benefits of your solar system.

README.md

Build Status
Maintainability
Test Coverage
wakatime

SOLECTRUS

SOLECTRUS is your smart solar dashboard, giving you real‑time insights into energy generation and consumption. It automatically calculates costs and savings, so you can maximize the performance of your PV system.

Screenshot

Live Demo

Try it out at https://demo.solectrus.de

Installation

SOLECTRUS is a self‑hosted solution — just bring your own server (a Raspberry Pi works great, but any Linux box will do). To get started, visit https://configurator.solectrus.de/ and generate your Docker configuration interactively.

Development

To contribute, set up a local development environment (this guide assumes macOS with Homebrew):

  1. Clone the repository:
git clone [email protected]:solectrus/solectrus.git
cd solectrus
  1. Install PostgreSQL, Redis, and puma-dev (if not already present). On a Mac with HomeBrew, run this to install from the Brewfile:
brew bundle

Ensure that PostgreSQL is running:

brew services start postgresql@17
  1. Install and set up puma-dev to use HTTPS for development. Do this on macOS:
sudo puma-dev -setup
puma-dev -install
puma-dev link

# Use Vite via puma-dev proxy
# Adopted from https://github.com/puma/puma-dev#webpack-dev-server
echo 3036 > ~/.puma-dev/vite.solectrus
  1. Setup the application to install gems and NPM packages and create the database:
bin/setup
  1. Start the application locally:
bin/dev

This starts the app and opens https://solectrus.test in your default browser (see Procfile.dev).

Testing

After preparing development environment (see above):

bin/influxdb-restart.sh
DISABLE_SPRING=1 bin/rspec
DISABLE_SPRING=1 RAILS_ENV=test bin/rake cypress:run
open coverage/index.html

RuboCop:

bin/rubocop

ESLint:

bin/yarn lint

TypeScript:

bin/yarn tsc

There is a shortcut to run all test and linting tools:

bin/test

Performance Monitoring

The Live Demo is hosted at Hetzner Cloud. For performance monitoring, it uses RorVsWild, which is free for OpenSource projects. You can see internal metrics like CPU, memory, and disk usage, as well as request times and errors here:
https://www.rorvswild.com/applications/136101/requests

License

© 2020–2025 Georg Ledermann. Released under AGPL-3.0.


Owner metadata


GitHub Events

Total
Last Year

Committers metadata

Last synced: 4 days ago

Total Commits: 5,975
Total Committers: 6
Avg Commits per committer: 995.833
Development Distribution Score (DDS): 0.489

Commits in past year: 1,639
Committers in past year: 4
Avg Commits per committer in past year: 409.75
Development Distribution Score (DDS) in past year: 0.487

Name Email Commits
dependabot[bot] 4****] 3056
Georg Ledermann g****g@l****v 2484
dependabot-preview[bot] 2****] 432
Sascha Böck 4****r 1
Patricio Cano s****2@g****m 1
Alexander Detsch a****h 1

Committer domains:


Issue and Pull Request metadata

Last synced: 1 day ago

Total issues: 297
Total pull requests: 1,864
Average time to close issues: about 1 month
Average time to close pull requests: about 7 hours
Total issue authors: 58
Total pull request authors: 6
Average comments per issue: 4.05
Average comments per pull request: 0.07
Merged pull request: 1,805
Bot issues: 0
Bot pull requests: 1,832

Past year issues: 178
Past year pull requests: 1,101
Past year average time to close issues: 4 days
Past year average time to close pull requests: about 7 hours
Past year issue authors: 30
Past year pull request authors: 5
Past year average comments per issue: 3.47
Past year average comments per pull request: 0.09
Past year merged pull request: 1,062
Past year bot issues: 0
Past year bot pull requests: 1,079

More stats: https://issues.ecosyste.ms/repositories/lookup?url=https://github.com/solectrus/solectrus

Top Issue Authors

  • ledermann (78)
  • Zeppelin-PV (38)
  • StevieC121176 (30)
  • gereons (25)
  • unclej84 (13)
  • bennysweb (13)
  • ronzle (6)
  • halmich (6)
  • patricknitsch (5)
  • AlpenFlizzer (5)
  • frizzle0815 (5)
  • noffycws (4)
  • hj-hefer (4)
  • q2doc (4)
  • spirit0607 (4)

Top Pull Request Authors

  • dependabot[bot] (1,832)
  • ledermann (23)
  • AlpenFlizzer (4)
  • ghost (3)
  • suprnova32 (1)
  • boecks (1)

Top Issue Labels

  • bug (66)
  • enhancement (16)
  • help wanted (15)
  • waiting (1)

Top Pull Request Labels

  • dependencies (1,832)
  • ruby (502)
  • javascript (450)
  • gh-action (16)
  • enhancement (3)

Dependencies

.github/workflows/automerge.yml actions
  • dependabot/fetch-metadata v1.6.0 composite
.github/workflows/ci.yml actions
  • actions/checkout v4 composite
  • actions/setup-node v3.8.1 composite
  • actions/upload-artifact v3 composite
  • docker/build-push-action v5 composite
  • docker/login-action v3 composite
  • docker/metadata-action v5 composite
  • docker/setup-buildx-action v3 composite
  • docker/setup-qemu-action v3 composite
  • honeybadger-io/github-notify-deploy-action v1 composite
  • paambaati/codeclimate-action v5.0.0 composite
  • ruby/setup-ruby v1 composite
  • influxdb 2.7-alpine docker
  • postgres 15-alpine docker
Dockerfile docker
  • ghcr.io/ledermann/rails-base-builder 3.2.2-alpine build
  • ghcr.io/ledermann/rails-base-final 3.2.2-alpine build
Brewfile homebrew
  • overmind *
  • postgresql@15 *
  • puma/puma/puma-dev *
  • redis *
package.json npm
  • @prettier/plugin-ruby ^4.0.2 development
  • @size-limit/file ^9.0.0 development
  • @tailwindcss/aspect-ratio ^0.4.2 development
  • @tailwindcss/forms ^0.5.6 development
  • @tailwindcss/typography ^0.5.10 development
  • @types/throttle-debounce ^5.0.0 development
  • @typescript-eslint/eslint-plugin ^6.7.2 development
  • @typescript-eslint/parser ^6.7.2 development
  • autoprefixer ^10.4.16 development
  • cypress ^13.2.0 development
  • eslint ^8.49.0 development
  • eslint-config-prettier ^9.0.0 development
  • eslint-plugin-cypress ^2.15.1 development
  • eslint-plugin-prettier ^5.0.0 development
  • eslint-plugin-tailwindcss ^3.13.0 development
  • postcss ^8.4.30 development
  • prettier ^3.0.3 development
  • prettier-plugin-tailwindcss ^0.5.4 development
  • rollup ^3.29.2 development
  • size-limit ^9.0.0 development
  • tailwindcss ^3.3.3 development
  • typescript ^5.2.2 development
  • vite ^4.4.9 development
  • vite-plugin-rails ^0.1.0 development
  • @fortawesome/fontawesome-svg-core ^6.4.2
  • @fortawesome/free-brands-svg-icons ^6.4.2
  • @fortawesome/free-regular-svg-icons ^6.4.2
  • @fortawesome/free-solid-svg-icons ^6.4.2
  • @honeybadger-io/js ^6.5.0
  • @hotwired/stimulus ^3.2.2
  • @hotwired/turbo ^7.2.5
  • @hotwired/turbo-rails ^7.3.0
  • @rails/actioncable ^7.0.8
  • chart.js ^4.4.0
  • chartjs-adapter-date-fns ^3.0.0
  • date-fns ^2.30.0
  • el-transition ^0.0.7
  • morphdom ^2.7.0
  • plausible-tracker ^0.3.8
  • throttle-debounce ^5.0.0
  • tippy.js ^6.3.7
Gemfile rubygems
  • annotate >= 0 development
  • brakeman >= 0 development
  • capybara >= 3.26 development
  • cypress-rails >= 0 development
  • dotenv-rails >= 0 development
  • guard-rspec >= 0 development
  • lookbook >= 0 development
  • prettier >= 0 development
  • rspec-collection_matchers >= 0 development
  • rspec-rails >= 0 development
  • rubocop >= 0 development
  • rubocop-performance >= 0 development
  • rubocop-rails >= 0 development
  • rubocop-rspec >= 0 development
  • rubocop-thread_safety >= 0 development
  • shoulda-matchers >= 0 development
  • simplecov >= 0 development
  • slim_lint >= 0 development
  • spring >= 0 development
  • spring-commands-rspec >= 0 development
  • vcr >= 0 development
  • web-console >= 0 development
  • webmock >= 0 development
  • bootsnap >= 0
  • http_accept_language >= 0
  • influxdb-client >= 2.9.0
  • lockup >= 0
  • lograge >= 0
  • meta-tags >= 0
  • pg ~> 1.1
  • puma ~> 6
  • rack-brotli >= 0
  • rack-cors >= 0
  • rails ~> 7.0.8
  • rails-settings-cached >= 0
  • redis >= 0
  • slim-rails >= 0
  • stimulus-rails >= 0
  • turbo-rails >= 0
  • uri >= 0.12.2
  • view_component >= 0
  • vite_rails >= 0
Gemfile.lock rubygems
  • 155 dependencies

Score: 6.903747257584598