As you can see, there is a problem communicating with the VSN300/inverter. Reads are failing. Are you using other integrations/apps accessing the VSN300 maybe? You need to use only one.
Usually means that from what we observed here in this thread, many have Slave ID 247 others have 2. It depends on the configuration of the inverter that the installer made.
The integration does its first read correctly, and on the second it fails to communicate with the VSN300. Itās clear from the logs. Is the wifi connection of the VSN300 stable? I donāt know how to help if the modbus component canāt connect to the VSN300, itās a blocking issue that you have to debug locally. The integration has been tested for a long time and it doesnāt have major issues like this.
And donāt go lower than 30s for the polling period, keep in mind that the VSN300 polls the inverter in 60s cycles, so you wonāt improve anything going lower.
@monkeypr00f Federico, I introduced basic authentication for the VSN700 in my vsn monitor python program. Can you please test it for me and report the output? I suspect the JSON response structure is different among VSN300 & VSN700, but I need to have the full output to compare the two structures.
Please download the files and configure the .cfg by specifying the hostname, the vsn model, and user/pw before running it. The model in the cfg is needed so the program uses basic auth for it, if VSN300 is configured X-Digest auth scheme is used.
If this works for the VSN700, I just need to parse the JSON structure and I can modify the custom component to drop modbus and use REST/JSON to get data from the inverter. I hope the structures of the two are not so different.
HI Alex, iāve recently added ABB integration and is awesom. Thanks a lot for your great job!
Iāve just created the binary sensor and the automation but in your example you say āfor ther reloard (needed after re-enabling it) you need to choose one of the sensors of the integrationā but the yaml code show a device
Iām sorry to ask that question here but I think you have nice personal contact at Fimer and that might help sort my problem out. Iāve read all readmes and all this huge chain. I see that my ABB TRIO-8.5-TL-OUTD-S with Ethernet expansion board 3N280000000A which I asked to install instead of VSN300 (facepalm but no Wifi there 4 years back) canāt use your component. I see on inverter web page that Modbus with port 502 is there but I canāt properly connect to it using tools mentioned above. One random time connection worked but I couldnāt read anything useful and playing with various parameters ruined that success.
Maybe you know whether there is anything useful coming from Proprietary Modbus? Maybe you could share your contacts with me?
If you have Modbus TCP available on the IP address of the ethernet card, the component should work, since Iām using direct register maps that your card should address correctly.
In order for it to work, you need to find the inverter iD (Slave ID), the IP, and then you need to play with the starting address, should be 40000, but for VSN300/VSN700 itās 0.
So make sure to get those parameters first. Then use qModMaster with those parameters to read some data and see if itās working.
The main problem now that my HA canāt connect to it
ERROR (MainThread) [pymodbus.logging] Connection to (192.168.x.x, 502) failed: timed out
Iām running HAOS as VM in my TrueNAS Core. Everything in the same local network. And I disconnect from QModMaster to remove that connection concurrency.
Yes, but letās check how you configured the component first: what did you use as Base Adress, 40000 like in the following screenshot or zero? Make sure you can ping the IP address from the VM.
In qModMaster, go to settings, you should see this:
Thatās the base address. You need to use the same value in the component configuration.
Iāve set 2 as slave ID and 0 as base address since I was thinking itās the same as start address in QModMaster. I can nmap to that IP and port from HA Advanced SSH terminal without issues.
But that is not important now after Iāve done what you wrote. Base addr to 0 and getting 124 from start address 0. Itās not working
Strangely I canāt set that base address to 40000. App doesnāt allow. When i do that in INI file, base address shows 1 and start address becomes 40000. In general I canāt retrieve any holding registers 0x03.
EDIT. With base address set to 0 working read input registers 0x04 returns 367 values. Other functions return nothing only error about illegal data address. Maybe that data is somewhere later but probably only Fimer could tell for sure
QModMaster: you MUST be able to configure the Base Address in the settings. What version of qModMaster are you using? If that setting is wrong, you canāt read anything. So you need to be sure that setting is correct.
Could you also show me the settings window please? Also, run QModMaster as admin.
One other thing: you can ask FIMER for the excel file of the register map. I have that for some inverters, but not for your model. In that file we should also see the Base Address, that should be 40000, Iām quite sure.
Thanks for your reply.
QModMaster version is the same as in your screenshot and I run everything from my command line console which always is running in Admin mode. In those settings I canāt event write any other number except 0 or 1 in that base address field. Iām sure my keyboard works OK since I can write any number in response timeout field above.
Will try playing with source of that tool and fix something myself or open Linux VM and compile that there.
Regarding Fimer do you have their normal email address or should I spend some time and fill that stupid form with all details irrelevant to the matter? Iām sure I will struggle with local installer company or that would take too much time and effort.
You are right, that setting is only for zero-based addressing, so the only values are 0 or 1. Sorry about that.
So, put 40000 in the Start Address and in Number of Registers put 100, then start the read cycle. The only thing we have to find, is from what address your register map starts. Usually for Power-One/ABB/FIMER inverters itās 40000.