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

Hi,
Did you get the KNX-rf stick working in Hassio? I also need to interface some KNX-rf termostats…

I don’t have a RF stick, so can’t tell if it will be working. If you are able to use it running knxd on your device (or in a linux VM) it should also work using this add-on as long as you configure the ports etc correctly

1 Like

I went with the only working solution I could find for KNX-RF: Calimero-tools. It’s a java command line (or GUI) suite, and I’m not familiar with java so i just run it in monitor mode as a daemon from inside node-red and read the stdout in there. This I then pipe into HomeKit and Grafana etc. from there.

It’s developed by the automation department of the University of Vienna, so it’s very stable but wasn’t actually working with my USB stick and my KNX-RF system before I contacted them and they very helpfully updated Calimero to support both.

Is there anyway this add-on will work with a “mdt USB-Interface” ? My current setup is this usb interface hooked up with an raspberry pi and hass.io.

SCN-USBR.02 USB Interface 2TE REG
https://www.mdt.de/Interfaces.html

likely, but you need to figure out the correct knxd configuration for it. See my previous answer KNXD add-on: covert your KNX-USB interface into an IP interface that can be used by HA

So basicly I probably will need a custom config to get this setup running? I am currently out of ideas, I tried every setting for the normal config.

I’m no knxd expert, but you have to configure it correctly so that it can pick up your USB interface. I don’t know via which hardware path your USB interface does show up in Linux (/dev/…), so you first have to check that and then use that in the configuration. Once you changed this and the interface from TPUART to USB (please see the correct settings value in the knxd docs) it should work ™. You should not have to touch the other settings

Hi,
I use KNX-USB Interface(GVS) on raspberryPi2 with images from Hass.io.
On another image on this board knxd work correct.
I run findknxusb utility and then start knxd daemon:
sudo knxd -p /run/knxd/knxd.pid --eibaddr=1.1.128 --client-addrs=1.1.129:8 -D -T -R -S -i --listen-local=/tmp/knx -t 1023 usb:

I install KNXD add-on and set config:
{
“address”: “1.1.128”,
“client_address”: “1.1.129:8”,
“interface”: “usb”,
“device”: “”,
“custom_config”: “”
}
Than I start this add-on and get such log:

E00000040: [15:interface] USBLoop-Create: No such file or directory
E00000103: [15:interface] setting up USB failed
E00000064: [12:interface] interface: setup interface: failed
F00000109: [ 1:main] Error setting up the KNX router.

Could you help me to fix this problem?

Hi. I’m sorry, I’m really no KNXD expert. But this add-on doesn’t use bash parameters to start knxd but uses the ini config (https://github.com/knxd/knxd/blob/8228dad55079573973161f7ac917e1129439b662/doc/inifile.rst). In this config ( https://github.com/da-anda/hass-io-addons/blob/c743ef89ee4c865755910eb70d529f62623dd8d2/knxd/run.sh#L12 ) I have a line that defines the interface device. You didn’t specify a device in your add-on config and thus the value of this parameter is empty. My guess is that knxd sees the config line and tries to find an empty device which doesn’t exist. Try specifying the hardware path to your USB interface there (which is also mandatory if you have plugged more than one USB device AFAIK)

@sergg did you get it working?

Sorry for later answer. I checked it - it d’not work. I temporary use KNX/IP router for my purpose.

I have the same problem. Did you manage to get it working?

did you guys try running your usb interface via knxd on your desktop, so outside of this add-on? If not, I would try that first. So if you are not running a Linux desktop, fire up a VM, install Debian/Ubuntu/whatever and play around with the configuration there. Once you know it’s working, try with same settings and this add-on.

The add-on itself is only providing knxd and has a working default configuration for TPUART USB interfaces, which is what I have and was able to test the configuration with.

Hello guys,
I had some time and found that if add in config.json strings

   "devices": [
      "/dev/bus/usb:/dev/bus/usb:rwm"
    ],

(inside docker image it is possible to use usb device by libusb.so)
and modify line
“device”: “str”,
to
“device”: “str?”,
Rebuild and start add-on with config:
{
“address”: “0.0.1”,
“client_address”: “0.0.1:10”,
“interface”: “usb”,
“device”: “”,
“custom_config”: “”
}
it is work good with my usb device “GVS-KNX:KNX-USB Interface(GVS)”
Thank you, da-anda, for you very useful links in messages!

Thanks, I updated the add-on configuration and hope it’s working for @Lukasz16 as well now

Thanks, it worked for me!

Hello,

I’m using the 0.3.1 version with updated configuration but it’s still not working for me.

Same error :

E00000040: [15:interface] USBLoop-Create: No such file or directory
E00000103: [15:interface] setting up USB failed
E00000064: [12:interface] interface: setup interface: failed
F00000109: [ 1:main] Error setting up the KNX router.

My Config :

{
  "address": "1.1.150",
  "client_address": "1.1.150:10",
  "interface": "usb",
  "device": "",
  "custom_config": ""
}

I have a MDT USB Interface and it seems to work :

[452695.431608] hid-generic 0003:16D0:0491.0001: hiddev96,hidraw0: USB HID v1.10 Device [MDT Technologies GmbH KNX-USB Inteface] on usb-0000:01:00.0-1.3/input0

Did I miss something ?

does it help if you add

   "devices": [
      "/dev/bus/usb:/dev/bus/usb:rwm"
    ],

to config.json like sergg mentioned above? But USB devices should automatically be passed through, unless you enabled some protected mode or whatever.

Thanks for help.

Protection mode was enabled by default in HassIO. I disabled it but I still have the same error.

I’m not sure how I can edit config.json. I have portainer installed but I think it’s impossible to edit config for an existing container. Should I fork your repo and install a new container with modified config file from there ?

you should be able to modify stuff via SSH, but you have to sign in to the OS itself and not the HA container. Alternatively just clone my repo and install it as local add-on (in the add-on network share provided by Hass.io)