KNX Integration, Import of Group-Addresses

Hi there,

I think, that there is a big KNX-community, which would also like to use the HomeAssistant. Particularly, because the KNX-Standard has been standardized ISO/IEC 14543-3, EN ISO 22510 and even n China GB/T 20965.

Many KNX-users are using the Gira Homeserver and comparable hardware - whose Software is sometimes dated and so there are many users, who are searching for a newer, much comfortabler software for visualization, automation which is even cross platform.

But those users are kind of spoiled by the cooperation of the ETS (software to configure the hardware of the smart-home-devices) with the e.g. Gira Homeserver Experte (Software to program the home server).

How does it work?
In the ETS you export your project. Then, in Gira Expert, you just import it. After that, every Group Address (Group Address = the Address, where e.g. the “light on” command has to be executed / kind of entity) will be imported and so the Gira Homeserver knows them all.

If this would be same at the Homeassistant, I think, many KNX-Users would like to switch to homeassistant.

So a “import Group address and convert to entity” service, which is also updateable (like “does this entity sell exist?” Yes? → no import) would be a very nice thing!

Now, the ETS-Data-Import just translate / decrypt the group address.

Hope, you could develop sth like that!

Kind regards

cheers!

It knows what GA’s you used. You will still need to assign them manually and because Gira still doesnt know how to handle status groups you will need to tie the status group to the main group. Which on its turns causes all kind of “fun” interactions.

Also there is no “cooperation”, just a standard way that the export is made so anyone (including HA, which has an import feature now. Tho only for monitoring) can read it and use it in their server or visu.

Of the KNX users that maintain their own system i think they already do. The amount of knowledge you require to do that would that would imply they are comfertable with HA coding also.

HA already made a big leap integrating KNX:

There was some work on an import program:

But its a complicated thing to automate, unlike Expert you do not fill out a communication object list which you can then pick and choose for logic or QC.
If you want to create a light in HA you will need to assign the switch, dim value, feedback and or other things like color and such.
You would end up with an Entity for a switch, Entity for value and a not usable relative dim entity :rofl:

Maybe we will get a GUI for that in the future, but for now its very simple to do it by hand.

1 Like

Without any prior knowledge in KNX I manged to connect the KNX bus in my partner’s house to the Pi4 and added all KNX devices to the configuration.yaml file of the HA installation.

After uploading the ETS project file we can now control and dim all lights, covers and underfloor heating.

While doing this I learned a lot about the KNX topology. People who maintain their own KNX system should have no issue at integrating it with HA.

2 Likes

Hi, as mentioned above Martin Laurent has written a KNXProject parser in Ruby GitHub - laurent-martin/ets-to-homeassistant: script to convert ETS5 project file to a YAML configuration file suitable for Home Assistant

Last weekend I finally finished my extension to his project. It think it will work for most of KNX integrators and ETS capable end-users.

Have look in my fork. I documented everything, hopefully well enough.

Every entity that should be available in HA, must be created as an ETS function in the project. Just name the function as want to have it in HA (Room and Floor will be appended to the name of available in ETS building structure). Map all required GAs to each function. I recommend to only add the GAs that are needed for HA KNX entities.

Make sure that every GAs has the correct DPT configured. In my ETS5 all GAs got automatically assigned correct DPTs when I connected them to the actors. If something doesn’t work you can compare your project with the screenshots that I added in my repo documentation.

But this allone is not enough to distinguish each mapped GA. Sometimes one function has the same DPT in two GAs e.g. color_temperature_address and color_temperature_state_address for CCT lights.
To fix such situations the script uses the middle group or any pattern that you configure.

The script has a settings section to change your ETS project specifics.

With this script and config I created 1100 lines of yaml and 284 KNX HA entities.

In my project everything is supported except the climate things. Did not implement them yet, but approach is identical.

Test it :slight_smile: feedback welcome.