Thanks for the notification. I read diagonally through the updated modbus definitions in the release notes, but it contains little news. The only noteworthy thing is that a few new battery operating modes were added, which all seem related to the ‘EMMA’ AI thingy from Huawei. I haven’t seen EMMA appear in the FusionSolar webinterface of my inverter, so I’m unable to test it.
Recently swapped over to your integration @wlcrs - nice work!
Decided to swing you some sponsor love, as should everybody else on this thread gaining from your efforts
Everything works perfectly other than a strange issue I’m seeing in my Influx/Grafana logging…
My brain has always preferred to see instantaneous active power usage vs kWh, so a basic formula gives me the figure I like to see on my dashboards:
huawei_house_usage:
friendly_name: "Huawei House Active Power Usage"
value_template: "{{ (states('sensor.inverter_active_power') | float) - (states('sensor.power_meter_active_power') | float) }}"
What I’ve found since swapping to your integration are small transient figures logged as negative.
This is obviously impossible!
I believe this is due to the fact there are now two ‘devices’, and the small fraction of a time difference between both devices ‘reporting’ is causing bogus information to be logged in the template resultant figure.
(hanging out for these sporadic clouds to bugger off haha!)
Any ideas how I can combat this? I thought of rejecting negative figures in my fluxdb query but I’ve seen errors above zero as a result of the formula too.
Cheers!
Thank you for sponsoring! Greatly appreciated!
W.r.t. your question: the power meter is connected to the inverter via a secondary modbus, shared with any batteries and daisy chained inverters that are present in your installation. This means that reading from the power meter is not instantaneous. I expect that these (small) delays can lead to the anomalies you are seeing.
I would just filter these negative values away, and treat those instantaneous values with the necessary caution. The accumulative kWh counters will be more useful for long term statistics.
@wlcrs
do you think RS485 connection is more reliable than a wiredDongle as @manio say in his post ?
I have a wired Dongle, why even if i have setted up a polling time of 30s , i have some fetching error from data update coordinator ?
gist:252688eff820f0d7aaf7e3b458dd90ed (github.com)
it’s really annoiyng because the integration stop to work a lot of time during a day as you can see here, that’s normal ?
I’ve noticed that sometime i lost the connection to the remote management system (from SUN2000app ) but that’s not related to my connection that i constantly monitor…in your opinion, that can be related to my fetching errors?
I’m also refering to @unglazedswansea and @xploss with their post
I have no opinion on this as I do not own an SDongle and do not use the serial pins to connect to my inverter in practice.
Note that you cannot use the serial pins and the SDongle at the same time: there are several reports of constant interruptions of the serial connection in that case.
Hello, my first post here. I haven’t yet configured home assistant, still reading to prepare. But I have found something I wanted to share with you.
As you know, recent inverter firmware has blocked the modbus tcp port from local lan access and is only available when connecting to the wifi access point of inverter (SUN2000…). I don’t know if what I am reporting was working before or if it works for all models, but it does work for me and inverter SUN2000-5KTL-L1 with firmware V200R001C00SPC124 (latest). Using latest android fusionsolar app (version is 6.23.00.125) you can enable again modbus tcp from local lan access. Go to device commissioning, connect to your inverter (needs installer password), then go to Settings → Communication configuration → Router connection settings. Then, select your local wifi access point, enter your password and check the option “Local Oamp;M”, then click Connect. It will reconnect to your access point, but this time port 6607 is open on local lan. If you revisit the same configuration page, the option seems it is disabled, but port is indeed open (and works, I tested and got data).
I attach a photo taken from the phone (for some reason android screen capture was disabled in this menu) to see the option.
Local Oamp;M should have been Local O&M actually but some text translation failed. O&M stands for “Operation and Maintenance”.
Hope this helps others.
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
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.
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.
@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
@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