KACO Blueplanet Hybrid 3.0TL3 - 10.0TL3 integration

Has somebody integrate a KACO Blueplanet Hybrid 3.0TL3 - 10.0TL3 to Home Assistant?

The only way I can actually get data is over hy-sys and the display of the inverter.

KACO inverter join the local network, but it seems there is no web interface.

Somebody known how hy-sys get data from inverter?

Actually it seemed to be no way to get access to the Kaco API. There are a lot of discussions about it (and also longer times) and on GitHub is an old implementation, but it isnt working anymore and the developper has given up the project. I tried to get information about Kaco directly, they answered, but they give no informations about the protocol or ways of access or so. = not helpful. In some other informations somebody talks about openems but you need also an API-ID “only for development”. Open said: I cannot understand this policy! It is user-unfriendly and reason enough to change to another supplier. Actually I take the data on team-viewer and I plan to get some of the data about current-transformer. Some of the data I take over my Zappi Wallbox which is integrated in home-assistant. That works really fine.Compliments to all involved developpers.

1 Like

Found rest request to read the NX3 converters on Photovoltaik Forum:

http://ip_of_converter:8484/getdevdata.cgi?device=2&sn=SN_of_converter

The SN has format (for me): “15.0NXxxxxxxxxx”

I’m pretty new to HA but with that it should be easy to create a integration, shoudn’t it?

Cheers!
P.S.: this works on NX converter. Maybe a owner of a hybrid can test that…

1 Like

The Primus Energy Manager from energydepot.de (an openEMS based little inexpensive Raspi like box) is available for the KACO Blueplanet Hybrid 3.0TL3 - 10.0TL3 (originally named “Energydepot Centurio”). Afaik this is the only reasonable communication way to the inverter. It allows all inverter data to be read out and displayed, logged etc. (and in the future planned also to control it and completely replacing hy-sys). With this it is also possible to connect external systems by REST API; one example is the existing integration to the openWB wallbox for PV surplus charging that works perfectly for me. Presumably this will also be the way to integrate with HA. As I’m a HA newbie (I only joined yesterday…) connecting my 2017 Centurio and the openWB is definitely on the to-do list - but maybe one of you will be quicker… :slight_smile:

Ref. openWB: I’m not quite sure if there already is a ready to work HA integration with openWB? If so, it may be possible to use the Primus as connection between Centurio and openWB and then forwarding the PV info from openWB to HA?

P.S. After KACO had been acquired by Siemens, since 2024 Energydepot has taken back all Centurio/Blueplanet Hybrid related activities with full technical control from KACO in order to portfolio streamlining, so it will make sense to directly talk to energydepot…

I took a poke around their app KACONXSetup and tried to get as much info as I could. It seems the only useful endpoint is the one you listed. Although maybe other models or bigger setups would have useful information on the other endpoints.

Anyways, no one needs to write a custom integration to use this data. The build in RESTful integration can easily handle it. Here is what I built with it:

rest:
  - resource: "http://ip_of_converter:8484/getdevdata.cgi?device=2&sn=SN_of_converter"
    scan_interval: 10
    sensor:
      - name: "Kaco Energy Total"
        value_template: "{{ value_json['eto'] / 10 }}"
        unit_of_measurement: kWh
        device_class: energy
      - name: "Kaco Energy Today"
        value_template: "{{ value_json['etd'] / 10 }}"
        unit_of_measurement: kWh
        device_class: energy  
      - name: "Kaco Today Run Time"
        value_template: "{{ value_json['hto'] }}"
        unit_of_measurement: h
        device_class: duration
      - name: "Kaco Current Total Power"
        value_template: "{{ value_json['pac'] }}"
        unit_of_measurement: W
        device_class: power
      - name: "Kaco Power Factor"
        value_template: "{{ value_json['pac'] }}"
        unit_of_measurement: "%"
        device_class: power_factor
      - name: "Kaco Last Update"
        value_template: "{{ strptime(value_json['tim'], '%Y%m%d%H%M%S', 0)}}{{ now().strftime('%z') }}"
        device_class: timestamp  
      - name: "Kaco AC Voltage Output 1"
        value_template: "{{ value_json['vac'][0] / 10 }}"
        unit_of_measurement: V
        device_class: voltage
      - name: "Kaco AC Voltage Output 2"
        value_template: "{{ value_json['vac'][1] / 10 }}"
        unit_of_measurement: V
        device_class: voltage
      - name: "Kaco AC Voltage Output 3"
        value_template: "{{ value_json['vac'][2] / 10 }}"
        unit_of_measurement: V
        device_class: voltage
      - name: "Kaco AC Current Output 1"
        value_template: "{{ value_json['iac'][0] / 10 }}"
        unit_of_measurement: A
        device_class: current
      - name: "Kaco AC Current Output 2"
        value_template: "{{ value_json['iac'][1] / 10 }}"
        unit_of_measurement: A
        device_class: current
      - name: "Kaco AC Current Output 3"
        value_template: "{{ value_json['iac'][2] / 10 }}"
        unit_of_measurement: A
        device_class: current
      - name: "Kaco DC Voltage Input 1"
        value_template: "{{ value_json['vpv'][0] / 10 }}"
        unit_of_measurement: V
        device_class: voltage
      - name: "Kaco DC Voltage Input 2"
        value_template: "{{ value_json['vpv'][1] / 10 }}"
        unit_of_measurement: V
        device_class: voltage
      - name: "Kaco DC Current Input 1"
        value_template: "{{ value_json['ipv'][0] / 100 }}"
        unit_of_measurement: A
        device_class: current
      - name: "Kaco DC Current Input 2"
        value_template: "{{ value_json['ipv'][1] / 100 }}"
        unit_of_measurement: A
        device_class: current

