Skip to content

Commit

Permalink
Updates to readme and docs
Browse files Browse the repository at this point in the history
  • Loading branch information
retrodaredevil committed Dec 23, 2023
1 parent 71aafe9 commit c9069b8
Show file tree
Hide file tree
Showing 5 changed files with 39 additions and 42 deletions.
64 changes: 27 additions & 37 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
# SolarThing
![SolarThing](other/docs/solarthing_logo.png "SolarThing")

[![](https://img.shields.io/github/last-commit/wildmountainfarms/solarthing.svg)](https://github.com/wildmountainfarms/solarthing/commits/master)
[![](https://img.shields.io/github/stars/wildmountainfarms/solarthing.svg?style=social)](https://github.com/wildmountainfarms/solarthing/stargazers)
[![](https://img.shields.io/github/v/release/wildmountainfarms/solarthing.svg)](https://github.com/wildmountainfarms/solarthing/releases)
[![](https://img.shields.io/github/release-date/wildmountainfarms/solarthing.svg)](https://github.com/wildmountainfarms/solarthing/releases)
[![](https://img.shields.io/github/downloads/wildmountainfarms/solarthing/total.svg)](https://solarthing.readthedocs.io/en/latest/installation.html)

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

Expand All @@ -27,23 +27,23 @@ Stores solar data in a database to view on Android, Grafana, or PVOutput
* Possibly includes the BN series (untested)
* DS18B20 Temperature Sensors and PZEM-003 and PZEM-017 Shunts

# Quickstart
Ready to install? Use the [Quickstart](https://solarthing.readthedocs.io/en/latest/installation.html)!
## Quickstart
Ready to install? Use the [Quickstart](https://solarthing.readthedocs.io/en/latest/quickstart/install/index.html)!


# Features
## 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](https://solarthing.readthedocs.io/en/latest/config/rpi-cpu-temp.html).
* Easy setup on Linux. Runs *without* root.
* Can [report CPU temperature](https://solarthing.readthedocs.io/en/latest/config/file/base-json/request/cpu-temperature.html).
* Runs inside a Docker container

## Supported Databases
* CouchDB
* Allows for [SolarThing Android](https://github.com/wildmountainfarms/solarthing-android) and [SolarThing Web](https://github.com/wildmountainfarms/solarthing-web) to function
* Allows for [SolarThing Android](https://github.com/wildmountainfarms/solarthing-android) and [SolarThing Server](https://solarthing.readthedocs.io/en/latest/quickstart/data/solarthing-server/index.html) to function
* Used for PVOutput data collection
* GraphQL
* Allows use of CouchDB SolarThing data with Grafana
Expand All @@ -53,12 +53,11 @@ Ready to install? Use the [Quickstart](https://solarthing.readthedocs.io/en/late
* [PVOutput.org](https://pvoutput.org)
* Allows for viewing of data on [pvoutput.org](https://pvoutput.org)
* Requires CouchDB to be set up
* Enables usage of the [PVOutput Mycroft skill](https://github.com/wildmountainfarms/pvoutput-mycroft)
* REST API
* With the "post" database, all packets can be posted to a URL endpoint, useful for REST APIs


### Examples
## Examples
PVOutput Wild Mountain Farms: [PVOutput System](https://pvoutput.org/intraday.jsp?sid=72206) and
[PVOutput SolarThing Teams](https://pvoutput.org/listteam.jsp?tid=1528)

Expand All @@ -74,53 +73,44 @@ SolarThing Android displays data in a persistent notification that updates at a

You can get data in [Grafana](https://github.com/grafana/grafana) via InfluxDB or via CouchDB+SolarThing GraphQL.

[Snapshot of Wild Mountain Farms Dashboard](https://snapshot.raintank.io/dashboard/snapshot/iPsTvb6a0eOxEtvvu58dvRuJsJ38Onnp?orgId=2)

Grafana is very customizable. Rearrange graphs and make it how you want!
![alt text](other/docs/grafana-screenshot-1.png "SolarThing with Grafana")

---

## Usage at Wild Mountain Farms
### 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](https://solarthing.readthedocs.io/en/latest/config/couchdb.html)<br/>
* Used for SolarThing Android, SolarThing Web, and SolarThing GraphQL (which gets data to Grafana)
* [InfluxDB 2.0 setup](https://solarthing.readthedocs.io/en/latest/config/influxdb2.html)<br/>
## Database Setup
* [CouchDB setup](https://solarthing.readthedocs.io/en/latest/quickstart/config/database/couchdb.html)<br/>
* Used for SolarThing Android, and SolarThing Server
* [InfluxDB 2.0 setup](https://solarthing.readthedocs.io/en/latest/quickstart/config/database/influxdb2.html)<br/>
* Used for direct Grafana queries

#### [Developer Use](other/docs/developer_use.md)
#### [Contributing](CONTRIBUTING.md)
#### [Technical](other/docs/technical/technical.md)
#### [Project Structure](other/docs/technical/project_structure.md)
#### [History](other/docs/history.md)
#### [Google Analytics](https://solarthing.readthedocs.io/en/latest/config/analytics.html)
#### [Updating](https://solarthing.readthedocs.io/en/latest/updating.html)
## [Developer Use](other/docs/developer_use.md)
## [Contributing](CONTRIBUTING.md)
## [Updating](https://solarthing.readthedocs.io/en/latest/updating.html)

#### Configuration
## 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](https://solarthing.readthedocs.io/en/latest/configuration.html) 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.
* https://github.com/corbinbs/solarshed
* https://github.com/logreposit/renogy-rover-reader-service
* https://github.com/menloparkinnovation/renogy-rover
* https://github.com/floreno/renogy-rover-modbus
* https://github.com/CyberRad/CoopSolar
* https://github.com/amigadad/SolarDataCollection
## [SolarThing Alternatives](https://solarthing.readthedocs.io/en/latest/misc/alternatives.html)

### Suggestions?
## 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](https://github.com/wildmountainfarms/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.
hear from you!
[SolarThing Issues](https://github.com/wildmountainfarms/solarthing/issues)
or
[SolarThing Discussions](https://github.com/wildmountainfarms/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!

---

Expand Down
2 changes: 2 additions & 0 deletions other/docs/history.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,8 @@
# History
This program started in the summer of 2017.

NOTE: This page should be moved to https://solarthing.readthedocs.io in the future.

### Inspiration
[@eidolon1138](https://github.com/eidolon1138) is the one who originally came up with the idea to collect data from his Outback Mate device. He helped
set up the database and [@retrodaredevil](https://github.com/retrodaredevil) did the rest. Eventually [@retrodaredevil](https://github.com/retrodaredevil) created an android app making it much
Expand Down
9 changes: 5 additions & 4 deletions other/docs/technical/project_structure.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,9 @@
# Project Structure

WARNING! This page is outdated. Please see: https://solarthing.readthedocs.io

TODO: In the future we should migrate information on this page to somewhere in the SolarThing documentation.

### [core](../../../core)
* A gradle subproject
* Contains core code used in all other subprojects
Expand All @@ -9,12 +13,9 @@
### [serviceapi](../../../serviceapi)
* A gradle subproject
* An API for https://pvoutput.org and for https://emoncms.org
### [graphql](../../../graphql)
### [server](../../../server)
* A gradle subproject
* A subprogram that exposes a CouchDB database as a GraphQL Server.
### [json-datasource](../../../json-datasource) (WIP)
* A gradle subproject
* A subprogram that is a REST interface that exposes SolarThing data from CouchDB to Grafana

---

Expand Down
3 changes: 2 additions & 1 deletion other/docs/technical/technical.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
### Individual documentation
[Solar readme](solar/README.md)

WARNING! This page is outdated. Please see: https://solarthing.readthedocs.io

### Line count
```shell
Expand Down
3 changes: 3 additions & 0 deletions other/solar/README.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,7 @@
# Detailed Solar Implementation

WARNING! This page is outdated. Please see: https://solarthing.readthedocs.io

Some information about how this program works with solar products.

Ready to get started? Go to the **[QUICKSTART](../docs/quickstart.md)**!
Expand Down

0 comments on commit c9069b8

Please sign in to comment.