{"id":13719282,"url":"https://github.com/solectrus/solectrus","last_synced_at":"2026-01-15T03:25:28.087Z","repository":{"id":37047798,"uuid":"322912392","full_name":"solectrus/solectrus","owner":"solectrus","description":"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.","archived":false,"fork":false,"pushed_at":"2026-01-11T18:35:26.000Z","size":31680,"stargazers_count":143,"open_issues_count":50,"forks_count":19,"subscribers_count":6,"default_branch":"develop","last_synced_at":"2026-01-11T21:59:15.532Z","etag":null,"topics":["influxdb","monitoring","photovoltaic","photovoltaics","photovoltaics-dashboard"],"latest_commit_sha":null,"homepage":"https://solectrus.de","language":"Ruby","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"agpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/solectrus.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":".github/CODEOWNERS","security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2020-12-19T18:28:37.000Z","updated_at":"2026-01-11T18:35:29.000Z","dependencies_parsed_at":"2023-10-12T20:01:08.268Z","dependency_job_id":"64b686a0-f5b8-4106-b30e-77bcebd7bb45","html_url":"https://github.com/solectrus/solectrus","commit_stats":{"total_commits":5179,"total_committers":7,"mean_commits":739.8571428571429,"dds":"0.48600115852481174","last_synced_commit":"ca29dc67c446d588742a2cb87d9247ca6f28746f"},"previous_names":[],"tags_count":66,"template":false,"template_full_name":null,"purl":"pkg:github/solectrus/solectrus","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/solectrus%2Fsolectrus","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/solectrus%2Fsolectrus/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/solectrus%2Fsolectrus/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/solectrus%2Fsolectrus/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/solectrus","download_url":"https://codeload.github.com/solectrus/solectrus/tar.gz/refs/heads/develop","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/solectrus%2Fsolectrus/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28442270,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-15T00:55:22.719Z","status":"online","status_checked_at":"2026-01-15T02:00:08.019Z","response_time":62,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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":["influxdb","monitoring","photovoltaic","photovoltaics","photovoltaics-dashboard"],"created_at":"2024-08-03T01:00:45.634Z","updated_at":"2026-01-15T03:25:28.081Z","avatar_url":"https://github.com/solectrus.png","language":"Ruby","funding_links":[],"categories":["Ruby","Renewable Energy"],"sub_categories":["Photovoltaics and Solar Energy","Ruby on Rails"],"readme":"[![Build Status](https://github.com/solectrus/solectrus/workflows/Continuous%20integration/badge.svg)](https://github.com/solectrus/solectrus/actions)\n[![Maintainability](https://qlty.sh/badges/d2716feb-b2cf-4a21-a44c-e07717730303/maintainability.svg)](https://qlty.sh/gh/solectrus/projects/solectrus)\n[![Code Coverage](https://qlty.sh/badges/d2716feb-b2cf-4a21-a44c-e07717730303/coverage.svg)](https://qlty.sh/gh/solectrus/projects/solectrus)\n[![wakatime](https://wakatime.com/badge/user/697af4f5-617a-446d-ba58-407e7f3e0243/project/ce8d6e54-7457-42e5-94a3-33a9d4021d45.svg)](https://wakatime.com/badge/user/697af4f5-617a-446d-ba58-407e7f3e0243/project/ce8d6e54-7457-42e5-94a3-33a9d4021d45)\n\n# SOLECTRUS\n\nSOLECTRUS 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.\n\n![Screenshot](screenshot.webp)\n\n## Live Demo\n\nTry it out at https://demo.solectrus.de\n\n## Installation\n\nSOLECTRUS 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.\n\n## Development\n\nTo contribute, set up a local development environment (this guide assumes macOS with Homebrew):\n\n1. Clone the repository:\n\n```bash\ngit clone git@github.com:solectrus/solectrus.git\ncd solectrus\n```\n\n2. Install PostgreSQL, Redis, and puma-dev (if not already present). On a Mac with HomeBrew, run this to install from the `Brewfile`:\n\n```bash\nbrew bundle\n```\n\nEnsure that PostgreSQL is running:\n\n```bash\nbrew services start postgresql@18\n```\n\n3. Install and set up [puma-dev](https://github.com/puma/puma-dev) to use HTTPS for development. Do this on macOS:\n\n```bash\nsudo puma-dev -setup\npuma-dev -install\npuma-dev link\n\n# Use Vite via puma-dev proxy\n# Adopted from https://github.com/puma/puma-dev#webpack-dev-server\necho 3036 \u003e ~/.puma-dev/vite.solectrus\n```\n\n4. Setup the application to install gems and NPM packages and create the database:\n\n```bash\nbin/setup\n```\n\n5. Start the application locally:\n\n```bash\nbin/dev\n```\n\nThis starts the app and opens https://solectrus.test in your default browser (see `Procfile.dev`).\n\n### Testing\n\nAfter preparing development environment (see above):\n\n```bash\nbin/influxdb-restart.sh\nDISABLE_SPRING=1 bin/rspec\nopen coverage/index.html\n```\n\nRuboCop:\n\n```\nbin/rubocop\n```\n\nESLint:\n\n```\nbin/yarn lint\n```\n\nTypeScript:\n\n```\nbin/yarn tsc\n```\n\nThere is a shortcut to run **all** test and linting tools:\n\n```bash\nbin/ci\n```\n\n## Performance Monitoring\n\nThe [Live Demo](https://demo.solectrus.de) is hosted at Hetzner Cloud. For performance monitoring, it uses [RorVsWild](https://www.rorvswild.com), 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:\nhttps://www.rorvswild.com/applications/136101/requests\n\n## License\n\n© 2020–2026 Georg Ledermann. Released under AGPL-3.0.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsolectrus%2Fsolectrus","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsolectrus%2Fsolectrus","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsolectrus%2Fsolectrus/lists"}