Giter Club home page Giter Club logo

openinvertergateway's Introduction

OpenInverterGateway

Firmware replacement for Growatt ShineWiFi-S (serial), ShineWiFi-X (USB) or custom build sticks (ESP8266/ESP32).

How to install

  • Download a precompiled release from here (hardcoded to default settings/growatt protocol 1.24)

Or

  • Checkout this repo
  • Setup platform.io
  • Open the project folder and choose the correct env for your hardware
  • Rename and adapt Config.h.example to Config.h with your compile time settings

After you obtained an image you want to flash:

  • Flash to an esp32/esp8266 or to a shineX/S-stick (details).
  • Connect to the setup wifi called GrowattConfig (PW: growsolar) and configure the firmware via the webinterface at http://192.168.4.1
  • If you need to reconfigure the stick later on you have to either press the ap button (configured in Config.h) or reset the stick twice within 2-10sec

Features

Implemented Features:

  • Built-in simple Webserver
  • The inverter is queried using Modbus Protocol
  • The data received will be transmitted by MQTT to a server of your choice.
  • The data received is also provided as JSON and Prometheus format
  • Show a simple live graph visualization (http://<ip>) with help from highcharts.com
  • Firmware update via wifiManager
  • It supports basic access to arbitrary modbus data
  • It tries to autodetect which stick type to use
  • Wifi manager with own access point for initial configuration of Wifi and MQTT server (IP: 192.168.4.1, SSID: GrowattConfig, Pass: growsolar)
  • Currently Growatt v1.20, v1.24 and v3.05 protocols are implemented and can be easily extended/changed to fit anyone's needs
  • TLS support for esp32
  • Debugging via Web and Telnet

Not supported:

  • It does not make use the RTC or SPI Flash of these boards.
  • It does not communicate to Growatt Cloud at all.
  • The ShineWifi-LAN stick is not supported. But there is another project for this

Supported sticks/microcontrollers

  • ShineWifi-S with a Growatt Inverter connected via serial (Modbus over RS232 with level shifter)
  • ShineWifi-X with a Growatt Inverter connected via USB (USB-Serial Chip from Exar)
  • Wemos-D1 with a Growatt Inverter connected via USB (USB-Serial Chip: CH340)
  • NODEMCU V1 (ESP8266) with a Growatt Inverter connected via USB (USB-Serial Chip: CH340)
  • ShineWifi-T (untested, please give feedback)
  • Lolin32 (ESP32) with a Growatt Inverter connected via USB

I tested several ESP8266-boards with builtin USB-Serial converters so far only boards with CH340 do work (CP21XX and FTDI chips do not work). Almost all ESP8266 modules with added 9-Pin Serial port and level shifter should work with little soldering via Serial.

See the short descriptions to the devices (including some pictures) in the "Doc" directory.

Supported Inverters

  • Growatt 1000-3000S
  • Growatt MIC 600-3300TL-X (Protocol 124 via USB/Protocol 120 via Serial)
  • Growatt MID 3-25KTL3-X (Protocol 124 via USB)
  • Growatt MOD 3-15KTL3-X-H (Protocol 120 via USB)
  • Growatt MOD 12KTL3-X (Protocol 124 via USB)
  • Growatt MID 25-40KTL3-X (Protocol 120 via USB)
  • Growatt SPH 4000-10000STL3-X BH (Protocol 124 via Serial)
  • And others ....

Modbus Protocol Versions

The documentation from Growatt on the Modbus interface is available, search for "Growatt PV Inverter Modbus RS485 RTU Protocol" on Google.

The older inverters apparently use Protocol v3.05 from year 2013. The newer inverters apparently use protocol v1.05 from year 2018. There is also a new protocol version v1.24 from 2020. (used with SPH4-10KTL3 BH-UP inverter)

JSON Format Data

For IoT applications the raw data can now read in JSON format (application/json) by calling http://<ip>/status

Prometheus Format Metrics

If you want to scrape the metrics with a Prometheus server, you can use the endpoint http://<ip>/metrics. A possible configuration is described here.

Homeassistant configuration

Homeassistant config is described here

Debugging

If you turned on ENABLE_WEB_DEBUG in the Config.h (see Config.h.example) there is a debug site under http://<ip>/debug. You can turn on ENABLE_TELNET_DEBUG to get the debug messages via a telnet client. telnet <ip>

To enable even more messages, take a look to DEBUG_MODBUS_OUTPUT.

Change log

See here

Acknowledgements

This arduino sketch will replace the original firmware of the Growatt ShineWiFi stick.

This project is based on Jethro Kairys work on the Modbus interface https://github.com/jkairys/growatt-esp8266

Some keywords:

ESP8266, ESP-07S, Growatt 1000S, Growatt 600TL, ShineWifi, Arduino, MQTT, JSON, Modbus, Rest

openinvertergateway's People

Contributors

beoq avatar bullmastiffo avatar crasu avatar diegmonti avatar distancerunner avatar ffatghub avatar kimifoud avatar kotty666 avatar larswnd avatar mattjeanes avatar nuclearcat avatar otti avatar raptorsds avatar schweigel avatar slovdahl avatar spaggi avatar stweil avatar tbasnoopy avatar tommarek avatar tux-o-matic avatar xdubx avatar xeno27 avatar zinserjan avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

openinvertergateway's Issues

Changing settings after configuring wifi

After having uploaded the firmware and having configured wifi, it is impossible to for example change MQTT settings without going into AP mode manually again.

Since my Growatt is outside on my roof, would be really easy to have a webpage option to do some configuring.

Would that be an option?

WIFI-F - Can't get into boot mode

I can't for the life of me get this into boot mode. I've done this dozens of stuff with no issues but no joy here.

I have v3.3, gnd, rx to rx and tx to tx on the usb uart that I always use and then short gpio0 and gnd using the pins that I continuity tested on the board and it looks like it's in boot mode (one red light), but no joy uploading.

Is there something I'm missing?

SPH Shine-X Register definition

Hello,
is there any successful Example for Read Data of the SPH Inverters ( Series TL3) via the Software? or a Description for the Registers from Growatt?

MQTT not connected

Had some issue with MQTT connection.
Didnt made a deep dive to find the root cause but hard coding within mqttreconnect() solved it.

dont work:
if (MqttClient.connect(getId().c_str(), mqttuser.c_str(), mqttpwd.c_str(), mqtttopic.c_str(), 1, 1, "{"InverterStatus": -1 }"))

work:
if (MqttClient.connect("Gro0815", "", "", "energy/solar", 1, 1, "{"InverterStatus": -1 }"))

Error when compiling

Im getting the following error when compiling in the Arduino IDE;

In file included from C:\prive\Growatt_ShineWiFi-S-master\Growatt_ShineWiFi-S-master\SRC\ShineWiFi-ModBus\ShineWiFi-ModBus.ino:46:0:
C:\prive\libraries\ESP_DoubleResetDetector\src/ESP_DoubleResetDetector.h:105:10: fatal error: FS.h: No such file or directory
#include <FS.h>
^~~~~~
compilation terminated.
Using library ESP_DoubleResetDetector at version 1.3.2 in folder: C:\prive\libraries\ESP_DoubleResetDetector
exit status 1
Error compiling for board Arduino Uno

Am i making a mistake here, or is some reference in the DoubleResetDetector library missing?

<ShineWifi.h> Fehler?

Hi otti,

beim kompilieren erhalte ich folgenden Fehler:

In file included from C:\Users\domin\OneDrive\Dokumente\Arduino\ShineWiFi-ModBus\ShineWiFi-ModBus.ino:55:
ShineMqtt.h:7:14: fatal error: ShineWifi.h: No such file or directory
    7 |     #include <ShineWifi.h>
      |              ^~~~~~~~~~~~~
compilation terminated.
exit status 1
ShineWifi.h: No such file or directory

Dabei ist mir aufgefallen, dass die ShineWifi.h in der ShineMqtt.h wiefolgt eingebunden wird:

#if MQTT_SUPPORTED == 1
    #include "Arduino.h"
    #include <ShineWifi.h>
    #include <PubSubClient.h>
    #include <stdbool.h>
    #include "WebDebug.h"

Mit den " " hat das dann erfolgreich kompiliert.
Ich kenn mich nicht so gut damit aus, aber war das der Fehler? Ich habe den Shine Stick noch nicht da um es zu testen.

#if MQTT_SUPPORTED == 1
    #include "Arduino.h"
    #include "ShineWifi.h"
    #include <PubSubClient.h>
    #include <stdbool.h>
    #include "WebDebug.h"

Gruß
Dominic

Exclude modbus registers to read / exclude values in json/mqtt output to publish only relevant data

Hi.

Is it possible to choose, which registers/values are read from the inverter and modify the json/mqtt output to only relevant objects/values?

For example: I´m not interested in all battery related stuff, so it would be nice to exclude them from mqtt message and json.

I´d like to have a json like this:
{"InverterStatus":1,"InputPower":0,"PV1Voltage":631,"OutputPower":42.1,"TodayGenerateEnergy":0,"TotalGenerateEnergy":2.5,"Mac":"40:91:51:48:66:93","Cnt":59}

thanks in advance!

Please excuse me but I dont understand what to do exactly

I own a Growatt TLX Inverter with ShineX stick. Growatt stopped the possibility to read most of the submitted values.
So i think i have to flash the stick with new firmware and then i am able to read the stick by myself. But i dont find this imagefile that i have to flash. I am wrong here? I only find some source codes to make the reading program.

What kind of USB-to-serial cable to use for flashing?

After having had quite some issues with the Growatt servers and my ShineWiFi-S, I came across this solution to run everything locally and it looks very promising. Although I have experience with DIY projects, having no USB connector directly on the board is a first. Therefore, I was wondering what kind of USB-to-serial cable you would advise to use? Are there any specific things that I should consider?

Undef stick in debug log / watchdog

I am using the Wifi-X module & TL-X inverter
The Debug reports:
#0: Setup()
#1: WiFi reconnected
#2: Error: Undef. Stick
It all functions correctly collecting data.

With regard to the watchdog, I could not see any implementation in the code.
I have had one system crash twice on me. (no mqtt data or access via the htpp)
I did notice that the green LED hat stopped flashing and was just constantly on.
so I am uncertain if it was a Wi-Fi disconnect or if the processor hung up.
I unplugged and plugged the USB back in to reboot, and all was working again.
In theory the watch dog should have rebooted the module.
Is it possible to add a watchdog to your code.

Thanks
Cruzxia

Flashing the ShineWiFi-X module

To flash the ShineWiFi-X(Usb), you need to temporarily remove R29 and R30.
This prevents the onboard USB serial IC interfering with the serial data you are flashing.
(Don't forget to put the resistors back once the module has been flashed)

On the ShineWiFi-X module connect your serial programmer Tx to RX0 (on the ShineWiFi-X PCB), and Rx to TX0(on the ShineWiFi-X PCB)

Lastly if you are using MQTT and have two systems on the same broker, you will have to change the name of the MQTT_LAST_WILL
so that they are unique for each system. otherwise both systems keep disconnecting.
I added a name definition and altered the Mqtt... statement in the code as follows:
#define MQTT_LAST_WILL "S1Growatt" // Must be unique if more than one system
if (MqttClient.connect(MQTT_LAST_WILL, MQTT_TOPIC, 1, 1, "{"Status": "Disconnected" }"))

Great project
regards Cruzxia

undefined data from Growatt

with fork from BeoQ i get data from growatt, now i want to use this version because of wifimanager.
i can setup all wifi settings and connect to webportal, but no data. it looks like wrong address or baudrate,
maybe???? any ideas?

Power: undefined W
Today: undefined kWh
Total: undefined kWh
DC Voltage: undefined V

Shinewifi-X wifi working, but no webserver found

Hi, after reading a lot about the project I managed today to flash my shinewifi-x after bringing it into boot-mode by connecting GPIO0 to GND when inserting the stick (not using seperate cabling but the built-in usb3). The compilation of the sketch is running w/o errors, I managed to work out these by changing the MQTT-supported-packet-size and adding the necessary packets.

I installed the drivers from here as mentioned in the wiki, its the same behavior with driver version 2.6.0.0 and 2.2.5.0 (I am on Win10 64bit here).

The process of uploading the sketch seems to be successfull, after ejecting it from usb and reinserting it I almost instantly get a ping-answer from the IP-Address of the stick. I also can telnet to the IP on port 80 (telnet 192.168.x.x 80) and seem to have a connection, but in browser I am not getting a response.

grafik

grafik

Although there was enough sun and energy (>1kwh) I did not reinsert the stick into the inverter until now, but configured the
#define SIMULATE_INVERTER to 1 to eliminate this as a root cause.

When inserting the stick now, the red LED is flashing for 1-2 seconds and then changing to permanent red. Ah and one more curious thing, when connecting GPIO0 to GND, not only the RED led is on (labeled as LED2), but also blue (LED3)

Any ideas? Forgive me my long text, I am stuck here and have no idea what to try next :/

Thanks and BR
Julius

PS Pictures of my shinewifi-X:

1654889705193

1654889705170

Issues reading data from MIC 600TL-X

I flashed my Shine X stick with the firmware, but i can't get any real data from it.
It is connected to a MIC 600TL-X inverter.
The Debug output says its connected and reading data:
#0: Setup()
#1: ShineWiFi-X (USB) found
#2: ReadData() successful
...

But the values are constantly the same and wrong.
image
I have the Shine X stick with the CH340 serial converter.

What should i try to get it to work?

cannot get out of WiFi Manager

Hi,
i am using a WiFiShine-X Stick with Exar XV converter.
So far i was able to flash this version to my stick and i am also able to connect it to my wifi and also to my newly MQTT server i have installed. I can see the ESP stick on my network and also the stick connects to MQTT and write the topic
{"Status": "Disconnected" }
But every time i connect to the webinterface of the stick i see the WiFiManager, i can reconfigure WiFi and see setup for MQTT but it wont leave, also after restarting, reconnecting the stick to my Inverter it always just show the WifiManager.
I tried to call direct URL´s like
http://192.168.4.80/log json or status but i says no file found.
Do the software not leave this or am i missing something?

The strange think is when i plug in the stick to my computer i can see the Inverter curve without data and the logfile showing no stick found, which make sense but i would believe this page to shown up when it is connected to the inverter.

I also restarted the inverter several times but i does not help

I am using a 750TL-X - i hope this works same way as the 600 :-/

Anyone any idea?

Regards
Ben

Tried it on the ShineWifi-X, works to some extend.

Hey.

Just got my solar system setup today and I found out that the Growatt system sucks... Since I already have a smarthome with Home Assistant Your project looks very very promising.

I got the ShineWifi-X flashed and the pinouts are all the same like in the S. But it is not connecting to the Inverter. I'm using a Growatt MIC 1000TL-X. Any chance you could help me get this to work?

Error: Unknown Shine Stick(cant connect to Modbus)

Hi, unfortunately the stick (Shine-S) can not connect to the inverter (SPH4600). It does not detect the modbus.
I guess it could be because of the changed COM-port (HoldingRegister 30).
But I can not reset this now without Stick, reset the inverter does not help either.

Debug give me this: "Error: Unknown Shine Stick"
and i dont recive any Data.

cannot leave wifimanager

on every start, it shows me the wifi manager.
exit is hanging and does not show the growatt graph

Original FW

hello,
do you have any idea where to find the original firmware? I have two WIFI-F sticks, both bricked after a failed firmware update from OSS platform.

Support for MIN 4200 TL-XH ?

Hi !

I already asked a few things while trying to make this code work for me

Would it be possible to port this project to my inverter ( the wifishine X is out of stock everywhere so i'm trying a DIY solution ) ?

I flashed the code on a NodeMCU ESP-12E board, and my home assistant reply to the topic with a

Message 1 reçu sur energy/solar à 17:59 : { "InverterStatus": -1 }
image

Same with my Wemos D1 mini pro with a CH340 Chip and same result

I can access the 192.168.4.1 ( which is now 192.168.1.151 ), I configured my home wifi and also my mqtt server info
mqtt settings wemos d1

but /json or /status address doesn't "work
/json reply with a http404
and /status reply with a blank page

Timer Watchdog Code

More of a discussion than an issue,

I have added a timer watchdog, it works well, and have see it reset the device from time to time.
The OTA update on my system takes about 30 seconds, so I allowed 60 seconds for the watchdog giving a 30 second buffer.
Warning if you shorten the watchdog reset time to much it will prevent OTA updates.
It is possible to disable the watchdog during OTA, If your update fails or is interrupted it wont restart.

Since implementing this watchdog I have not had to go to the inverter to disconnect and reconnect the module to resolve a system hang. This is great if you are not on site.

Here is the implementation code.

1. Declare the variables and include Ticker.h (just before //Functions)

`//Interrupt Timer
#include "Ticker.h"
Ticker timer;
volatile int interrupts;
volatile uint16_t WatchDogTmr = 0;

//Interrupt Functions
void ICACHE_RAM_ATTR onTime();
void WdtReset(void);
`

2. Setup, ISR routine and watchdog clear. (insert into Setup after httpServer.begin();)

`
//-------------------------------------------------------------------------------
//Interrupt Timer
//-------------------------------------------------------------------------------
//Initialize Ticker every 0.5s
timer1_attachInterrupt(onTime); // Add ISR Function
timer1_enable(TIM_DIV16, TIM_EDGE, TIM_SINGLE);
/* Dividers:
TIM_DIV1 = 0, //80MHz (80 ticks/us - 104857.588 us max)
TIM_DIV16 = 1, //5MHz (5 ticks/us - 1677721.4 us max)
TIM_DIV256 = 3 //312.5Khz (1 tick = 3.2us - 26843542.4 us max)
Reloads:
TIM_SINGLE 0 //on interrupt routine you need to write a new value to start the timer again
TIM_LOOP 1 //on interrupt the counter will start with the same value again
*/

// Arm the Timer for our 0.5s Interval
timer1_write(2500000); // 2500000 / 5 ticks per us from TIM_DIV16 == 500,000 us interval 

}

// ISR to Fire when Timer is triggered every 0.5s
void ICACHE_RAM_ATTR onTime()
{
interrupts++;
WatchDogTmr ++;
if (WatchDogTmr > 120) //1 min 0.5 * 120 = 60 seconds
{
ESP.restart();
}

//Serial.print("Total Ticks:");
//Serial.println(interrupts);
// Re-Arm the timer as using TIM_SINGLE
timer1_write(2500000);//12us

}

void WdtReset(void)
{
WatchDogTmr = 0;
}`

3. Add the watchdog clear to the top of the main loop. (just before WiFi_Reconnect(); )

WdtReset();

Growatt 2000 s no values

I have an growatt 2000s and in the front end isnt arriving any value from the inverter.
The firmware is installed with defaults.
In the attachement is a screenshot with the fault.
Second question ist, is it possible to give a fixed ip in the menue of the stick?
I changed the protokoll from 124 to 120 and there is no improvement.
Unbenannt

How to use postCommunicationModbus?

Hi,

I'm trying to figure out the correct registers for PV1 and PV2 Power since I want to use these values in my ESPHome device. I thought using the [RW Modbus] could tell me which registers to use. But I can't figure out how this works?

Can anyone help me with that?
Br. Hansa

Results on a generic ESP8266MOD (Generic Lolin) ESp12

Seems to work fine. I'm not on location of the inverter though, but will test when I am.

I'll be testing on a SPF 3000TL LVM-24 Do we need to add the decoding/offset for that? I think this project has that sorted out. Or is it magic(??) It sure would be nice to have a better written firmware than the ShineWifi modules. I dread re-setting those things up, 1/10 chance that it actually works whenever I have to mess with them.

Love to see this project and Grott get together for a complete solution to the Wifi sticks. There is TONS of stuff we could do with that!

Support for 3-phase inverters?

In the readme / releasenotes, a remark is made that 3-phase inverters are not supported (yet).
What is the exact issue which needs to be supported before 3 phase inverters (like the Growatt 8000-TL3 X) would be supported?

I have exact that model and plan to flash my ShineWIFI-X. Anyway I can support in creating the functionality?

Error compile ShineWiFi-S_ModBus.ino

Hi,
my Arduino-IDE brings an error when compiling.
...
Error while detecting libraries included by C:\Us.....l\Temp\arduino_build_546184\sketch\ShineWiFi-S_ModBus.ino.cpp
...
ShineWiFi-S_ModBus:98:2: error: #error change MQTT_MAX_PACKET_SIZE to 512
#error change MQTT_MAX_PACKET_SIZE to 512
^

I can't find anything about this error on the internet.

My question, what does this line do?
"#error change ...
I can't find anything in the Aruino documentation.

Thank you for the effort.

d1mini clone

Hi, I successfully installed onto my D1 mini clone (after changing AP_BUTTON_PRESSED) but my weblog just repeats with:

#1: Error: Unknown Shine Stick
#2: Error: Unknown Shine Stick
#3: Error: Unknown Shine Stick

My inverter model is Growatt MIN 3600TL-XE

Immediately after start-up it does make a single connection to my MQTT server with {"Status": "Disconnected" } but then stops sending MQTT messages.

Do you have any idea what I am missing?

my Config.h file:

#define MQTT_SUPPORTED 1
#define PINGER_SUPPORTED 0
#define ENABLE_DEBUG_OUTPUT 0
#define ENABLE_WEB_DEBUG 1
#define MQTT_ID           "GrowattWL"
#define SIMULATE_INVERTER 0
#define SIMULATE_DEVICE ShineWiFi_X
#define HOSTNAME          "Growatt"
#define APPassword        "growsolar"
#define UPDATE_USER       "admin"
#define UPDATE_PASSWORD   "admin"
// #define AP_BUTTON_PRESSED ( analogRead(A0) < 50 )
#define AP_BUTTON_PRESSED ( digitalRead(D7) == LOW )
#define REFRESH_TIMER 5000 // 5s default
#define WIFI_RETRY_TIMER 120000 // 120s default
#define LED_TIMER 500 //  0.5s default
#define BUTTON_TIMER 500 //  0.5s default
#if PINGER_SUPPORTED == 1
#define GATEWAY_IP IPAddress(192, 168, 178, 1)
#endif

This is my D1 Mini clone:

top

bottom

LocalLoadEnergyToday:

Hi
I think here is somenthing wrong:

LocalLoadEnergyToday: 21474836.47 kWh

Is this actually mW so miliwatts?

Regards
Adrian

Fehler beim Kompilieren mit aktivem Webdebug.

collect2.exe: error: ld returned 1 exit status
exit status 1
Fehler beim Kompilieren für das Board Generic ESP8266 Module.

c:/users/michael/documents/arduinodata/packages/esp8266/tools/xtensa-lx106-elf-gcc/3.0.4-gcc10.3-1757bed/bin/../lib/gcc/xtensa-lx106-elf/10.3.0/../../../../xtensa-lx106-elf/bin/ld.exe: sketch\ShineWiFi-ModBus.ino.cpp.o:D:\Ablage\01_smart home\Growatt\GrowattShine_neues Projekt\Growatt_ShineWiFi-S-master\SRC\ShineWiFi-ModBus/WebDebug.h:5: multiple definition of acWebDebug'; sketch\ShineMqtt.cpp.o:D:\Ablage\01_smart home\Growatt\GrowattShine_neues Projekt\Growatt_ShineWiFi-S-master\SRC\ShineWiFi-ModBus/WebDebug.h:5: first defined here
c:/users/michael/documents/arduinodata/packages/esp8266/tools/xtensa-lx106-elf-gcc/3.0.4-gcc10.3-1757bed/bin/../lib/gcc/xtensa-lx106-elf/10.3.0/../../../../xtensa-lx106-elf/bin/ld.exe: sketch\ShineWiFi-ModBus.ino.cpp.o:D:\Ablage\01_smart home\Growatt\GrowattShine_neues Projekt\Growatt_ShineWiFi-S-master\SRC\ShineWiFi-ModBus/WebDebug.h:6: multiple definition of u16WebMsgNo'; sketch\ShineMqtt.cpp.o:D:\Ablage\01_smart home\Growatt\GrowattShine_neues Projekt\Growatt_ShineWiFi-S-master\SRC\ShineWiFi-ModBus/WebDebug.h:6: first defined here

Add the correct time zone to chart

If you want to correct the time zone, add the following to the "index.h" just after the <script>

Highcharts.setOptions({
time: {
timezoneOffset: -10 * 60
}
});

The time zone offset can then be adjusted for your location, by changing the 10 value to your offset.
The above example is set for Australia with an offset of 10 hours

no wifi connection

Hi, i try firmware but no wifi connection, no AP, no wifi detected with phone.
any help?

ESP8266 - NodeMCU

Hallo Otti, ich wollte mich bedanken für das gute Programm. Ich habe gerade mit einem NodeMCU-Board und über den normalen USB-Port die Verbndung zum Growatt MIC 1000 TL-X aufgebaut. Zuvor hatte ich sehr viel Zeit mit der separaten RS485 Schnittstelle erfolglos verbracht.
Beim Kompilieren deines Programms müsste ich zwei Änderungen vornehmen (siehe Bilder). Vielleicht kannst du ja diese Erfahrungen mit einfliessen lassen.
Nochmal vielen Dank,

Holzzer
20220724_183546
Board

comp1
comp2
Diagramm
Status
r

Are there any preview pictures from webif

Hi,

is the web interface just for configuration or also a replacement for the cloud service?
I don't have any experience with mqtt to add it to my openhab or home assistant installation.
Are there any preview pictures?

Total Time Wert falsch bzw. ändert sich nicht / wird nicht aktualisiert MQTT 305

Ich hatte ein eigenes Programm laufen, welche die Totaltime mittels 30 31 übertragen hat. Dort hat es funktioniert.
mit multiplikator 0.0013888888888889 wurde die Zeit in Stunden ausgegeben.
Hier ein Auszug..
publishFloat("energy/growatt/ttotal", glueFloat(node.getResponseBuffer(30), node.getResponseBuffer(31)));

Hier aus der Mosbustabelle..
30 Time total H Work time total (high) 0.5S
31 Time total L Work time total (low) 0.5S

Error at compile in Arduino IDE

Hi great job,

but i have trouble to compile the Project.

ShineWiFi-ModBus.ino:71:2: error: #error change MQTT_MAX_PACKET_SIZE to 512
71 | #error change MQTT_MAX_PACKET_SIZE to 512
| ^~~~~

exit status 1

Compilation error: #error change MQTT_MAX_PACKET_SIZE to 512

If i disable mqtt it works but is active, i get the message.
Thx for help.

L3ThreePhaseGridOutputPower gives no value

Having setup my three phased inverter, I notice that within the JSON i get values for L3ThreePhaseGridOutputCurrent during the day but L3ThreePhaseGridOutputPower keeps at zero.

I believe that's impossible by law of nature since Power and Current are related to one another ;-).

And since the values are found directly in the MQTT stream; I believe it to be an error with the Modbus channel in the source. Can that be?

2022-08-24 Update: compiler error

Moin and hello,
did anyone compiled this update?
I got this error:
*Growatt.cpp: In member function 'void Growatt::CreateJson(char, const char)':
Growatt.cpp:303:30: error: 'MQTT_MAX_PACKET_SIZE' was not declared in this scope
303 | serializeJson(doc, Buffer, MQTT_MAX_PACKET_SIZE);

Gruß Martin

MQTT Password

hi, is there a possibility somewhere to enter the MQTT user and password. The other parameters are clear to me. Thanks for the help!

Error: Unknown Shine Stick

i flashed this firmware on the ShineWifi-X

in debug log it always tell me
Error: Unknown Shine Stick
So i dont get any data

how to solve this?

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.