solectrus

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.

https://github.com/solectrus/solectrus

Science Score: 26.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
  • Academic publication links
  • Committers with academic emails
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (13.6%) to scientific vocabulary

Keywords

influxdb monitoring photovoltaic photovoltaics photovoltaics-dashboard

Keywords from Contributors

serializer sequencing smooth e2e-testing snapshot-testing action plagiarism-checker standards data-structures genomics
Last synced: 6 months ago · JSON representation

Repository

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.

Basic Info
  • Host: GitHub
  • Owner: solectrus
  • License: agpl-3.0
  • Language: Ruby
  • Default Branch: develop
  • Homepage: https://solectrus.de
  • Size: 27.1 MB
Statistics
  • Stars: 130
  • Watchers: 8
  • Forks: 19
  • Open Issues: 51
  • Releases: 63
Topics
influxdb monitoring photovoltaic photovoltaics photovoltaics-dashboard
Created about 5 years ago · Last pushed 6 months ago
Metadata Files
Readme License Codeowners

README.md

Build Status Maintainability Code 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:

bash git clone git@github.com: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:

bash brew bundle

Ensure that PostgreSQL is running:

bash brew services start postgresql@17

  1. Install and set up puma-dev to use HTTPS for development. Do this on macOS:

```bash 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:

bash bin/setup

  1. Start the application locally:

bash 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):

bash bin/influxdb-restart.sh DISABLE_SPRING=1 bin/rspec 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:

bash 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

  • Name: SOLECTRUS
  • Login: solectrus
  • Kind: organization
  • Location: Jülich, Germany

Photovoltaic Dashboard

GitHub Events

Total
  • Create event: 669
  • Commit comment event: 7
  • Release event: 7
  • Issues event: 250
  • Watch event: 23
  • Delete event: 658
  • Issue comment event: 480
  • Push event: 1,428
  • Pull request review comment event: 4
  • Pull request review event: 15
  • Pull request event: 1,304
  • Fork event: 5
Last Year
  • Create event: 669
  • Commit comment event: 7
  • Release event: 7
  • Issues event: 250
  • Watch event: 23
  • Delete event: 658
  • Issue comment event: 480
  • Push event: 1,428
  • Pull request review comment event: 4
  • Pull request review event: 15
  • Pull request event: 1,304
  • Fork event: 5

Committers

Last synced: 7 months ago

All Time
  • Total Commits: 6,474
  • Total Committers: 6
  • Avg Commits per committer: 1,079.0
  • Development Distribution Score (DDS): 0.491
Past Year
  • Commits: 1,672
  • Committers: 2
  • Avg Commits per committer: 836.0
  • Development Distribution Score (DDS): 0.497
Top Committers
Name Email Commits
dependabot[bot] 4****] 3,293
Georg Ledermann g****g@l****v 2,746
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 (Top 20 + Academic)

Issues and Pull Requests

Last synced: 6 months ago

All Time
  • Total issues: 307
  • Total pull requests: 2,875
  • Average time to close issues: about 1 month
  • Average time to close pull requests: about 9 hours
  • Total issue authors: 66
  • Total pull request authors: 7
  • Average comments per issue: 2.97
  • Average comments per pull request: 0.05
  • Merged pull requests: 2,684
  • Bot issues: 12
  • Bot pull requests: 2,826
Past Year
  • Issues: 167
  • Pull requests: 1,423
  • Average time to close issues: 1 day
  • Average time to close pull requests: about 7 hours
  • Issue authors: 35
  • Pull request authors: 3
  • Average comments per issue: 1.9
  • Average comments per pull request: 0.04
  • Merged pull requests: 1,290
  • Bot issues: 7
  • Bot pull requests: 1,404
Top Authors
Issue Authors
  • ledermann (79)
  • Zeppelin-PV (40)
  • StevieC121176 (28)
  • gereons (20)
  • unclej84 (17)
  • bennysweb (13)
  • dependabot[bot] (12)
  • halmich (5)
  • hj-hefer (5)
  • q2doc (5)
  • patricknitsch (5)
  • spirit0607 (5)
  • ronzle (4)
  • AlpenFlizzer (4)
  • deThommy (3)
Pull Request Authors
  • dependabot[bot] (2,826)
  • ledermann (37)
  • AlpenFlizzer (6)
  • ghost (2)
  • wdenn (2)
  • suprnova32 (1)
  • deThommy (1)
Top Labels
Issue Labels
bug (79) enhancement (28) help wanted (15) dependencies (12) javascript (3) waiting (1)
Pull Request Labels
dependencies (2,826) ruby (600) javascript (499) gh-action (20) enhancement (3) bug (1)

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