Coder Social home page Coder Social logo

cole8888 / srne-solar-charge-controller-monitor Goto Github PK

View Code? Open in Web Editor NEW
22.0 4.0 4.0 30.52 MB

Read data from SRNE solar charge controllers.

Python 12.08% C++ 39.34% CSS 0.97% JavaScript 21.34% HTML 26.27%
arduino raspberry-pi solar solar-energy solarpanels solarpower charge-controller diy modbus srne

srne-solar-charge-controller-monitor's Introduction

SRNE-Solar-Charge-Controller-Monitor

Read data from SRNE solar charge controllers via modbus over RS232.

This repository contains several example programs for reading data from SRNE solar charge controllers using Raspberry Pi, ESP32, ESP8266 and Arduino Nano / Uno.

Based on the modbus manuals, this should also work with some Renogy controllers, but I don't have one to test with. Also, verify the wiring is compatible with your controller.


Example Setups:

Here are some example programs to get started. If you follow the setup instructions in the readme files of each directory, you should be able to talk to your controller. If you are just getting started, don't use the MQTT ones.


Web-Interface and MQTT

I've included an example web interface you can use in combination with the MQTT-enabled example programs. To use it, you will need to setup an MQTT broker such as Mosquitto or use a cloud broker. You will also need to set all the appropriate settings in the chosen program and the index.js file.

Web-Interface-Screenshot

I also included my custom web interface which I am using for my setup. It has the ability to read data from and control smart plugs flashed with Tasmota.


My Current Setup:

The setup I use is a customized version of the ESP32 Example, I also designed a custom PCB. Have a look at My-Current-Setup if you want some inspiration for your own setup!

ESP32 PCB Image


Troubleshooting:

If you notice lots of timeouts, or other errors, try some these steps before creating an issue:

  • Try a different power supply and USB cable. My ML2440 does not respond when I use one of my USB power bricks, but it does with another.
  • Try increasing the modbus timeout value.
  • Try using a shorter cables and moving them away from interference.
  • Verify you are using straight cables and not ones that reverse from one end to the other.
  • Try using HardwareSerial instead of SoftwareSerial. I've found HardwareSerial is more reliable, configure the program to use it if you are having problems.

If these don't help or if you need clarification, feel free to create an issue and I'll see what I can do!


Other notes:

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.