KNX Cookbook

I will check out both, groups and cover groups to understand what is possible and where are the limitations. Thank you.

Thank you. Looks like a very impressive work.

For now I am more interested in to lern functions and possibilities of HA and how to realise these rather than having a click-and-run solution in a black box.

Hey :wave:!
So 2022.2 has launched with support for KNX TCP tunneling connections. If you have a modern (KNX Tunneling v2 supporting) interface be sure to try it out. In theory these should be more lightweight (on HA) and more reliably - but I have just tested it on my own system so if you encounter problems with it be sure to open an issue at Github :wink:

If you are unsure if your interface supports that, you can just try to switch the button (found in the integration page in KNX configuration) and see if it works, if not just switch back to UDP. We plan to add a check for compatibility with next release.

1 Like

Thanks Matthias, great news! :clap:

Could you elaborate a bit on Tunneling v2 / TCP tunneling? I don’t find a lot about it on the web. It seems to be somehow connected to KNX Secure, but that again is not supported by HA KNX.

Do I get you right that up to now all tunneling connections to KNX were UDP based instead of TCP. I was not aware of that.

So far the only routers that I could find that clearly state support for v2 seem to be from the Weinzierl family.

I tried to find out whether my KNX router (MDT) supports Tunneling v2. It is not mentioned in the docs. But it supports Secure Tunneling based on TCP/IP which has a “Plain” mode that is not encrypted. Is this what is needed for Tunneling v2?

Exactly.
With UDP we have to “manually” check if the other side is still there by a regular heartbeat and “manually” send ACKs for every received frame. With TCP the tcp-stack is doing that for us.
Its also easier to route and tunnel - for those who have more convoluted network setups.

Gira seems to have support for v2 even on “older” models of their routers. I have a Router I12 and an X1 here which both support it.
The MDT .2 models don’t.

Support for TCP is however required for all interfaces that support KNX secure - so your MDT .3 has to support it :+1:.

This is the first (small) step on the (long) journey to KNX secure support (no, we don’t have any timeframe for this :stuck_out_tongue:).

1 Like

I have Weinzierl IP Interface 731 and it does not work with TCP tunneling. Looks like there is a newer model: 732 Secure, which has the tunneling v2.

Hello there,

I just updated to 2022.2, but my configuration dialog does not appear to feature the button to switch v2 tunneling support. Am I looking in the right place, though?

You’d have to select tunneling. Automatic still defaults to UDP.

It is on the next screen :slight_smile:

:man_facepalming:
Thank you!

And it works indeed, with an MDT SCN-IP100.03 (configured as Interface without KNX secure, of course).

1 Like

So I noticed constant reconnects every 2 minutes with TCP tunneling on my Gira router. Do the MTD devices behave the same?

Seems like ConnectionStateRequest heartbeats are needed with TCP too :thinking:

I have the KNX IP LineMaster 762 and it does not seems to work with TCP. :frowning:

Hello,

Yes, same here with the MDT Router/Interface. The connection drops every 2 minutes. Then HA reconnects and reads all the values again from the KNX bus. For the moment, I am going to switch back to the UDP protocol.

1 Like

Using TCP Tunneling with an Enertex KNX IP Secure Router (1164) - no issues in the first 20 Minutes of using it with 2022.2 TCP Tunneling

Stop: it just works in the first minutes after setting it up with TCP - then the commands aren’t executed. the log says:

Logger: xknx.log
Source: /usr/local/lib/python3.9/site-packages/xknx/io/tunnel.py:291
First occurred: 19:46:50 (4 occurrences)
Last logged: 19:48:06

L_DATA_CON Data Link Layer confirmation timed out for <Telegram direction="Outgoing" source_address="1.1.13" destination_address="0/1/3" payload="<GroupValueWrite value="<DPTBinary value="True" />" />" />
L_DATA_CON Data Link Layer confirmation timed out for <Telegram direction="Outgoing" source_address="1.1.13" destination_address="0/1/3" payload="<GroupValueWrite value="<DPTBinary value="False" />" />" />
L_DATA_CON Data Link Layer confirmation timed out for <Telegram direction="Outgoing" source_address="1.1.13" destination_address="1/1/9" payload="<GroupValueWrite value="<DPTBinary value="True" />" />" />
L_DATA_CON Data Link Layer confirmation timed out for <Telegram direction="Outgoing" source_address="1.1.13" destination_address="1/1/9" payload="<GroupValueWrite value="<DPTBinary value="False" />" />" />

TCP should be fixed now with 2022.2.3 🧑‍💻

2 Likes

Hi all,
I´m new to HA and just installed it on my raspb 4 (64bit), Home Assistant 2022.2.3 is installed.
Now I tried to add the KNX integration, but unfortunately I don´t get a connection through my Weinzierl 731 gateway, it solely logs

Logger: homeassistant.config_entries
Source: config_entries.py:358
First occurred: 21:04:37 (1 occurrences)
Last logged: 21:04:37

Config entry ‘Tunneling (TCP) @ 192.168.0.13’ for knx integration not ready yet: Tunnel connection could not be established; Retrying in background

But it never gets a connection.

I already tried to configure the yaml by setting host and port for tunneling, but it does not work.

Is there any known issue? (I already checked github, but I couldn´t find anything)

Thanks a lot for your help!

Your Weinzierl 731 doesn’t support TCP (see 10 posts above). Try configuring UDP (which should also be the default afaik).

Thanks a lot! :slight_smile:
In the log it still seems there is something wrong, but I´ve added first test and it works like charm :slight_smile:

Hi all,

I hope someone could point me in the right direction: I’m trying to capture an event from the KNX bus, in order to trigger an automation. The event corresponds to a scene number which is triggered when I slide my finger on an ekey fingerprint reader (I have an RS-485 to KNX gateway for that), as shown in the following pictures taken from ETS5:

I tried to capture the event both in HA logs and in the knx_event listener, but it doesn’t seem to be available in HA, while I correctly see it in the ETS monitor.
Of course I created an automation to test the event capture, but it’s not fired. Here is the configuration code:

trigger:
  - platform: event
    event_type: knx_event
    event_data:
      address: 7/1/1
condition:
  - condition: template
    value_template: "{{ trigger.event.data.data[0] == 1 }}"

What am I missing?
Thank you

Probably one of

  • adding thee group address to the knx: event: key in configuration.yaml KNX - Home Assistant
  • assigning the GA to a dummy device in ETS so it can set filter tables for line couplers