Integration Solar inverter huawei 2000L

Hi.
I am new with Home Assistant and I would like to use the Huawei Solar sensor, but I cannot install it…

Core
Version
core-2022.2.5

Supervisor
Version
supervisor-2022.01.1

I am putting https://github.com/Emilv2/huawei_solar as the url, but the add-on is invalid:
image

I have tried with https://github.com/Emilv2/huawei_solar/tree/master/custom_components/huawei_solar as well with the same error.

How could I install it via GUI?

Thank you very much

Hello:

This is the one;

Thanks, but it gives the same error:

image

I just wrote this as a repository

GitHub - wlcrs/huawei_solar: Home Assistant integration for Huawei Solar inverters via Modbus

If you have the emily add on installed try to remvove the folder manuallly to see if it helps. …

many thanks

The correct URL is https://github.com/wlcrs/huawei_solar.git

Thanks!

When I try with that, it still says invalid repository:

Logs contents:

2022-02-12 09:29:01 ERROR (MainThread) [homeassistant.components.hassio] Failed to to call /supervisor/options - Invalid Add-on repository!

2022-02-12 09:29:46 ERROR (MainThread) [homeassistant.components.hassio] Failed to to call /supervisor/options - Invalid Add-on repository!

2022-02-12 09:31:11 ERROR (MainThread) [homeassistant.components.hassio] Failed to to call /supervisor/options - Invalid Add-on repository!

2022-02-12 09:33:57 ERROR (MainThread) [homeassistant.components.hassio] Failed to to call /supervisor/options - Invalid Add-on repository!

And:

22-02-12 09:33:55 INFO (MainThread) [supervisor.store.git] Cloning add-on https://github.com/wlcrs/huawei_solar.git repository
22-02-12 09:33:56 ERROR (MainThread) [supervisor.store] https://github.com/wlcrs/huawei_solar.git is not a valid add-on repository
22-02-12 09:33:56 INFO (MainThread) [supervisor.resolution.module] Create new issue IssueType.CORRUPT_REPOSITORY - ContextType.STORE / 2d455dd1
22-02-12 09:33:56 INFO (MainThread) [supervisor.resolution.module] Create new suggestion SuggestionType.EXECUTE_REMOVE - ContextType.STORE / 2d455dd1
22-02-12 09:33:57 WARNING (SyncWorker_0) [supervisor.store.data] No repository information exists at /data/addons/git/2d455dd1
22-02-12 09:33:57 INFO (MainThread) [supervisor.store] Loading add-ons from store: 23 all - 0 new - 0 remove
22-02-12 09:33:57 INFO (MainThread) [supervisor.resolution.fixups.store_execute_remove] Remove invalid Store: 2d455dd1
22-02-12 09:33:57 INFO (MainThread) [supervisor.store.git] Removing custom add-on repository https://github.com/wlcrs/huawei_solar.git
22-02-12 09:33:57 INFO (MainThread) [supervisor.resolution.check] Starting system checks with state CoreState.RUNNING
22-02-12 09:33:57 INFO (MainThread) [supervisor.resolution.checks.base] Run check for IssueType.FREE_SPACE/ContextType.SYSTEM
22-02-12 09:33:57 INFO (MainThread) [supervisor.resolution.checks.base] Run check for IssueType.PWNED/ContextType.ADDON
22-02-12 09:33:57 INFO (MainThread) [supervisor.resolution.checks.base] Run check for IssueType.TRUST/ContextType.PLUGIN
22-02-12 09:33:57 INFO (MainThread) [supervisor.resolution.checks.base] Run check for IssueType.TRUST/ContextType.CORE
22-02-12 09:33:57 INFO (MainThread) [supervisor.resolution.checks.base] Run check for IssueType.TRUST/ContextType.SUPERVISOR
22-02-12 09:33:57 INFO (MainThread) [supervisor.resolution.checks.base] Run check for IssueType.SECURITY/ContextType.CORE
22-02-12 09:33:57 INFO (MainThread) [supervisor.resolution.check] System checks complete
22-02-12 09:33:57 INFO (MainThread) [supervisor.resolution.evaluate] Starting system evaluation with state CoreState.RUNNING
22-02-12 09:33:57 INFO (MainThread) [supervisor.resolution.evaluate] System evaluation complete
22-02-12 09:33:57 INFO (MainThread) [supervisor.resolution.fixup] Starting system autofix at state CoreState.RUNNING
22-02-12 09:33:57 INFO (MainThread) [supervisor.resolution.fixup] System autofix complete
22-02-12 09:36:51 INFO (MainThread) [supervisor.backups.manager] Found 1 backup files
22-02-12 09:36:51 INFO (MainThread) [supervisor.backups.manager] Found 1 backup files

You need to use HACS, not the Add-on store

After the most recent update, Huawei blocked all access to Modbus-TCP from the networks to which it connects (and also moved the TCP port from 502 to 6607). The only way to go is to connect to the SUN2000-xxxx WLAN.

You could try to create a second virtual interface on your WLAN adapter (cfr. wifi - working with virtual network interfaces on the existing wlan0 interface - Unix & Linux Stack Exchange ), but not all adapters/drivers support this kind of advanced usage. Sticking in an additional WLAN USB stick can be the easiest solution.

Does it mean that the integration is dead if you are NOT connected to the SUN2000-xxxx WLAN ?


Just want to say… thank you all for making this possible.
1.0.0a3 - SUN2000-10KTL-M1SUN2000-12- 2x 10kWh Luna
Need more testing to give some input…

4 Likes

I think ‘dead’ is an exaggeration, but it has become a bit harder to use since you need to connect to the WiFi of the inverter to successfully connect. This may be a big hurdle for inexperienced users, but not for the (above) average Linux user.