Hi,

I just tried it out but didn’t work for me. I have a blueplanet 8.6 TL3 INT. Does this only work for the Blueplanet Hybrid or did I something wrong?

I just copied the following in my configuration.yaml and thought, there should appear new entities, but didn’t.

rest:
  - resource: "http://192.168.0.133:8484/getdevdata.cgi?device=2&sn=SN_of_converter"
    scan_interval: 10
    sensor:
      - name: "Kaco Energy Total"
        value_template: "{{ value_json['eto'] / 10 }}"
        unit_of_measurement: kWh
        device_class: energy
      - name: "Kaco Energy Today"
        value_template: "{{ value_json['etd'] / 10 }}"
        unit_of_measurement: kWh
        device_class: energy 

Due to the fact, that the cutom component (GitHub - KoljaWindeler/kaco: custom integration for kaco solar inverter) also doesn’t work properly anymore (stops streaming each day on afternoon), it would be very helpful for me if this one would work.

Thank you!

If you can connect to it with the KACO NX Setup app then you need to turn on the App Local for monitoring. You’ll know if it will work because you can simply go to the url in your config above with a web browser and it will return data.

Thanks for your fast response.

I can not find it via KACO NX Setup App. Does this mean, it is not possible with this type of KACO?

Via Webbrowser it is no problem to connect to it.

Weird the web browser works but not the app since the app just calls the web service.

Post up the response your get from the web browser. Maybe yours gives back different data than mine.

This is what I see, when I open it in the Webbrowser:

To be honest, this webinterface is really slow.

You have a different version. What I have and what michi14 have do not have any sort of web interface and the url is just a data endpoints.

Now if you opened the website on a computer and use the developer tools utility to monitor network calls. You could find out how the website is getting the data and create a REST sensor from that. If you can find the data I can help you with the sensor but since this is completely different from mine I cannot find the data endpoints for you.

Hi all,

someone in the German KNX-User-Forum was able to access the KACO blueplanet hybrid 10.0 TL3 via Python Script. I tested the script, and it worked with my 2 kacos, too.
I am a Homeassistant rookie and also not familiar with Python-coding. But maybe someone here is able to use this script to develop a Homeassistant integration out of it.

Best regards
neunzehn78

Hi,

the code in the KNX-Forum seems to be an “emulation” of the tcp communication between the inverter (source) and a computer (in this case a raspi; destination).

He/she “cracked” the payload of the data sent by the inverter & aditionally the multiple data types (float, int) & formats (32bit data & array of 3 values (96bit).

Don’t know how he/she did it but it must took unimaginable count of hours for reverse engineering this and extracting the values out of the hex payload by using Wireshark. Challenge to put it in custom component code seems to be solvable but I’m not shure, if the socket lib (it’s used in the python code to establish the communication between source & dest) is useable within HA?

@neunzehn78 : The Kaco Blueplanet Hybrid may have different frimware versions. Is there any restriction known with which firmware the python code is working?

Hi cookiez,

I can only confirm that the scipt is worling with the current latest available Kaco firmware with both of my inverters.

Tried it with my Kaco BP Hybrid a minute ago. It works too!!! I have 8.2@hy-switch, 8.18@Controller and 8.9@COM.
I do occasionally read posts here in the forum (today i signed in to answer you :wink: ), but I haven’t installed or run HomeAssistant on my system yet. So far, I haven’t really felt a strong need for it. When it comes to Python coding, I might be able to help since I can probably work with the code that’s provided. However, there are certainly real experts here in the forum for whom this would just be a simple task.

I have tested the script with the following firmware configuration, which is the latest available from Kaco at this point in time: hy-switch: 8.2, Controller: 8.27, COM: 8.11.
I tried to generate a custom integration with the support of ChatGPT. This was successfully running in my VS Code environment and when I copied it to Homeassistant, I can see my custom integration and the sensors provided by the script. So if someone with more experience would take this up, let me know.

Best regards
neunzehn78