Growatt MIN XXXX TL-XH + EW11 Modbus TCP instability ("Connection to modbus server closed")

Hello everyone,

I’m looking for some help getting a stable Modbus TCP connection between my Growatt inverters and Homey Pro 2023.

System setup

  • 46 × 420 Wp solar panels
  • 3 × Growatt MIN inverters:
    • MIN 3600TL-XH
    • MIN 4200TL-XH
    • MIN 4600TL-XH
  • All inverters connected through an Elfin EW11 RS485-to-WiFi gateway
  • Unique Modbus IDs configured for each inverter
  • Homey Pro 2024
  • Using the Modbus TCP/IP app by Ronny Winkler

What works

After rebooting the EW11, everything works perfectly:

  • Reading registers
  • Writing registers
  • Controlling active power via Register 3 (0-100%)

The problem

After running for some time (typically within an hour), communication becomes unstable and I start receiving the following error “Connection to modbus server closed” on write and read commands

What I have already tried

  • Verified unique Modbus slave IDs
  • Checked EW11 configuration against the Growatt Modbus protocol
  • Placed a dedicated Wi-Fi access point very close to the EW11 to rule out Wi-Fi signal issues
  • Reduced the polling frequency, increased polling frequency (to keep the modbus live)

Questions

  1. Has anyone experienced similar issues with Growatt + EW11 + Modbus TCP?
  2. Could missing RS485 termination resistors be the cause? I don’t have the start and end resistors in place of 120 ohm. Connection between the EW11 and 3 growatts is less then 2 meters.
  3. Are there specific EW11 settings (packing time, timeout, TCP settings, heartbeat, etc.) known to improve stability?
  4. Is there a recommended polling interval when communicating with multiple Growatt MIN XH inverters?

Goal

My goal is to dynamically control inverter output based on hourly electricity prices:

  • Export when prices are positive
  • Run approximately zero-on-the-meter around €0/kWh
  • stop production when the effective export price becomes sufficiently negative

Any suggestions or experience with a similar setup would be greatly appreciated.

Thanks!

EW11 settings

Protocol: Tcp server

Socket settings:
Local port: 502
Buffer size:512
Keep alive: 60s
Timeout: 30s
Protocol settings max accept: 3
Security: disable
Route: Uart

Serial port settings:
Baud rate 9600
Data bit 8
Stop bit 1
Parity None
Buffer settings
Buffer size:512
Gap time:50

Flow control settings:
Flow control: disable

Cli settings
Cli: Serial string
Serial string: +++
Waiting time: 300

Protocol settings:
Protocol: Modbus

Advanced settings in homey Modbus TCP app:
IP address 192.168.1.246
Port:502
ID 1,2 or 3 (depending on which inverter)

Modbus options:
Use write multiple registers function for sing register: no
Prevent writing unchanged data: no

Hi @Niels_Wijnbergen ,
Please report your issue in the app topic:

.

Homey Pro 2024 does not exist. I assume you mean Homey Pro 2023?

Hello Sven,

Thanks for your reply!

I have updated the 2024 to 2023.

I don’t use the SolarEdge + Growatt Modbus TCP app, but the Modbus TCP/IP app, because with the SolarEdge + Growatt app you can only read data and cannot write data.

Is it normal to post issues directly in the topic of the app? I wasn’t aware of that, so I will do that from now on.

The app specific topics are there to combine all posts related to that app. So all questions, answers, knowledge is available in one place.

Normally the developer of the app is also the one that created the related topic. Whenever you post something in that topic, the developer (topic starter) also gets a notification of your post. This makes it easier to get a response from the developer him-/herself (when relevant).

Therefore it is recommended to first check if there is an app topic available (either in the English or your local section) of the forum.

Moderators also tend to move posts created in new topics out of the app specific topic, to the app specific topic in order to centralize the posts. You also help them by checking for an existing app topic :blush:.

hey,

1st the solaredge modbus app supports a lot also writing many registers from flow but use the test version of the app. many growatt users submitted PRs to make it better. lst year was all about Growatt.

so modbus app is maybe good for writing things once in a while . but like always make sure you don’t over do it. only 1 app can have the tcp connection and don’t do it every 10 seconds , every 30s or every 1 min is ok.

off course you can also replace the rs device and use lan which is always better than wifi. I know some have those ali express ones.
Plus when there are many read actions from many devices you can put some modbus proxy in between so inverters don’t have this load and you can do other apps at the same time.

cheers

Hello gents,

Thanks for the support and reactions.

I have replaced the EW11 by a waveshare Waveshare RS232/485/422 naar PoE Ethernetgateway | Elektronica voor jou now all is working good. reading register 3 ever 30 seconds and if needed, price below zero, write register 3 and if price is below tax prices write register 3 to 0.

al 3 inverters are functioning now like it should and no errors: “Connection to modbus server closed”.

system is now up and running for 2 days and no faults received.

see below the flow im using.

this topic can be closed