solarthing
An application that can monitor data from a variety of solar charge controllers and inverters.
https://github.com/wildmountainfarms/solarthing
Category: Renewable Energy
Sub Category: Photovoltaics and Solar Energy
Keywords
couchdb crne-solar dashboard energy-monitor modbus outback-mate packets pvoutput raspberry-pi renogy renogy-rover slack slack-bot solar solar-energy solarthing solcast
Keywords from Contributors
observability archiving transforms measur animals projection generic compose optimize conversion
Last synced: 27 minutes ago
JSON representation
Repository metadata
Monitors an Outback MATE, Renogy Rover - MPPT Charge Controller and EPEver Tracer. Integrates with Grafana, PVOutput and more!
- Host: GitHub
- URL: https://github.com/wildmountainfarms/solarthing
- Owner: wildmountainfarms
- License: mit
- Created: 2019-07-03T09:49:26.000Z (almost 6 years ago)
- Default Branch: master
- Last Pushed: 2024-12-22T23:14:22.000Z (4 months ago)
- Last Synced: 2025-04-10T06:05:26.918Z (17 days ago)
- Topics: couchdb, crne-solar, dashboard, energy-monitor, modbus, outback-mate, packets, pvoutput, raspberry-pi, renogy, renogy-rover, slack, slack-bot, solar, solar-energy, solarthing, solcast
- Language: Java
- Homepage: https://solarthing.readthedocs.io
- Size: 14.6 MB
- Stars: 138
- Watchers: 5
- Forks: 29
- Open Issues: 21
- Releases: 60
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- Funding: .github/FUNDING.yml
- License: LICENSE
README.md
SolarThing
Stores solar data in a database to view on Android, Grafana, or PVOutput
View full documentation at https://solarthing.readthedocs.io/
Contents
Supported Products
- Outback MATEs (FX Inverter, MX/FM Charge Controller)
- Renogy Rover (And other Renogy products) over modbus serial.
- Includes Rover, Rover Elite, Wanderer, Adventurer, Dual Input DCDC Charger, Rover Boost and possibly others
- Compatible with all SRNE Solar Charge Controllers (And rebranded products)
- Compatible with Zenith Grape Solar Charge Controller, PowMr MPPT Charge Controller, RICH SOLAR MPPT, WindyNations TrakMax MPPT
- EPEver Tracer
- Includes the AN series and the TRIRON N series
- Possibly includes the BN series (untested)
- DS18B20 Temperature Sensors and PZEM-003 and PZEM-017 Shunts
Quickstart
Ready to install? Use the Quickstart!
Features
- Supports multiple types of solar products.
- Runs reliably 24-7. Recovers from connection errors and has verbose logging features.
- Fully customizable through JSON (No programming experience required).
- Supports CouchDB, InfluxDB, local JSON file, and PVOutput exporting.
- Multiple databases can even be used at the same time!
- Packets are uploaded in parallel to multiple databases at the same time
- Can report CPU temperature.
- Runs inside a Docker container
Viewing Your Data
- Grafana (recommended)
- Use SolarThing Server (with CouchDB) alongside Wild GraphQL Data Source
- Alternatively, configure SolarThing to upload to InfluxDB for viewing of statistics in Grafana
- SolarThing Android
- SolarThing Android connects directly to CouchDB to display data in a persistent notification
- PVOutput.org
- Upload your data to CouchDB, then let SolarThing upload the data inside your database to PVOutput!
If you are wondering how to set up SolarThing to view your data, you can head here: https://solarthing.readthedocs.io/en/latest/quickstart/data/index.html
Supported Databases
- CouchDB
- Recommended database and best supported database for SolarThing
- Used with Wild GraphQL Data Source to view data in Grafana
- Used with SolarThing Android to view data in the Android app
- Used as intermediate storage before data is aggregated and uploaded to PVOutput
- InfluxDB
- Upload statistics to InfluxDB and view them in your visualization tool of choice (Grafana is an option)
- REST API
- With the "post" database, all packets can be posted to a URL endpoint, useful for REST APIs
Screenshots and Examples
You can get data in Grafana via CouchDB+SolarThing Server or via InfluxDB (InfluxDB not recommended).
Grafana is customizable. Rearrange graphs and make it how you want!
Pre-made Grafana dashboards are coming soon.
PVOutput Wild Mountain Farms: PVOutput System and
PVOutput SolarThing Teams
SolarThing Android: GitHub
|
Google Play
SolarThing Android displays data in a persistent notification that updates at a configurable rate
Suggestions?
If you have suggestions on how to improve the documentation or have a feature request, I'd love to
hear from you!
SolarThing Issues
or
SolarThing Discussions
Any confusion you get while setting up SolarThing is something that can be improved upon.
If you need help, ask for help!
That way we can make the documentation clearer for everyone!
Owner metadata
- Name: Wild Mountain Farms
- Login: wildmountainfarms
- Email:
- Kind: organization
- Description: Contains repositories for projects utilized on the ranch
- Website:
- Location:
- Twitter:
- Company:
- Icon url: https://avatars.githubusercontent.com/u/52333871?v=4
- Repositories: 2
- Last ynced at: 2023-03-04T22:05:34.580Z
- Profile URL: https://github.com/wildmountainfarms
GitHub Events
Total
- Create event: 3
- Release event: 2
- Issues event: 8
- Watch event: 11
- Issue comment event: 10
- Push event: 16
- Pull request event: 2
- Fork event: 1
Last Year
- Create event: 3
- Release event: 2
- Issues event: 8
- Watch event: 11
- Issue comment event: 10
- Push event: 16
- Pull request event: 2
- Fork event: 1
Committers metadata
Last synced: 6 days ago
Total Commits: 1,104
Total Committers: 6
Avg Commits per committer: 184.0
Development Distribution Score (DDS): 0.053
Commits in past year: 33
Committers in past year: 2
Avg Commits per committer in past year: 16.5
Development Distribution Score (DDS) in past year: 0.03
Name | Commits | |
---|---|---|
Lavender Shannon | r****l@g****m | 1045 |
dependabot[bot] | 4****] | 55 |
BuildTools | u****d@n****g | 1 |
David Goodman | d****e@w****m | 1 |
Virgil Mihailovici | v****m@d****o | 1 |
David Goodman | e****8@g****m | 1 |
Committer domains:
Issue and Pull Request metadata
Last synced: 1 day ago
Total issues: 49
Total pull requests: 121
Average time to close issues: 28 days
Average time to close pull requests: 19 days
Total issue authors: 21
Total pull request authors: 3
Average comments per issue: 5.82
Average comments per pull request: 0.46
Merged pull request: 60
Bot issues: 0
Bot pull requests: 115
Past year issues: 8
Past year pull requests: 1
Past year average time to close issues: 5 days
Past year average time to close pull requests: 1 minute
Past year issue authors: 5
Past year pull request authors: 1
Past year average comments per issue: 1.75
Past year average comments per pull request: 0.0
Past year merged pull request: 1
Past year bot issues: 0
Past year bot pull requests: 0
Top Issue Authors
- retrodaredevil (20)
- riker65 (6)
- TheAlchemistFLT (3)
- rbroen3rd (2)
- Joe13183 (2)
- gecko951 (1)
- bob5731 (1)
- mgrouch (1)
- scully1707 (1)
- andraii (1)
- Maikeleg (1)
- egri-nagy (1)
- ilikenwf (1)
- cguay (1)
- tesau (1)
Top Pull Request Authors
- dependabot[bot] (115)
- retrodaredevil (5)
- eidolon1138 (1)
Top Issue Labels
- enhancement (15)
- bug (5)
- unsupported device (4)
- couchdb (4)
- technical (3)
- general support (3)
- rover (2)
- documentation (2)
- config server (1)
- help wanted (1)
- rover like device (1)
- possibly fixed (1)
- data question (1)
- file permission error (1)
- inactive (1)
- serial port (1)
- docker (1)
- modbus exception (1)
Top Pull Request Labels
- dependencies (115)
- java (62)
- github_actions (27)
- javascript (10)
- investigate (3)
Dependencies
- com.fasterxml.jackson.core:jackson-annotations $jacksonVersion api
- com.fasterxml.jackson.core:jackson-core $jacksonVersion api
- com.fasterxml.jackson.core:jackson-databind $jacksonVersion api
- com.fasterxml.jackson.datatype:jackson-datatype-jsr310 $jacksonVersion api
- com.github.retrodaredevil.couchdb-java:couchdb $couchdbJavaVersion api
- com.github.retrodaredevil.io-lib:core $ioLibVersion api
- com.github.retrodaredevil:couchdb-java $couchdbJavaVersion api
- org.ektorp:org.ektorp 1.5.0 api
- actions/checkout v2 composite
- github/codeql-action/analyze v1 composite
- github/codeql-action/autobuild v1 composite
- github/codeql-action/init v1 composite
- actions/checkout v3 composite
- actions/setup-java v1 composite
- actions/setup-node v3 composite
- actions/checkout v3 composite
- actions/setup-java v1 composite
- actions/setup-node v3 composite
- actions/setup-python v3 composite
- actions/upload-release-asset v1 composite
- actions/checkout v1 composite
- actions/setup-java v1 composite
- apache/couchdb 3
- grafana/grafana 7.4.0
- quay.io/influxdb/influxdb v2.0.3
- balabit/syslog-ng latest
- com.fasterxml.jackson.core:jackson-annotations $jacksonVersion api
- com.fasterxml.jackson.core:jackson-databind $jacksonVersion api
- com.github.retrodaredevil:action-lib v1.3.1 api
- org.jetbrains:annotations 23.0.0 implementation
- com.tngtech.archunit:archunit 0.22.0 testImplementation
- org.junit.jupiter:junit-jupiter-params $junit5Version testImplementation
- org.junit.platform:junit-platform-commons $junit5PlatformVersion testImplementation
- com.brsanthu:google-analytics-java 2.0.0 implementation
- com.github.retrodaredevil.io-lib:jSerialComm $ioLibVersion implementation
- com.influxdb:influxdb-client-java 6.1.0 implementation
- com.slack.api:slack-api-client 1.22.2 implementation
- info.debatty:java-string-similarity 2.0.0 implementation
- org.apache.logging.log4j:log4j-core $log4jVersion implementation
- org.apache.logging.log4j:log4j-jcl $log4jVersion implementation
- org.apache.logging.log4j:log4j-slf4j2-impl $log4jVersion implementation
- org.eclipse.paho:org.eclipse.paho.client.mqttv3 1.2.5 implementation
- org.influxdb:influxdb-java 2.22 implementation
- org.java-websocket:Java-WebSocket 1.5.3 implementation
- com.fasterxml.jackson.core:jackson-annotations $jacksonVersion api
- com.fasterxml.jackson.core:jackson-databind $jacksonVersion api
- com.google.auto.service:auto-service 1.0.1 implementation
- com.squareup.okhttp3:okhttp $okhttpVersion api
- com.squareup.retrofit2:converter-jackson $retrofitVersion api
- com.squareup.retrofit2:retrofit $retrofitVersion api
- com.squareup.okhttp3:logging-interceptor $okhttpVersion implementation
- com.squareup.retrofit2:converter-jackson $retrofitVersion implementation
- com.squareup.retrofit2:converter-scalars $retrofitVersion implementation
- 1526 dependencies
- @graphql-codegen/cli 2.12.0 development
- @graphql-codegen/introspection 2.1.1 development
- @graphql-codegen/typescript 2.4.8 development
- @graphql-codegen/typescript-document-nodes 2.2.8 development
- @graphql-codegen/typescript-graphql-files-modules 2.1.1 development
- @graphql-codegen/typescript-graphql-request ^4.4.5 development
- @graphql-codegen/typescript-operations ^2.3.5 development
- @graphql-codegen/typescript-react-query ^3.5.9 development
- react-scripts 5.0.1 development
- shx ^0.3.4 development
- @graphql-codegen/typescript-react-apollo ^3.2.14
- @testing-library/jest-dom ^5.16.4
- @testing-library/react ^13.2.0
- @testing-library/user-event ^13.5.0
- @types/jest ^27.5.1
- @types/node ^16.11.36
- @types/react ^18.0.9
- @types/react-dom ^18.0.4
- graphiql ^2.0.7
- graphql ^16.5.0
- graphql-request ^4.2.0
- graphql-voyager ^1.0.0-rc.31
- react ^18.1.0
- react-cookie ^4.1.1
- react-dom ^18.1.0
- react-query ^3.39.0
- react-router-dom ^6.3.0
- typescript ^4.6.4
- web-vitals ^2.1.4
- actions/checkout v4 composite
- actions/setup-java v3 composite
- actions/setup-node v3 composite
- docker/build-push-action v4.2.1 composite
- docker/login-action v2.2.0 composite
- docker/metadata-action v4.6.0 composite
- docker/setup-buildx-action v2 composite
- eclipse-temurin 19-jre-jammy build
- eclipse-temurin 19-jre-jammy build
- com.fasterxml.jackson.core:jackson-annotations $jacksonVersion api
- com.fasterxml.jackson.core:jackson-core $jacksonVersion api
- com.fasterxml.jackson.core:jackson-databind $jacksonVersion api
- com.graphql-java:graphql-java 14.0 implementation
- io.leangen.graphql:spqr 0.12.3 implementation
- org.springframework.boot:spring-boot-starter-graphql * implementation
- org.springframework.boot:spring-boot-starter-log4j2 * implementation
- org.springframework.boot:spring-boot-starter-web * implementation
- org.springframework.boot:spring-boot-starter-test * testImplementation
Score: 6.860663671448286