Integration Solar inverter huawei 2000L

Hi Panagiotis,
Thank you for sharing your observations. I’ve found that same setting in the app, but am unable to get the port open: the process always fails after clicking on the connect button. I’ll retry later to see if I can get it working. If even the user-facing part contains such blatant errors like “amp;”, it may not surprise that it’s not working very well under the hood too :thinking:

Can you please let us know if you got the integration working via the IP of the inverter in your local network? Thanks in advance!

@wlcrs I am using v 1.1.6 of your integration with my Huawei Sun2000 30KTL M3 and power sensor. Reading the data via Modbus TCP over my SDongle works fine, but i am unable to set up elevated permissions. If i select the option during set up, the dialog to enter the credentials is never shown.

Is there a way to set up the credentials after adding the integration, e.g. by editing config files? I would like to use the "set export limit"command.

Also, what should the “download diagnostics” function actually do? When i press the button, nothing happens.

I thought this was the case (ie the wired serial modbus from the CT) but when using the previous integration both seemed to update simultaneously, and I never saw any erroneous figures for a good 12 months or more!
-GitHub - Emilv2/huawei_solar: Home Assistant custom component for Huawei inverters

You have to reselect your access point SSID from the list, you have to reenter your wifi password AND check the Local O&M option, then press connect. It does fail sometimes to connect, just retry again the same sequence. If it connects, then the 6607 port will be open.
I haven’t setup the integration yet but I tested communication with simple python script that gets some values from the inverter and it worked.

edit: just want to add that this is for inverters that don’t have the SDongle.

1 Like

In that case, the integration detected that it already had elevated permissions. This is the case for people using an RTU-to-TCP bridge (=serial-to-TCP-bridge), and apparently also when connecting via an SDongle. No need to enter login credentials in that case.

The ‘Download diagnostics’ button normally downloads a small text file with diagnostic information. Check your download folder. This is only relevant if you need to submit a bug report.

My integrations builds further on the work done by Emilv2. I’ve improved his library so that it doesn’t query each register individually, but batches requests of multiple registers together into one request where possible. This reduces the amount of requests from 50+ for every update cycle to maximum of 4. If anything, this should have improved the accuracy of the readings due to the registers being read faster.

3 Likes

@wlcrs I added the integration with port 6607 which I opened with Local O&M option, works fine. I have a question for you.
I have three (3) single-phase inverters, running separately in each of my three-phase configuration. Can I add the integration three times with the three different IPs/ports?

edit: I tried and added a second instance, it works but the naming of the sensors is a bit confusing, adds _2 with same name. Is there a way to use different naming scheme?

Hi,
Which sensor of this integration reads the autoconsumed energy as showed in the energy tab?
I am tying to build an apex chat and I do not find that value.

there’s not a sensor like this. you have to create yourself.
the self consumed energy from what i understand is solar energy consumed / solar energy production

You can rename the entities to something that is more clear to you. No good solution exists in Home Assistant for duplicate entity names :confused:

@wlcrs I can’t integrate the inverter. I use the direct serial connection described here: Connecting to the inverter · wlcrs/huawei_solar Wiki · GitHub , with the USB to RS485 adapter, connected to the inverter at ports 1,3.
I would test the connection directly on the laptop, and it seems that I am receiving data.
When I try to integrate the inverter, I get the error from the attached video.
I am attaching images with the settings, the software version and what I did.
Am I wrong somewhere, do I need other settings??

Thanks.









I don’t have any update notification

@wlcrs they would be unique if you could prepend serial number of inverter in the entities. Or you could prepend a user-defined text when user configures the integration. I understand this feature would be of no use to everyone that has only one inverter though. I will try to make a patch and send a pull request for you to review.

Try with Parallel communication on NA

@xm4rcell0x , … strange thing… First time, in “Parallel comm…” I set RS485. When loging again for set in “N/A” (whwt are you suggest) I found it was not change in RS485. I try again to set RS485, I was ask for confirmation, I say “OK”, and response was “confirmed”. THen logout / login and is not saved with RS485… is only N/A.

idk why but also for me it sets on N/A anyway…
that’s strange

I try, and I downgrade firmware. But now, tell me the version is too old and can not let me to make next step… Must upgrade again :frowning:

@wlcrs As already mentioned, I am a newbie in Home Assistant and trying to figure out my way. I tried to implement the Daily Solar Yield sensor that you have in your wiki and it didn’t work. It took me some time to understand why.
You have a line in the wiki mentioning

{% set inverter_rating = 3000 %} # adjust this value to the rated power of your inverter

but comments inside template should be enclosed in {# #}
So line from wiki should have been

{% set inverter_rating = 3000 %} {# adjust this value to the rated power of your inverter #}

That fixed my issue.
I also edited the wiki for this fix.

edit: How much time does it take for the Riemann sum to get a value after you define it?

1 Like

At start I defined the Riemann sum in yaml but after a few hours it still showed “Unknown” value. Then I defined the Riemann sum from the UI and it got value immediately. Why is the definition in yaml not working?
My code in configuration.yaml

sensor: !include my_sensors.yaml

and inside my_sensors.yaml

- platform: integration
  source: sensor.input_power_with_efficiency_loss_l1
  name: 'Solar production L1'
  unique_id: solar_production_riemann_l1
  unit_prefix: k
  unit_time: h
  round: 3
- platform: integration
  source: sensor.input_power_with_efficiency_loss_l2
  name: 'Solar production L2'
  unique_id: solar_production_riemann_l2
  unit_prefix: k
  unit_time: h
  round: 3
- platform: integration
  source: sensor.input_power_with_efficiency_loss_l3
  name: 'Solar production L3'
  unique_id: solar_production_riemann_l3
  unit_prefix: k
  unit_time: h
  round: 3

Sensors sensor.input_power_with_efficiency_loss_l[123] are OK since they are also used in the Riemann sums defined via the UI.
Never mind, it was a typing error I didn’t catch. I confused “unique_id” in yaml file with sensor name which were different.

you can also create all the helpers you want on the GUI :wink:

1 Like