solarthing
Monitors an Outback MATE, Renogy Rover - MPPT Charge Controller and EPEver Tracer. Integrates with Grafana, PVOutput and more!
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 (8.5%) to scientific vocabulary
Keywords
Keywords from Contributors
Repository
Monitors an Outback MATE, Renogy Rover - MPPT Charge Controller and EPEver Tracer. Integrates with Grafana, PVOutput and more!
Basic Info
- Host: GitHub
- Owner: wildmountainfarms
- License: mit
- Language: Java
- Default Branch: master
- Homepage: https://solarthing.readthedocs.io
- Size: 14.7 MB
Statistics
- Stars: 143
- Watchers: 6
- Forks: 31
- Open Issues: 23
- Releases: 60
Topics
Metadata Files
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
- Documentation: https://solarthing.readthedocs.io/en/latest/quickstart/data/solarthing-server/index.html
- 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
- Name: Wild Mountain Farms
- Login: wildmountainfarms
- Kind: organization
- Repositories: 2
- Profile: https://github.com/wildmountainfarms
Contains repositories for projects utilized on the ranch
GitHub Events
Total
- Create event: 5
- Release event: 2
- Issues event: 16
- Watch event: 12
- Issue comment event: 16
- Push event: 25
- Pull request event: 2
- Fork event: 3
Last Year
- Create event: 5
- Release event: 2
- Issues event: 16
- Watch event: 12
- Issue comment event: 16
- Push event: 25
- Pull request event: 2
- Fork event: 3
Committers
Last synced: 7 months ago
Top Committers
| Name | Commits | |
|---|---|---|
| Lavender Shannon | r****l@g****m | 1,055 |
| dependabot[bot] | 4****] | 55 |
| Lavender Shannon | y****u@e****m | 2 |
| David Goodman | d****e@w****m | 1 |
| Virgil Mihailovici | v****m@d****o | 1 |
| David Goodman | e****8@g****m | 1 |
Committer Domains (Top 20 + Academic)
Issues and Pull Requests
Last synced: 6 months ago
All Time
- Total issues: 53
- Total pull requests: 131
- Average time to close issues: 3 months
- Average time to close pull requests: 20 days
- Total issue authors: 21
- Total pull request authors: 3
- Average comments per issue: 5.23
- Average comments per pull request: 0.47
- Merged pull requests: 57
- Bot issues: 0
- Bot pull requests: 122
Past Year
- Issues: 13
- Pull requests: 3
- Average time to close issues: 2 days
- Average time to close pull requests: 1 minute
- Issue authors: 3
- Pull request authors: 2
- Average comments per issue: 0.85
- Average comments per pull request: 0.0
- Merged pull requests: 2
- Bot issues: 0
- Bot pull requests: 0
Top Authors
Issue Authors
- retrodaredevil (24)
- 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)
Pull Request Authors
- dependabot[bot] (122)
- retrodaredevil (7)
- eidolon1138 (2)
Top Labels
Issue Labels
Pull Request Labels
Packages
- Total packages: 1
- Total downloads: unknown
- Total dependent packages: 0
- Total dependent repositories: 0
- Total versions: 68
proxy.golang.org: github.com/wildmountainfarms/solarthing
- Documentation: https://pkg.go.dev/github.com/wildmountainfarms/solarthing#section-documentation
- License: mit
-
Latest release: v2025.1.1+incompatible
published about 1 year ago
Rankings
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