Giter VIP home page Giter VIP logo

solarmon's Introduction

Solarmon

A simple Python Script for reading Growatt PV Inverter Modbus RS485 RTU Protocol and storing into InfluxDB

Protocol Documentation

How to use

  • Some hardware running a Linux based OS with Python 3 (eg. Raspberry Pi)
  • Connect your Linux based OS to the RS485 port on the inverter via a RS485 to USB cable
  • Install InfluxDB
  • Copy solarmon.cfg.example to solarmon.cfg and modify the config values to your setup as needed
  • Run pip install -r requirements.txt
  • Run python solarmon.py in a screen (or you could setup a service if that is your preference)
  • Install Grafana
  • Go to http://localhost:3000/dashboard/import or equivalent for where you installed Grafana and import grafana/dashboard.json

Inverter Grafana Dashboard

Reading from Multiple Units

To read from multiple units add a new section to the solarmon.cfg config with the unit's id and the measurement name to store the units data in influxdb

[inverters.<name>]
unit = <id>
measurement = <mesurement>

Example:

[inverters.unit2]
unit = 2
measurement = inverter2

To view the data using a Grafana dashboard simply import the template like described above in "How to use" and then change the measurement variable at the top of the page to match what you put in the config, in the example that is 'inverter2'.

Systemd Service

  • Copy solarmon.service to /etc/systemd/system
  • Modify the WorkingDirectory and User to suit your setup.
  • Run systemctl start solarmon to start the service.
  • Run systemctl status solarmon and ensure that the service is running correctly.
  • Run systemctl enable solarmon to make the service automatically start when the system does.

solarmon's People

Contributors

dependabot-preview[bot] avatar zeroerrors 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.