Coder Social home page Coder Social logo

solarlogger's Introduction

GoodWe Solar Logger

Log the performance of your solar panels with a GoodWe inverter.

This will create a .csv file with a timestamp and the real-time power being generated (Watts).

The script attempts to read from the inverter every time it runs. The first time it runs after the sun is down, it generates a PNG and optionally shares it using one of the integrations.

You can place this in your crontab to run every minute - or as often as you wish.

Example crontab:

* * * * * cd /home/solar/app && ./venv solar.py

Configuration

Copy config.sample.py to config.py and update the configuration.

IP_address is the IP address of your inverter.

installed_max is the maximum production in Watts, and used for scaling the generated graph.

city_name gets printed in the header of the graph, but no validation is done, so can be anything.

tz_name/tz_region, latitude/longitude and elevation is used for determining when the sun is up or not.

Data format

Each run attempts to connect to the inverter and report back. Since the inverter gets its power from the sun, it's not always online. Nothing gets written when it does not respond, so each csv-file may have gaps at the beginning and end of the day.

The result gets written to a CSV file with two columns:

  1. the timestamp in UTC
  2. the current power in watts

Integrations

Twitter

(╯°□°)╯︵ ┻━┻

Mastodon

Live example: @[email protected]

Set up your own:

  1. Create an account for your bot on a chosen server
  2. Create an application under Preferences -> Development
    • Give the application a nice name
    • Leave the redirect URI
    • Needs at least write:media and write:statuses scopes in order to work
  3. Copy the client key/secret and access token into config.py
  4. Set mastodon_enabled to True and wait for it to work.

Credits

Based on a copy of @edent's Fronius-DataManager-Solar-Logger.

solarlogger's People

Contributors

perfectlynormal avatar

Stargazers

Tony Bark avatar

Watchers

 avatar  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.