First steps with KNX - KNX to HA ok, HA to KNX will fail

Hi all
I’m quite new to HA and now I try to integrate my KNX. I use a IP Router for interconnect. When I control a KNX light the state will be updated in HA correctly, so far so good. But the other direction will not work. I can toggle on HA dashboard and nothing will happen with the KNX light. One point I have seen is
DPTBinary value=“0” for incomming and DPTBinary value=“True”. No idea if this can be an issue.
Any other point is source_address=“0.0.0” for outgoing, but this is different configured in the integration. However, a few lines later I can see the correkt KNX address of the IP Router.
Any suggestions?

configuration.yaml
default_config:

tts:
  - platform: google_translate

automation: !include automations.yaml
script: !include scripts.yaml
scene: !include scenes.yaml
knx: !include knx.yaml

logger:
  default: warning
  logs:
    xknx: debug  # sets the level of all loggers
    xknx.log: debug  # provides general information (connection, etc.)
    # vxknx.raw_socket: debug  # logs incoming UDP frames in raw hex format
    # xknx.knx: debug  # logs incoming and outgoing KNX/IP frames at socket level
    xknx.telegram: debug  # logs telegrams before they are being processed at device level 
light:
    - name: "Licht Arbeiten West"
      address: "1/3/1"
**LOG: OTHER APP IS SWITCHING LIGHT**
2022-08-27 15:36:49.468 DEBUG (KNX Interface) [xknx.raw_socket] Received from ('172.16.100.222', 3671): 0610053000112900bcd0103e0b01010080

2022-08-27 15:36:49.469 DEBUG (KNX Interface) [xknx.knx] Received from 172.16.100.222:3671 at 1661607409.4696193:
 <KNXIPFrame <KNXIPHeader HeaderLength="6" ProtocolVersion="16" KNXIPServiceType="ROUTING_INDICATION" Reserve="0" TotalLength="17" />
 body="<RoutingIndication cemi="<CEMIFrame code="L_DATA_IND" src_addr="IndividualAddress("1.0.62")" dst_addr="GroupAddress("1/3/1")" flags="1011110011010000" tpci="TDataGroup()" payload="<GroupValueWrite value="<DPTBinary value="0" />" />" />" />" />

2022-08-27 15:36:49.472 DEBUG (MainThread) [xknx.telegram] <Telegram direction="Incoming" source_address="1.0.62" destination_address="1/3/1" payload="<GroupValueWrite value="<DPTBinary value="0" />" />" />
**LOG: HA IS SWITCHING LIGHT**
2022-08-27 15:32:01.088 DEBUG (KNX Interface) [xknx.raw_socket] Received from ('172.16.100.150', 61771): 0610020b00160801ac106496f14b0804010208060700

2022-08-27 15:32:01.089 DEBUG (KNX Interface) [xknx.knx] Received from 172.16.100.150:61771 at 1661607121.089289:
 <KNXIPFrame <KNXIPHeader HeaderLength="6" ProtocolVersion="16" KNXIPServiceType="SEARCH_REQUEST_EXTENDED" Reserve="0" TotalLength="22" />
 body="<SearchRequestExtended discovery_endpoint="172.16.100.150:61771/udp" srps="[<xknx.knxip.srp.SRP object at 0x7f814a1570>]" />" />

2022-08-27 15:32:01.089 DEBUG (KNX Interface) [xknx.knx] Unhandled: KNXIPServiceType.SEARCH_REQUEST_EXTENDED from: 172.16.100.150:61771/udp

2022-08-27 15:32:01.090 DEBUG (KNX Interface) [xknx.raw_socket] Received from ('172.16.100.150', 61771): 06100201000e0801ac106496f14b

2022-08-27 15:32:01.090 DEBUG (KNX Interface) [xknx.knx] Received from 172.16.100.150:61771 at 1661607121.0905519:
 <KNXIPFrame <KNXIPHeader HeaderLength="6" ProtocolVersion="16" KNXIPServiceType="SEARCH_REQUEST" Reserve="0" TotalLength="14" />
 body="<SearchRequest discovery_endpoint="172.16.100.150:61771/udp" />" />

2022-08-27 15:32:01.090 DEBUG (KNX Interface) [xknx.knx] Unhandled: KNXIPServiceType.SEARCH_REQUEST from: 172.16.100.150:61771/udp

2022-08-27 15:32:01.217 DEBUG (MainThread) [xknx.telegram] <Telegram direction="Outgoing" source_address="0.0.0" destination_address="1/3/1" payload="<GroupValueWrite value="<DPTBinary value="True" />" />" />

2022-08-27 15:32:01.226 DEBUG (KNX Interface) [xknx.knx] Sending to 224.0.23.12:3671 at 1661607121.2263212:
 <KNXIPFrame <KNXIPHeader HeaderLength="6" ProtocolVersion="16" KNXIPServiceType="ROUTING_INDICATION" Reserve="0" TotalLength="17" />
 body="<RoutingIndication cemi="<CEMIFrame code="L_DATA_IND" src_addr="IndividualAddress("1.0.63")" dst_addr="GroupAddress("1/3/1")" flags="1011110011100000" tpci="TDataGroup()" payload="<GroupValueWrite value="<DPTBinary value="True" />" />" />" />" />

Hi :wave:!

If you want to use Routing, make sure you configure an address on the IP line (which 1.0.x is probably not) and set up your routers filter tables accordingly (eg. use a dummy in ETS).

If in doubt: use Tunnelling :wink:

Hi, thanks!
I’m not sure what you mean with “make sure you configure an address on the IP line”. Can please explain me? What kind of address? Where, HA side or KNX?

A Knx individual address. You configured “1.0.63” (see your screenshot). I don’t think 1.0 is an IP line. That’s committing topology-crime.

Again, if you don’t have a clue what that means, use Tunnelling, as this is handled for you by the interface then.

Hi Michael,

the adress you must use is this one, from Domovea:

Thanks, unfortunately my KNX physical address range is 1.0.x, I know it is wrong and should be 1.1.x for example. However until now I didn’t have any issues. Probably I should think about readdressing all physical addresses.
I’m using tunneling for years now, but routing would be better for my migration project from openHAB to HA, as my IP Router does not support more than one tunnel at the same time.

clear now, thanks! I will have a look…

not at all. 1.0.x is perfectly fine. This is your main TP line then.
If you have a Router it has to have the address 1.0.0 - coupling the 1.0.x line to an IP backbone - so another Router can have eg. 2.0.0 to couple another TP line to the IP backbone.
IP only devices sit on the IP backbone (there can only ever be one IP line / backbone in a KNX project) so they get addresses like 0.0.1
HA in this case can be seen as a IP device when using routing. So give it an address like 0.0.x and insert a dummy in ETS with this address. Then connect the dummys group object with the GAs you want the router to forward to the IP backbone and update its application.

There are other possible topology configurations, but since your TP line is 1.0.x I think this is the most common.

1 Like