-
-
Notifications
You must be signed in to change notification settings - Fork 34
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
INVT inverter not supported #197
Comments
if (ulDataAddr == 4660) {
....
InverterCommuTask.this.m_map.put("invt_serialno", serial); Any response from register 4660?!? The length should be 6. |
That sounds promising. Maybe it helps if you provide the logfile and post it here for the experts to analyse? Please let us know what configuration profile you are using and if you have any documentation of the modbus addresses of the inverter. |
Hi guithubDante, thank you for your interest in helping me. I'm sorry but I don't understand what you want to tell me with your message. I am a novice in these matters and although I am stubborn and persevering, I need to receive instructions in a simpler way. |
Hi again PV-Joe, thanks for continuing to try to help me also for this post. I have used several profiles of the integration and the ones that have taken the longest to give an error (it seemed that it was going to connect) has been with the Afore investor profile. For example with the Deye_hybrid.yaml profile and with almost all the others, it gives this error: I found on the internet a PDF with the modbus protocols of the INVT inverter (XD and XG series), I pass it to you here as well. INVT.XG.XD.Inverter.Modbus.RTU.Protocol.3.pdf You can see the user manual here: https://www.invt-solar.com/userfiles/files/download/UserManualUpgrade20240801/XDmanual/INVT_XD3-6KTL-AIO%20User%20Manual%2020240529.pdf I've put a log below, I hope it helps.
Thank you very much for your help! Hopefully we will reach a successful conclusion soon. |
@MrLopHA the registers for this inverter (checked few from the PDF) don't match any of the definition files here, so you'll have to start from scratch and make your own YAML file. |
What profile does show production and consumption? I suggest you start with that profile and delete all the sensors except for these two sensors. After that add one modbus register after the other from your modbus.pdf and check if they are working. Any other suggestion @davidrapan? |
I don't think I've made myself clear, I don't get this data from the HA integration, but from the SOLARMAN app I have on my iPhone. None of the profiles collected by the HA integration work with my inverter. My hope right now is to decipher the information I manage to collect from the inverter via TCP. I agree with @githubDante that those codes are not from the inverter, I think they are the codes that the SOLARMAN API uses to run the app on my iPhone. |
It's quite simple. You just have to copy for example And start changing registry addresses for all of the sensors (and remove those which are not relevant for your device) according the document you posted here before:
And then configure device using this new profile. |
The answer from @davidrapan was enlightening, I understood how to create my own custom file for my inverter. On the other hand, I found a code for another INVT inverter here: https://community.home-assistant.io/t/ha-integration-invt-xg50ktr-lsw5/681962/4 With that code, the connection with the inverter is produced and I get data, but it doesn't work 100%, I must check it well because not all of them work with my inverter, but I think that in a few days I will have it ready and working at 100%. If I get it, of course, the final file will be available to the staff in case they want to add it to the repository. |
Very good! I think adding another supported inverter will be a great enhancement to the compatible list and will help other users. Make sure to use the standardized entityID's to stay compatible with future updates. |
Hello again friends, I have created some new entities related to the battery. but I can't quite understand the Modbus code list and I can't find some values that I think are essential, for example: Battery current discharge power; Battery current charge power and Total solar generation power. I would be very grateful if you could have a look at the PDF and help me to find these data. I also leave you the .yaml file I'm working on in case you want to have a look at it. Thank you very much again |
The total solar power can be calculated. It's the sum of the below: [(string.pv_current * string.pv_voltage) for string in inverter.strings] As for the battery the PDF clearly states that the value for register 0x3908 is signed. When the value > 0 the battery is being charged and is discharged when the value is below zero. |
You don't have to calculate it yourself, @githubDante told you the register which holds |
I know. Maybe I didn't explain myself well.
On the other hand, I want to obtain the total power that the sun produces, and I must calculate that myself. But I can't do it either :( |
Because it needs rule: 2 not a rule: 1. |
For the battery the rule must be registers:
[
0x0001,
0x0002,
0x0003,
0x0004,
0x0005,
0x0006,
0x0007,
0x0008,
0x0009,
0x000a,
]
sensors:
- registers: [0x0001]
multiply:
registers: [0x0002]
- registers: [0x0003]
multiply:
registers: [0x0004] |
@davidrapan why the parser has double |
Nooooooo idea, this is a remnant of Stephan's integration, which I took inspiration from in the very beginning. I'm guessing that the intention at the beginning was that 3 and 4 were for > 16b and later this behavior went to 1 and 2 as well. |
@MrLopHA |
Hi! I have managed to get many parameters to work, but many others are still missing. For me they are enough for the moment, although I will continue to investigate. |
You could then share your file and I can add it to the repository. 😉 |
Sure! How can I send it to you? Edit: I just saw your email I'll send it to you there, ok? |
You can upload it right here, just drop the file inside the textbox, it will upload it. 😉 |
Done! |
I forgot to attach the updated file with the MODBUS protocol of the inverter. Now, you can to update the documentation folder in your integration if you want. |
Good! Thank you! |
feat: Add INVT XD3-6KTL profile w/ some fixes, added crucial sensors and renames to meet our standards |
Hi @davidrapan Thank you very much for taking the trouble. Your file has been very helpful to me in improving the integration of my inverter, however I have been testing and reviewing your file and I have come to these considerations: 1- I love the data update every 5 seconds! 2- This code for LOAD POWER don't work
We have calculated (Hello, @andresindlp ;-) ) this data by adding the active power given by the inverter in
3- We have created the GRID POWER sensor with the data from the METER (in my case the METER measures the input of the electrical supply of my house). I have a Shelly installed and the data from both sensors match.
4- Calling POWER to OUTPUT ACTIVE POWER I think can lead to confusion. I prefer to leave OUTPUT ACTIVE POWER in my code, but I understand that you prefer to change it and adjust it to a common style. 5- The POWER LOSSES sensor doesn't work, we have called this sensor INVERTER LOSSES and used this code:
I have done some screenshots so you can see how both are shown:
This is the file I'm using now. It looks like this in the absence of giving it the standardised format of your integration. Grabacion.de.pantalla.2024-11-10.a.las.18.54.22.mov |
I have to say I was little bit confused about some mentioned registers above cause the docs are not really clear about them.
So the inverter does not have dedicated register for that?
Yes it's for the general scheme across inverters and also in reference to the HA. And "ACTIVE" is in this term redundant word. OUTPUT ACTIVE POWER and OUTPUT POWER are virtually synonymous terms.
The term INVERTER LOSSES (INVERTER & LOSSES, could be good candidate for the name though) could be little bit misleading. Power losses sensor contains Inverter Consumption and AC/DC conversion losses. |
Of course...theoretically. But certainly, we have not been able to obtain any value from this register.
Thats right, but as in the previous case, the registry that should provide this data doesn´t work. Changing the subject: Do you think it would be possible to add writing commands through this integration? I am thinking of being able to configure the priority of the generated energy (to the loads, to the battery or to the grid) or program the battery charging from the grid. |
By the way! If you like, you can update the .yaml file with this sensor that adds the total power of PV1 and PV2. Contribution of @andresindlp
|
So that means Battery Power value is inverted? Strange. |
I don’t understand what you mean I’ll try the code modifications and I’ll tell you |
It’s positive when charging and negative when discharging. |
I am using Imars MG5KTL inverter with monitoring on solarman, please help me put this device on home assistant, thank you |
Today I have seen several errors in my registration: The first:
This is what the code looks like in the configuration file: I have changed The second:
This is what the code looks like in the configuration file: I have deleted |
This issue is stale because it has been open for 30 days with no activity. |
Hello everyone!
I have just installed an INVT inverter, model XD6KTL to manage my solar installation and I need to integrate it in HA to be able to charge my car with the energy produced by my installation.
My inverter is very similar to those of the DEYE brand (they have the same configuration page, access credentials and even their logos are similar).
Right now I can only visualise the production and consumption data through the SOLARMAN app. I have tried this integration (and another one in HACS) without success (and I have tried all the profiles).
I can't believe I'm the only INVT user who wants to use Home Assistant, but I feel like I'm preaching in the wilderness.
I have written an email to SOLARMAN, and to INVT but so far no news.
I hope to get more luck through this great community.
Thank you very much in advance
The text was updated successfully, but these errors were encountered: