SolarThing#
SolarThing is an application that can monitor data from a variety of solar charge controllers and inverters. SolarThing supports running in Docker and also supports a native install. Code and issues available at https://github.com/wildmountainfarms/solarthing.
SolarThing targets monitoring off-grid solar installations. The Renogy Rover and EPEver Tracer are typically used for smaller scale off-grid setups, so you will likely not use SolarThing on a larger install or residential install. The Outback MATE 1/2 is also supported, but is far less common than the cheaper charge controllers.
To jump to installation, go to Installation.
Intro#
SolarThing is fully configurable. Create a JSON configuration file to configure how and where data from your charge controller goes! Once configured, charge controller data is continuously uploaded to a database for viewing in Grafana, or your choice of data visualization.
SolarThing allows you to monitor your battery voltage, incoming solar power, and power usage. Each datapoint can be graphed over time. Grafana allows you to view historical data and current data. SolarThing also supports 1-Wire temperature sensors, so you can record the indoor or outdoor temperatures. With more advanced configurations of SolarThing, it can be used as an automation system.
SolarThing supports Outback MATE 1 and 2, Renogy Rover and similar devices, EPEver Tracer charge controllers. For more information, check out Supported Products.
This shows an example setup of SolarThing and the connections between each component. You may make your setup however you would like, with or without all the features shown in the diagram.
To get started, go to DietPi Setup.
About#
Quickstart#
Documentation#
- Configuration
- Maintenance
- Installing Software
- Deveopment
- Developer Setup
- CouchDB Develop
- SolarThing Cache Database
- Database Structure
- Packet Structure
- Triggering Document Generation
- Triggering Document Replacement
- Cache Cleanup
chargeControllerAccumulation
Cache Type- “Unknown” Data in
chargeControllerAccumulation
- Combining Intervals of Data
batteryRecord
Cache Type- Combining
batteryRecord
IdentificationCacheNodeCreator
: generating dataCacheCreator
: generating dataDefaultIdentificationCacheCreator
:CacheCreator
implementationBatteryRecordCacheNodeCreator
implementation- Cache Logic
- Usages of caches
- Creating your own cache
- SolarThing Server GraphQL Queries and Mutations
- Miscellaneous