Giter VIP home page Giter VIP logo

uceflg / solarthing Goto Github PK

View Code? Open in Web Editor NEW

This project forked from wildmountainfarms/solarthing

0.0 0.0 0.0 13.54 MB

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

Home Page: https://solarthing.readthedocs.io

License: MIT License

Shell 1.22% C++ 0.01% Python 0.60% Perl 0.19% Java 93.02% TypeScript 4.64% CSS 0.20% HTML 0.12%

solarthing's Introduction

SolarThing

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

Supported ProductsDocumentationFeaturesSupported DatabasesExamples

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

Supported Databases

  • CouchDB
  • GraphQL
    • Allows use of CouchDB SolarThing data with Grafana
    • Supplements the CouchDB database
  • InfluxDB
    • Simplest to set up with Grafana
  • PVOutput.org
  • REST API
    • With the "post" database, all packets can be posted to a URL endpoint, useful for REST APIs

Examples

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 alt text


You can get data in Grafana via InfluxDB or via CouchDB+SolarThing GraphQL.

Snapshot of Wild Mountain Farms Dashboard

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


Usage at Wild Mountain Farms

We monitor an Outback MATE2, Renogy Rover PG 40A, EPEver Tracer2210AN (20A) using a Raspberry Pi 3. Each device has its own instance of SolarThing running. Each instance uploads data to CouchDB. CouchDB, Grafana, and SolarThing GraphQL run on a separate "NAS" computer. This NAS runs the automation and pvoutput programs. The automation program handles the sending of Slack messages for low battery notifications.

Database Setup

  • CouchDB setup
    • Used for SolarThing Android, SolarThing Web, and SolarThing GraphQL (which gets data to Grafana)
  • InfluxDB 2.0 setup
    • Used for direct Grafana queries

Configuration

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

See configuration to see how to set them up

Renogy Rover Monitoring Alternatives

Don't like something about SolarThing? Here are some alternatives to monitor your Renogy Rover.

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.


solarthing's People

Contributors

retrodaredevil avatar dependabot[bot] avatar eidolon1138 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.