Skip to content

Monitors an Outback MATE and a Renogy Rover - MPPT Charge Controller. Integrates with Grafana, PVOutput and more!

License

Notifications You must be signed in to change notification settings

compscirunner/solarthing

 
 

Repository files navigation

SolarThing

Stores solar data in a database to view on Android, Grafana, or PVOutput

Supported ProductsQuickstartFeaturesSupported DatabasesExamples

Supported Products

  • Outback MATEs (FX Inverter, MX/FM Charge Controller)
  • Renogy Rover (And other Renogy products) over modbus serial.
    • Compatible with all SRNE Solar Products (And rebranded products)
    • Also compatible with Zenith Grape Solar Charge Controller, PowMr MPPT Charge Controller, RICH SOLAR MPPT, WindyNations TrakMax MPPT

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.
  • Can report Raspberry Pi CPU temperature.
  • Easy setup on Linux. Runs without root.

Supported Databases

Examples

PVOutput Wild Mountain Farms: https://pvoutput.org/intraday.jsp?sid=72206


SolarThing Android: Github | Google Play

SolarThing Android displays data in a persistent notification that updates at a configurable rate alt text


If you decide to use InfluxDB, you can easily create your own Dashboard with Grafana.

Grafana is very customizable. Rearrange graphs and make it how you want! alt text


SolarThing Web

While it takes some configuring, SolarThing web is a simple way to display solar data. alt text


Can I run this?

Of course! This runs on Java 8+ and has been tested to work with Java 8 and Java 11. This runs on Linux, Windows and Mac, but is easiest to set up on Linux systems running Debian with systemd (such as the default Raspberry Pi OS or Ubuntu).

You can get the latest jar file on our releases page, but it is recommended that you use the script to automatically download it. The quickstart can help you get SolarThing up and running.

Usage at Wild Mountain Farms

We monitor an Outback MATE2 with a Raspberry Pi 1 and a Renogy Rover charge controller with a Raspberry Pi Zero W. Both SolarThing instances upload data to CouchDB, hosted on the computer also hosting Grafana and SolarThing Web. This computer also gets data from CouchDB and uploads it to PVOutput using the pvoutput-upload program.

We used to also use InfluxDB for allowing easy displaying of data on Grafana, but we now use CouchDB and SolarThing GraphQL for that.

Using the program

You can see the Outback/Renogy Rover README for using the program with outback or renogy products.

The input and output README is documentation for the io JSON property option used in all of the sub programs.

Database Setup

CouchDB setup
Used for the android and web application

InfluxDB setup
Used for Grafana

Configuration

This uses all JSON for configuring everything. The files you edit are all in one place unless you decide to move them.

See Quickstart to see how to set them up

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

If you get confused while trying to configure solarthing, that's probably because the documentation is always a work in progress. If you find something confusing, please report it, so I can make it clearer.


About

Monitors an Outback MATE and a Renogy Rover - MPPT Charge Controller. Integrates with Grafana, PVOutput and more!

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Java 97.5%
  • Shell 1.1%
  • Other 1.4%