ESPHome modbus Growatt ShineWiFi-S


I have now tried your approach for the whole afternoon without success with my ShineWiFi-X stick.

What am i missing here?
-GPIO0 and GND are shorted before i plug in the usb.
-I plug in the USB tom my PC (tried with the HA unit as well, nut ESPHome gave me a
-Only red and blue leds are on.
-Compiling works great.
-When trying to install this happens:

-I Have allso tried with ESPHome via web with same result.

Its driving me nuts.

Did you get a log output when just connect it? You use a USB cable with 4 wires?

I am not entirely sure i understand what you mean.

I did use a 4-wire USB cable (i tried 3 different cables (usb 2 though)). I tried flashing a wemos with the same image and same methods and means just to check. the Wemos does come online and generate entities in HA. I have tried plugging the ShineWifi-X directly into the USB3 port of my PC and the HA NUC.

I tried flashing via the usb directly connected to my PC and HA NUC and i tryed via a USB-TLL CP2102 module

web.esphome gives me this:

This is from ESPHome via HA:

When you connect the device to something like GitHub - esphome/esphome-flasher: Simple GUI tool to flash ESPs over USB can you see some data in the logs. This can tell if the device is correctly talking to the serial adapter.

1 Like

When connecting the ShineWifi-X directly via PC USB:
ESPHome-flasher finds the device on com9.
I choose to to flash my growatt-factory.bin
i get this: Unexpected error: could not open port ‘COM9’: PermissionError(13, ‘Adgang nægtet.’, None, 5)

*(adgang nægtet = access denied)

When using my USB-TLL with ESPHome-flasher i get this:
Using ‘COM10’ as serial port.
Unexpected error: ESP Chip Auto-Detection failed: Failed to connect to Espressif device: No serial data received.
For troubleshooting steps visit: GitHub - espressif/esptool: Espressif SoC serial bootloader utility

… so it seems like something is wrong in the communication.

EDIT: Well thats odd… I tried hammering the update a few times via ESPHome-flasdher via the TLL and it eventually came trough!?

Thanks anyway for swift reply and for leading me in that direction. Ill try to plug it in tomorrow to see if the inverter pushes anything trough

Hi Pascal.

I have used your Yaml, for my MOD 6000TL3-X. But it seems like there is some fault in the adress/registry used. My inverter is 3-phase btw. -The AC voltage and AC current shows less than half of actual values, which could be due to the fact that register/adress 38, 39 and 40 (and maybe others) only measure on one phase?

Did you install it and getting it all to work properly? I have the MOD 6000… and it seems like my current AC wattage only measures on one phase (adress 40) my smartmeter roughly confirms my assumption.

Yes I did. I just made a quick write-up about it: GitHub - pvprodk/GrowattESPHome: ESPHome based code for Growatt inverters

1 Like

Hmm… this code looks very different from the one im currently using.

-should it be working straight out of the box after flashing and which HA api should be used?

I’m not sure what you mean by HA API? I’m using ESPHome…

Thankw you for your patient reply to my noob questions. Im just trying to learn and understand as i go.

I was just wondering about the HA api lines, as they are blank in my current setup. but i guess they are not required

What confues me the most is the fact that Wilberts yaml consists of individual modbus_controller sensors wheras yours is different:

That is a build in esphome platform.
platform: growatt_solar
I use modbus because the build in growatt was not available when I shared this and does not support my inverter. Maybe yours will work fine with the build in platform.

1 Like

Hi kingzize.

I tried your writeup today. It worked to some intend with my MOD 6000TL3-X.

However in ESPhome i got an error regarding the protocol_version:

When indenting the protocol_version the error in ESPHome dissaperas, but it still fails to compile due to the protocol_version: (Ive tried both the RTU and the RTU2 with same result. -However i can compile and install when removing the line entirely.

However some sensors are not working. i guess some are due to the fact that i do not have a smartmeter connected to my Inverter. But Total Energy production Grid AC power etc. should be showing up?

Hi Andreas - what version of ESPHome are you running? The protocol_version parameter was added in 2022.4.0

As you can see in this link, the indentation is correct: Growatt Solar — ESPHome

You should be able to use RTU2 with your MOD6000TL3-X

Hello! Has anyone on here gotten any of the SPF 3000TL inverters working with the ESP 8266 to TTL /RS485 to Growatt method? I’ve been trying some of the different codes here / baud rates and it seems like I cant get my Wemos to read anything off the modbus. I’m currently trying JohnGalt1717’s Shinewifi-F code because it seems that is the dongle that is used for the SPF 3000TL. Here’s a pic of my ESPHOME Logs.

I have the TX / RX connected to the TX / RX of the TTL RS485 Converter / Data + and Data - of the USB cable to the A+ and B- on the TTL Converter (connected to the USB A port in the back of my growatt) as well as 5v + and 5v - I also have tried this connected to the USB B port but that didn’t work either. I can also see the TX on the converter blinking as it trys to poll the info from the Growatt.

Finally I have integrated my Growatt SPF5000ES with home-assistant. I have used an esp32 with an MAX3232 RS323 to TTL and flashed with JohnGalt1717 last yaml to replace shine wifi-F. Everything works fine. Thank you all.


Dude seriously thank you for this, i tried so many times and couldnt get comms, guessing it was because i was using an rs485 to ttl instead of rs232? The diagram really helps. Could you give me some more info on this. Assuming you connected to the UsbA port on the SPF5000ES (i have the same invertor). possible to send a link of the rs232 to ttl you used? What i really want to do with this is be able to write to the invertor and change the mode like Solar Assistant does - SBU to SOL, UTI etc, have you been able to achieve this?

That’s actually amazing! I’m about to try this exact setup in a few days. Did you connect the D+ and D- to the USB-A (Wifi Module) port or the other one USB-B (Computer) port?

Hey just to confirm I ended up getting this to work with the USB A port. All you have to do is take the D- and D+ wires from the USB and stick them directly into the serial connector. (In the corresponding pins of course). Then on the other side of the converter connect up the grounds, VCCS and TX to TX / RX to RX.
This is the converter I ordered.

I have had this working on my Shine Wifi-X for some weeks now on my 6kWp setup.

However some days the values for my total production for that day gets really off. It seems like it is happening during the first part of the day. Perhabs during startup og the inverter. My theory is, that the inverter shuts on/off some times in the morning when production is low.

Skærmbillede 2022-12-09 154106

What causes this and does anybody know what to do about it?

I have an MOD 6KTL3 Inverter (which shuts down during night).