Git Product home page Git Product logo

canadiansolar-pvoutput's Introduction

Codacy Badge

= Canadina Solar

This code reads registers from Canadian Solar invernter via modbus protocol over a RS-232 interface. I only tested it on a CSI-3K-TL witch is much similar (probably a clone altough I have no written evidence) of Growatt inverters. Besides very similar hardware and display interface look and feel, modbus protocol are identical (exception to some unimplemented features like clock).

Although there is a function to synchronize inverter's clock based on comments posted to the Steffen blog, this function was never tested since Canadian opted to not implement clock features into CSI-3K-TL.

== pvoutput

Values read from inverter are upload to pvoutput.org and this code assumes the account has "donantion" features enabled. If you do not want to donate just remove extra features (v7~v12 paramenters).

Optionally this code reads local temperature from OpenWheatherMap

== Usage

=== Docker

For portability and also for simplify development, I run this code into a docker container. Dockerfile is very simple and provided.

To build docker image just run docker build -t canadian-pvoutput .

To run in docker create a container with docker run --restart always --name="pvoutput" -d -i --device=/dev/ttyUSB0 --net=host -v /home/jrbenito/canadian-pvoutput:/app -w /app jrbenito/canadian-pvoutput ./pvoutput.sh. Script pvoutput.sh is a wrapper to run python script continuasly if it fails. Docker will automaticaly restart this container in case of computer reboot or container fails.

=== Direct (no docker)

$ pip install -r requirements.txt
$ ./pvoutput.sh

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.