Kostal Binding not working with Kostal Piko 4.2

Hi everyone,

I could not find a solution by searching, so I hope this one has not been asked already. I’m trying to move from openHAB 2.5 to 3 (3.4.1 release build). I have a Kostal Piko 4.2 inverter. This one is integrated by parsing the web-interface I guess. It is working fine with openHAB 2.5 and the kostal binding. But with openHAB 3.4 I get an IndexOutOfBounds Exception. Has there been some change in the parsing? Or do I miss something else?
Here is how it looks like:


The IP is correct, I get the following output (after filling user and PW):

The error message seems to be some parsing error, I guess.

Hi,
I have done the Second Generation part of this binding. I don’t know if the maintainer of First Generation still is active on the forum. I have seen the very same problem regarded to ‘mine’ version during design, so it’s not very unusual.
Any way, lets wait some day’s and see, otherwise will I do my best to help you.
Br Basse

1 Like

Thank you very much already!
If some testing is required later on, I can provide access to the web interface of the PIKO.

Hi,
let’s see if we can do something regarded this.
First, I like to test your response from http://‘your inverters ip’/api/dxs.json?dxsEntries=67109120&dxsEntries=251658753&dxsEntries=251658754&dxsEntries=16780032
Check and Please send me the result.
Br Basse

Unfortunately, there is no output. I have version 5.30 of the inverter firmware (I tried to upgrade to the latest version, but this failed all the time).
The output is “Sorry, the requested file does not exist on this server.” (after passing username and password the first time).
Maybe there is no json-API existing?

Edit: it’s version 5.30, the UI is version 5.41.

Ok, just liked to check that we are talking about the 1’st Generation of inverter.
I will try to compare the different versions of bundle, 2.5 vs 3.4.1 and see if I can find any changes regarded to the problem.
Is it possible for you to use Wirechark and do an capture of the communication with the inverter, if so could I have a look at one done with your Web-browser and one done with OH?
I will be back asap,
Basse

Yes, I think I can do some Wireshark investigation. Not presently, but tonight, I should have some time.

I thought that the old binding was just doing a parse of the status webpage, but I never checked. I will try to update the firmware again and check if there is any json API in the newer versions.

Please, take your time.
I’m new to this part of the bundle, but as far I can see so is the scraping done with:
return Jsoup.connect(config.url).header(“Authorization”, "Basic " + base64login).get();
and use org.jsoup.Jsoup;
So it will be interesting to see what the inverter returns!

Update. I think I could solve it. I was able to upgrade the UI of the inverter from 5.41 to 6.41. Then I upgraded up to firmware 5.49 (the updates to 5.50 still fails all the time). It’s a long procedure, each update takes about 20-30 minutes (5.30->5.35->5.36->5.49). Im still trying my luck with 5.50 and 5.60 afterwards.

But anyhow, now the inverter seems to have the json API, it returns using your call from above.
Result:

{"dxsEntries":[{"dxsId":67109120,"value":0.000000},{"dxsId":251658753,"value":27660.648438},{"dxsId":251658754,"value":807.539368},{"dxsId":16780032,"value":0}],"session":{"sessionId":0,"roleId":0},"status":{"code":0}}

I think the firmware version does not really matter (the release notes do not state anything special), it was the UI version. It has now an entirely different interface.

So, if you get this reply it should be possible for you to use the Second Generation part of the binding.
Thing as:

No, I was happy too early :slight_smile:
I get the result as I posted before, but the binding still doesn’t work. Now the error just has a different array length.

I just selected the binding from the web interface, is there another place where I can get the second generation binding?

Ah, no, I now selected a different type of PIKO (10-20) as in your image, and it works now :slight_smile: