KNXD add-on: convert your KNX-USB interface into an IP interface that can be used by HA

use the formatting as James86 used a few posts above

1 Like

Thanks a lot,
Works like a charm, I believe that could be quite usefull for everyone that would like to skip IP Router device and have some kind of server that support IP Tunneling.
Simple and clean IP Tunneling to IP Routing!
Thanks a lot!

1 Like

HI, i ran into this stupid error. I’m not able to change the configuration anymore. Doesn’t matter which config (YAML oder within the UI). Removing the add-on / resetting to default does not help.

Any ideas?

The changing the param on network part is ok.

I can not change the config part. It doesn’t matter which value i change.

you have not specified a USB device from the device dropdown and the HAOS validator thus is complaining, because it can’t find a device entry with the name “”. So just pick your USB interface in the device dropdown and the validation error should be gone

are you willing to share how your config is now? working?

Sure thing, it’s like @da-anda point me to @James86 post

[A.ipt]
driver = ipt
ip-address = 10.1.1.10

[debug-server]
name = mcast:knxd

[main]
addr = 1.0.90
client-addrs = 1.0.91:5
connections = A.ipt,server
systemd = systemd

[server]
debug = debug-server
discover = true
router = router
server = ets_router
tunnel = tunnel```
1 Like

lets see if i can get mine working like this…

another optimization… :wink:

thnx for sharing

ok… how come i did not notice this before…

So i just came to the conclusion that i was looking at the wrong KNX integration…

i was trying to figure out how i can configure that custom ini… but then i saw in de page title from this forum that it is talking about KNXD…

Going to my current integration i noticed it is:

and somewhere else i see some xknx reference…

so finally i went over to addons and searched for knxd and there it shows up…

Now the question is… how do all these knx addons/integrations coexist?
can i have the kns integration AND install the KNXD? or will that mess up things.

feeling really noobish… /facepalm

there is only one KNX integration for HomeAssistant. Let me try to explain how these 3 components work together:

xknx is a standalone library to interact with a KNX bus. It is written in Python and is developed independent of HomeAssistant, so any Python based project can use it.

The KNX integration of HomeAssistant is using this xknx library and its features in the background in order to integrate KNX into HA. You can probably see xknx as some kind of driver that HA is using. As a HomeAssistant user, you should never ever have to interact with xknx but only the integration component.

Now, this xknx library/driver can only talk to your KNX bus via IP - which means you need to have a KNX IP interface in your home setup. Some users (like me) do not have an IP interface but an USB interface instead, which will not work with xknx and thus HomeAssistant. This is where my add-on for the knxd tool steps in. knxd is a small tool written in C that can talk to the KNX bus using a variety of interfaces, USB being one of them. It also has dozens of other features, one of them is to basically convert whatever KNX interface you have into an IP interface. And this IP interface then can be used by HomeAssistant (xknx).

So, if you already have a KNX IP-Interface in your home setup, you DO NOT need this add-on. All you have to do is to add the KNX component via the UI of HomeAssistant and in case it does not auto-detect your IP interface, configure the IP address etc.
Once this is done, HomeAssistant can “talk” to your KNX bus, but it does not yet know the topology or the connected devices, as this information CAN NOT (to my knowledge) be extracted/read from the bus - so at least for the moment you manually have to add all the entities with their group addresses. Up until recently this could only be done via YAML configuration, but as of lately you can at least create/configure some entity types via UI (see the KNX section in the left menu bar of your HA installation)

1 Like

great explanation!

as i have a siemens n151 i indeed have a ip interface and don’t need the KNXD unless ofcourse i want to change the tunnel feature into a router.

it is now clear to me that the “USB/UART users” use both or all the knx libs/addon’s/integrations as you described.

Hi, I updated my ets6 to version 6.2.2. Since then programming of knx devices via ets is not possible anymore. Groupmonitor in ets via knxd works.

I read in another forum, that updating of knxd solved the problem. Is it planed to update knxd?

now that I know of an issue with the current version, I see what I can do. My time is very limited at the moment though, so it might take some time.

Yes, it’s a pitty. Everything else is working. I can switch knx-actors from HA and can do anything else. Except programming or for example getting device info from ets via knxd interface.

Here is the thread describing that the new version of knxd works: ETS 6.1.0 mit knxd funktioniert nicht mehr - KNX-User-Forum

Thank you for your help!

had a brief look. Wanted to also bump the docker base image when I release a new add-on version, but it seems that this is not done with just a simple version bump. So I likely need to change the architecture of the add-on a bit, which will take some time

Ok, thank you for your work. I really appreciate it.

Just want to use knxd again as the only interface for all functions.

new version is out, which I hope solves the USB issues. I also added support for ipt interfaces, which so far is untested. Let me know if it works.

1 Like

I just tested the update. Programming of knx devices via ets version 6.2.2 is possible again.

Thank you very much for your work!!

Since programming with knxd is now possible again, i compared the programming-time with another interface (Gira X1) and I achieve different times:

knxd with tpuart on raspbery 5 : 1 min 41 sec
Gira X1: 31 sec

I used the same knx device.
Has anyone ever compared the progamming-times? Are these usual times?

I have no comparison since all I have is the TPUART dongle and my PI