Giter VIP home page Giter VIP logo

growatt-sph-spa-esp8266's Introduction

growatt-sph-spa-esp8266

This project's main goal is to read energy data from a Growatt SPH or Growatt SPA inverter and publish it to a MQTT server of your choice. It can run on many ESP8266 boards like NodeMCU v3, Wemos D1 or even ESP-01, etc. because it doesn't require anything besides the ESP chip and a serial port MAX3232 level converter.

The data published to the MQTT server can be consumed by almost any Home Automation solution.

Many ideas to implement this project came from other projects, most notably:

Main features

  • Configuration fully done via captive portal or web interface
  • Periodically polls data from the inverter and publishes it to the MQTT server via Wifi
  • Polling period is configurable (in seconds)
  • You can change inverter settings via MQTT:
    • Priority: load, battery, grid
    • Time intervals (eg 00:00 - 23:59) for battery and grid priorities
    • Enable/Disable the AC Charger
    • Set StopStateOfCharge for battery and grid priorities
    • Set PowerRating for battery and grid priorities
  • Prebuilt binaries for NodeMCU/WemosD1 and Generic ESP-01 ESP8266 modules, ie no need to recompile the code
  • No cloud, all energy data is under your control

Downloading a pre-built binary

There are currently two pre-built binary files available:

  • generic: for ESP-01 boards as it uses the hardware serial to communicate with the inverter
  • d1mini: for NodeMCU/WemosD1 and larger boards, it uses a SoftwareSerial port on pins D5 and D6 to communicate with the inverter... the USB port is used for log messages

Build instructions

See BUILD.md for more details, if you really want to compile it on your own.

Configuration

Everything is configured via WiFiManager's Captive Portal / Web Portal and stored in the SPIFFS file system, in a JSON file.

So when powering up the board for the first time, after uploading the firmware, you'll be presented with a WiFi network named growatt-sph-spa-esp8266 from where you can select to which network the board should connect to and the remaining settings.

The main screen

The WiFi settings screen

The setup screen with the remaining settings

After that initial setup is complete, you will still be able to access the configuration portal on the IP address assigned to the board, on the network it's connected to, and make changes to the configuration. All parameters can be changed on the fly without the need for a restart, except for the Device name which requires a restart because it is used on DHCP requests and WiFi SoftAP.

MQTT

The complete list of MQTT topics used by this project is available in the topics file. If you use Home Assistant, you can grab the list of preconfigured sensor entities from the home assistant file to help you get started.

Hardware

This project runs on any generic ESP8266 board, as long as you provide the means to interface it to the inverter serial port, using a MAX3232 or similar chip. Look in the hardware file for more details on how to connect an ESP8266 board to the Growatt SPH inverter.

growatt-sph-spa-esp8266's People

Contributors

enide-electronics avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

Forkers

feierprinz madpsy

growatt-sph-spa-esp8266's Issues

"settings.h" and MQTT Passwort/user

Hi,

the "settings.h" File is missing in my mind in these repo. On the Webbased configuration, I can`t change/see the MQTT-User and Password for the MQTT Broker.

BR
Swen

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.