I’ll also be experimenting with connecting to the RS485_1 port directly. (Or if somebody else does it for me: please provide me with feedback if it works or not!!)

I am afraid I am not even an average Linux user (in spite of being in Technology for almost 40y), I run my Home Assistant on a OdroidN2 and it is not easy to go to those details . Thanks any way. Will be following this thread to see if any solution appear. It is not a very kind approach from the Huawei side to close that door abruptely.

Great thanks to gieljnssns who suggested me to change the wired for the wireless connection. Now the Dongel has the port 502 open and the integration is able to connect although it does not work. It gets disconnected almost inmmediately. Log is placed on the issue I opened. Huawei software have a few flaws to my eyes. Another issue I got was that the inverter was not able to connect to the management system because I had set-up a fixed Ip in the inverter router config rather instead of using DHCP (my ASUS router is now asigning the fixed Ip via the MAC for the integration to be able to point to the dongle)

I wouldn’t say it’s dead, my configuration uses the Sdongle Wifi connection. You must enable the ModbusTCP connection in the intverter settings with the SUN2000 App. I had a post about it in january.

The integration works just fine by connecting directly to the dongle. But Modbus TCP needs to be activated in the inverter from firmware versions v127 and above of the dongle.

Is there a way to get active_power from different MPP trackers? I have one portion of panels on the South side and the other on the West side each connected to different inputs and different MPPS.
Tried searching this thread, but either used wrong keywords (MPP, PV power) or it was not discussed?
Is it as simple as Amps x Volts? But Volts are DC on PV sensors, and I’m interested in KW output in AC ?
Never mind, found it by simply reading, seems that it’s Amps x Volts . Though checked couple of points, the total power does not add up with string power

Just wanted to share if this could help someone else.

I installed the github.com/wlcrs/huawei_solar integration, followed the Huawei guide in the FAQ.

I first tried with the v119 firmware that came with the dongle and I couldn’t get it to work, so I requested to get the v124 firmware from Huawei support (mailto:[email protected]), it only took a few hours to get it. I got v124 plus the latest v127.

I upgraded to v124 and after fiddling with it for a whole day I finally got it to work.

In addition to “Enable unrestricted Modbus-TCP”. If you look at the bottom of the picture for step 3.6 in the guide, you also need to go to “Parallel system communication parameter setting” → “Parallel communication mode” and change from “NA” to “RS485”.

Now it worked, I only needed to provide the IP of the SDongle connected to my home WiFi, port 502 and slave id =1.

At this point I’m not sure if I want to upgrade to v127 :slight_smile:

@wlcrs maybe you want to add this to the FAQ?

2 Likes

other posibility, it is my case, to not fight with linux: take an old raspberry or similar install Openwrt and config it to act like a brige between the two networks (Inverter WIFI and your LAN).

Great thanks to all for your contributions, I am very close, but just realized (silly me) that I do not have the version V100R001C00SPC124, so i have emailed Huawei support to get it as i cannot find that on their support page (unless some had this at handy). At least now my dongle and its port 502 are perfectly availiable in my network and do not need to make nothing special to reach out to it.

I can’t get the huawei_solar version 1.0.0a3 working.
I have the correct version on my dongle. I have lan and wifi configured on my RPI. I can ping 192.168.200.1. Once downloaded and restarted, I can configure but I don’t see the additional options with regards to the battery as described in the documentation. After entering the ip and port I get the next window in which I can fill the installer password. Also that is working. In HA I can see the device is configured but I don’t see any other entities. What else do I need to do?

huawei device

Logs :
Logger: homeassistant.setup
Source: setup.py:291
First occurred: 19:59:39 (1 occurrences)
Last logged: 19:59:39

Unable to prepare setup for platform huawei_solar.sensor: Platform not found (cannot import name ‘POWER_VOLT_AMPERE_REACTIVE’ from ‘homeassistant.const’ (/usr/src/homeassistant/homeassistant/const.py)).

Logger: homeassistant.config_entries
Source: custom_components/huawei_solar/number.py:35
Integration: Huawei Solar
First occurred: 19:59:39 (1 occurrences)
Last logged: 19:59:39

Error setting up entry SUN2000-4.6KTL-L1 for number
Traceback (most recent call last):
File “/usr/src/homeassistant/homeassistant/config_entries.py”, line 313, in async_setup
result = await component.async_setup_entry(hass, self) # type: ignore
File “/usr/src/homeassistant/homeassistant/components/number/init.py”, line 81, in async_setup_entry
return await component.async_setup_entry(entry)
File “/usr/src/homeassistant/homeassistant/helpers/entity_component.py”, line 147, in async_setup_entry
platform = await async_prepare_setup_platform(
File “/usr/src/homeassistant/homeassistant/setup.py”, line 309, in async_prepare_setup_platform
platform = integration.get_platform(domain)
File “/usr/src/homeassistant/homeassistant/loader.py”, line 530, in get_platform
cache[full_name] = self._import_platform(platform_name)
File “/usr/src/homeassistant/homeassistant/loader.py”, line 535, in _import_platform
return importlib.import_module(f"{self.pkg_path}.{platform_name}")
File “/usr/local/lib/python3.9/importlib/init.py”, line 127, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
File “”, line 1030, in _gcd_import
File “”, line 1007, in _find_and_load
File “”, line 986, in _find_and_load_unlocked
File “”, line 680, in _load_unlocked
File “”, line 850, in exec_module
File “”, line 228, in _call_with_frames_removed
File “/config/custom_components/huawei_solar/number.py”, line 35, in
HuaweiSolarNumberEntityDescription(
TypeError: init() got an unexpected keyword argument ‘min_value’