Integration Solar inverter huawei 2000L

Soon (next week) it should be possible to enable the MODBUS TCP from the cloud, I was told today by the helpdesk.

Hi Marchel, Do you happen to know if that MODBUS TCP also will be available over ethernet?
Problem is that last night the connection to the AP of the inverter dropped and could not be restored automatically. If Ethernet is supported in the latest firmware version that would be great. :sweat_smile:

Ethernet is supported in the latest version.

Is there anyone that gets this message suddenly ?
I needed to restart Home assistant yesterday and today when tried to reboot again i got this message

Logger: pymodbus.client.asynchronous.async_io
Source: /usr/local/lib/python3.9/site-packages/pymodbus/client/asynchronous/async_io/__init__.py:307
First occurred: 11:07:26 (29 occurrences)
Last logged: 13:35:04

Failed to connect: [Errno 110] Connect call failed ('192.168.200.1', 502)

I’m new to HA and with the help of this topic i succed to install huawei custom component! Thx a lot! Now i need help from someone to help with the syntax in yaml for a automation by the entity sensor.sun2000l_3ktl and state value which gives me production power from solar panels and entity sensor.sun2000l_3ktl with attribute power_meter_active_power which value is consumption power.

The idea when difference from the production power and consumption power is more or egual to 2000 then to trigger something, in my case will be a water heater relee (sonoff powr3)… i need only the if syntax in yaml with those variables.

I think this should work:

{% if state_attr('sensor.sun2000l_3ktl', 'power_meter_active_power') | float(0) > 2000 %}

In my opinion You don’t need current production. If power_meter_active_power is bigger then 2000 that mean you are exporting 2000W to grid which you can use for water heater.

Hello,
I have updated the inverter yesterday to V200R001C00SPC117 and now Modbus TCP isn’t working anymore. Port 502 is closed. I contacted eu.inverter.support and they told me this :


I’m unable to ‘Upgrade’ to the old version as I don’t know how to manually select a upgrade package in the new APP.
Anyone knows how ?

Download the firmware package in your mail via a browser on your phone or transfer it to your phone.
Via the fusionsolar app upgrade menu you can select the upgrade (or downgrade in this case) package and flash it. It will give you a warning that it can fail. I did the same downgrade a few days ago without any issues. I also have a 4.6KTL.

Thank you Frederic, but I don’t have an option to select a package in the app:

Only the current one is showing.
How do I select the zip file ?

I have a button next to the title to manually select a package like in this screenshot:

Are you directly connected to the inverter? I also don’t have a dongle, I only use the integrated WLAN. I don’t know if that makes any difference.

Indeed, the button is missing with me…
I have a dongle but use the SUN2000-XXX access point from the inverter (192.168.200.1)

Will try it with the dongle unplugged…

Which version of the app are you running ? Android or Iphone ?

Just to clarify:

I had followed all the instructions as in the description.
But it was still not possible to enable the modbus TCP.

The helpdesk informed me that next week it would be possible to enable this option from the fusionsolar cloud. If this is still not possible in the second week of January, I will contact them again.

Has anyone managed to do it with the SUN2000 17KTL M0?

I can confirm that :

  • the ‘Manual select’ button is only available with Android, not iOS. (FusionSolar 7.0)
  • the Software Version SPC117 has the Port 502 closed on the AP Inverter.
  • the Version SPC115 allows Modbus TCP Port 502 on the AP Inverter.

This is my setup :

image

1 Like

FYI to all - Huawei updated their software this week and they changed (again) their kiosk integration. As a result both the configuration script-based curl integration and the HACS component stopped working. I hope their brilliant authors will give us some updated version…

How do you guys get the firmware ? Just send a mail to Huawei? I’m not allowed to download it from the site.

Just thinking out loud here: How does the fusionSolar app communicates with the inverter? So there should be an authentication endpoint / port open for this? If I have time I will take a look at this. When I tried before wireshark was not showing any communications between the emulated app on bluestacks and the inverter.

I also did some basic Wiresharking before out of curiosity and all communication appears to go over the modbus port (502). I didn’t check the authentication process to be honest.

Well the weird part is that even if the port is closed, the app still can communicate and read out the values. The biggest issue IMO that I have is that Huawei just closes the modbus port without any warning. Can anyone confirm this latest update also closes the port if you are using the smartdongle? So using modbus over your local home network?
Things what I going to try the next weeks (I do not have a lot of spare time but will do my best):

Wiresharking, burp suite the communication between the app and the inverter.

Reverse engineer the fusionsolar app to see if I can find some relevant information

And a happy new year all!

EDIT

Just found an open port on the inverter: 6607/tcp. Still investigating what this port function is.

Hi,

On my kiosksetup, the url has changed from https://eu5.fusionsolar.huawei.com to https://region03eu5.fusionsolar.huawei.com

I suspect this may be unique to each region (I am UK).

To fix, I changed a line in sensor.py found in custom_components\fusion_solar_kiosk (on my setup)

Line 36 should read…

api = FusionSolarKioksApi(‘https://region03eu5.fusionsolar.huawei.com’)

1 Like

AFAIK the port is only open on the access point of the inverter itself. It is closed on the connected network. It was also stated in the release notes that the modbus connection is only allowed for the fusionsolar app.

Since V200R001C00SPC117 this port is also closed on the inverter AP. Also I’m trying to get the firmware for the SDongleA to see if modbus is open from my local network. But I only can download the V100R001C00SPC110. I’m currently on V100R001C00SPC117. I think I’m going to send a mail to [email protected] asking them what is the supported way in locally monitoring the inverter…