Integration Solar inverter huawei 2000L

@Millet,

The SmartLogger is something typically used in large / corporate type deployments, supporting ‘lots’ of inverters being attached to it and potentially spanning 100’s of metres / KM of RS485 wiring.

It is used as an alternative to the sDongle, allowing connecting things other than inverters to it and possible integration into larger systems like Building Management Systems. As an ‘alternative’ you can use EITHER sDongle OR SmartLogger, not both. This is the same with any modbus configuration where there can only be ONE modbus MASTER.

Re using it for linking to HA via WLCRS integration, as I posted above:

The only option you now have is trying to get the HA Addon ‘Modbus Proxy’ working, having it connect to the sDongle and then setting up the WLCRS integration and this ‘Balancing Company’ connection to both then point to the Modbus Proxy.
Technically it should work, however I believe that some others that have tried this previously may have run into issues, iirc they were around the WLCRS integration timing out whilst it waited for the modbus proxy to start up, so you may have to work out how to increase the timeout / startup values for WLCRS integration.

If you do, I would suggest documenting them on the WLCRS integration Wiki at: Connecting to the inverter · wlcrs/huawei_solar Wiki · GitHub

1 Like

Thank you! So much great information. I will definitely try the modbus proxy addon, gotta read up a little about it first.

hi all,

i am trying to fix an issue with the housepower consumption graph.
If sun is suddenly going under a cloud or getting out of it, HA registers as a house consumption.
I’ve read it above to have as a source invertor_input_power rather than inverter_active_power.
But if I put input _power, i should apply the inverter loss percentage from DC to AC conversion.

how did you fix this issue?
2024-04-29 08_47_29-Overview – Home Assistant and 14 more pages - Work - Microsoft​ Edge

this is my code used:

  - sensor:
    - name: "House power Consumption"
      unique_id: "house_power_consumption"
      unit_of_measurement: "W"
      device_class: power
      state_class: measurement
      state: >
        {% set meter_power = states('sensor.power_meter_active_power') | float(0) %}
        {% set inverter_power = states('sensor.inverter_active_power') | float(0) %}
        {{ (inverter_power - meter_power )  | float(0) }}
        

Hi all,

maybe someone in this topic can help me. Is anyone using a Wifi USB Adapter that works with HA OS out of the box? (Linux). I tried now 2-3 usb wifi adapters but none get initialized over passthrough. Researching that topic a bit it doesn’t seem so easy to find a compatible wifi usb adapter.

I need this extra wifi connector to connect to the SUN2000 wifi.

Thanks in advance.

I use this on vm. https://a.aliexpress.com/_EHWAZyX

Works fine.

1 Like

Thanks a lot

  # Provides the calculated current load, in Watts, of the house including power being drawn from solar, battery & grid.
  - sensor:
    - name: "House Consumption - Power"
      unique_id: house_consumption_power
      unit_of_measurement: "W"
      icon: mdi:home-lightning-bolt-outline
      device_class: "power"
      state_class: measurement
      state: >-
        {% set inverters_power = states('sensor.inverters_active_power') | float(default=0) %}
        {% set power_meter_power = states('sensor.power_meter_active_power') | float(default=0) %}

        {{ max(0, (inverters_power - power_meter_power)) }}

      availability: >-
        {{  states('sensor.inverters_active_power') | is_number
        and states('sensor.power_meter_active_power') | is_number }}

1 Like

thanks for code.

i’ve tried it, it is far better but still have such spikes in the graph which i think cannot be overcomed
2024-05-02 08_41_50-Overview – Home Assistant and 9 more pages - Work - Microsoft​ Edge

no, as for as today, in the 2y i have the system, it only happen once

@jodewee @kv198 I also had this issue for couple of days. It started 4 days ago. The strange thing is that it seem to start happening around 10:00 am and after this the inverter only produce the current needed for battery charge + 180 w.

From this point forward it would occasionally jump to max production and the difference (above battery charge) would show up as being consumed by house. In all this interval the consumption from grid will be (usual house consumption - 180) w while inverter would have occasional spikes to max production and back to battery charge + 180w. Very strange that it will get the (house consumption - 180)W from grid, would charge the battery from solar and 180W will go to house consumption. it would not use the battery at all until 18:00 pm. After that it’s using the battery again, but intermittently. Once the battery is fully charged inverter would not produce the needed energy from battery until after 18:00 even though the solar production is less than the house consumption.

I managed to solve this issue by resetting the inverter (turn battery switch to OFF, turn strings switch (on inverter) to OFF, and set the Grid switch to OFF. After the leds on the inverter switched off i waited another 15 seconds and then turned all switches back to ON. Everything went back to normal (so far) for the past 12 hours. Hope it will not get stuck again.

The inverter got into locked state again last night and i’m unable to understand why. Anybody has any insights on what might be causing this? i do not have any logs on the inverter or on the fusion solar app in relation to this.

As the time is allways changing with consumption, I think that there is a possibility of time change to past in one minute ans the the trigger Batterie_Charge doesnt run

I have an inverter SUN2000-3KTL-L1 from Huawei. It is equipped with a SDongle-A03 for communicating to the Huawei Cloud. For the integration into HA i’m using the Wifi connection of the inverter. It has an SSID of SUN2000-TAxxxxx (serial number?).
In the server running HA i have a Wifi adapter connected to this SSID.
I’m using the HACS integration Huawei Solar to get the inverter and powermeter data into HA.

I have sorted out the root cause for my issue where the inverter would not produce anything. The reason for this behavior was apparently because of the high production of power in our area and the low consumption which resulted in the voltage going up over the threshold supported by the operation and the invertor is getting in an faulty status and not producing anything anymore.

And this is not possible to go away from unless you disconnect from grid and let the invertor produce all energy for the house, but it will waste the solar power anyways. There is nothing you can do in relation to this (without risking a big fine or …)…

I thought this would be helpful for other people to know.

Regards

Hi Guys!
I’m using this integration with a SUN2000-6KTL-M1 without problem.
I noticed some days, my Solar production go crazy in the Energy Dashboard, like today between 13h and 14h.
I can manually correct erroneous values in the Statistics but the problem is repeating and that’s not the source of the problem.
Energy Dashboard takes “Inverter Daily yield” as input to calculate the hour by hour yield. Checking the number in “Inverter Daily yield” shows decreasing value samples during the day, which is not supposed to happen:


Sample rate is one every 30 seconds and the erroneous sample is between two legit samples!
It makes the hourly yield calculation gro crazy and adds up delta between erroneous sample and legit one to the hourly yield.
I was wondering is there is a way to have an equivalent of “total_increasing” that ignore sample value if they are lower than the previous one ? (for the Daily, it is reset to 0 at midnight but that’s not a sample, it is a counter reset)
Many thanks for those who can help me in the journey to understand from where those rogues samples are coming!

PS: those samples are also reflected in Inverter Total Yield at the exact same time

In order to obtain “Consumed from PV” from Fusion Solar app I created Solar power consumed sensor with the following code in configurations.yaml

  - sensor:
      - name: "House power consumption"
        unique_id: "house_power_consumption"
        device_class: power
        state_class: measurement
        icon: mdi:home-lightning-bolt-outline
        unit_of_measurement: "W"
        state: >
          {% set meter_power = states('sensor.power_meter_active_power') | float(default=0) %}
          {% set inverter_power = states('sensor.inverter_active_power') | float(default=0) %}
          {{ max(0, (inverter_power - meter_power)) | float(default=0) }}
        availability: >
          {{  states('sensor.inverter_active_power') | is_number
          and states('sensor.power_meter_active_power') | is_number }}
  - sensor:
      - name: "Solar power consumed"
        unique_id: "solar_power_consumed"
        device_class: power
        state_class: measurement
        icon: mdi:solar-power-variant-outline
        unit_of_measurement: "W"
        state: >
          {% set house_power = states('sensor.house_power_consumption') | float(default=0) %}
          {% set inverter_power = states('sensor.inverter_input_power') | float(default=0) %}
          {% if house_power > inverter_power %}
            {{ inverter_power | float(default=0) }}
          {% else %}
              {{ house_power | float(default=0) }}
          {% endif %}
        availability: >
          {{ states('sensor.house_power_consumption') | is_number
          and states('sensor.inverter_input_power') | is_number }}

image

Hi, I tried connecting the EW11A to the terminals A and B of the Huawei Meter DDSU666-H instead of directly to pins 1 and 2 of the SUN2000L.
I was able to connect the EW11A to my wifi network, but I can’t get the Huawei Solar integration to work.
When I enter the IP of the EW11A and the port (502 or 6607 or 8899) it tells me … connection failed.
Can you help me solve this problem? where am I wrong?

THis is the log error…

2024-05-21 01:05:47.408 ERROR (MainThread) [huawei_solar.huawei_solar] Aborting client creation due to error.
Traceback (most recent call last):
File “/usr/local/lib/python3.12/site-packages/huawei_solar/huawei_solar.py”, line 179, in create
await huawei_solar._initialize()
File “/usr/local/lib/python3.12/site-packages/huawei_solar/huawei_solar.py”, line 108, in _initialize
self.time_zone = (await self.get(rn.TIME_ZONE)).value
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File “/usr/local/lib/python3.12/site-packages/huawei_solar/huawei_solar.py”, line 242, in get
return (await self.get_multiple([name], slave))[0]
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File “/usr/local/lib/python3.12/site-packages/huawei_solar/huawei_solar.py”, line 278, in get_multiple
response = await self._read_registers(registers[0].register, total_length, slave)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File “/usr/local/lib/python3.12/site-packages/huawei_solar/huawei_solar.py”, line 400, in _read_registers
return await _do_read()
^^^^^^^^^^^^^^^^
File “/usr/local/lib/python3.12/site-packages/backoff/_async.py”, line 151, in retry
ret = await target(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File “/usr/local/lib/python3.12/site-packages/backoff/_async.py”, line 151, in retry
ret = await target(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File “/usr/local/lib/python3.12/site-packages/huawei_solar/huawei_solar.py”, line 353, in _do_read
response = await self._client.read_holding_registers(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File “/usr/local/lib/python3.12/site-packages/pymodbus/client/base.py”, line 183, in async_execute
raise ModbusIOException(
pymodbus.exceptions.ModbusIOException: Modbus Error: [Input/Output] ERROR: No response received after 3 retries

Hi i was wondering if someone has code to switch off the PV side (or limit the amount of power generated) on the Huawei? I am not looking for limiting the grid side, that part is already available. Ideally i want to limit the amount of PV power and charge from the grid only. Any thoughts?

Cheers

Hi all,
I’m struggling to install the HA integration for my SUN2000-6KTL-L1 inverter.

Can you please help me understand the following:
Is it absolutely necessary to have an S-dongle even if I have the built-in wifi?
At the moment I can use the Fusion Solar app to check the status even if I’m not connected to the same wifi.

Thanks in advance for your help!

The inverter should have a Wifi-AP with SSID SUN2000-TAxxxxxxxx (serial number) that you could use for the integration. I have a WLAN dongle on the HA server that connects to that SSID. Inverter is SUN2000-3KTL-L1.

PS: Follow instructions of integration to install for network installations.
Default IP and default port when configuring the integration.