[SOLVED] KNX Binding: no confirmation reply received

Hi @PeteW

I don’t think that you can control this aspect from the ETS parameters of the device (to accept/receive communications from a specific remote IP Address (e.g. the Homeserver) only).

By the way: The IP Routing multicast in your screenshot is correct. No need to change that.
Multicast IP Address 224.0.23.12 is registered for use by the KNXnet/IP protocol and can be used by many devices concurrently.

To simplify: This acts like a broadcast channel. An IP device can broadcast to this address and all listening to it will receive the message. It is connection-less (no point to point link is established), contrary to the tunnel configuration where a permanent connection is established and uses the individually assigned IP Address (in this case: 192.168.1.12) and UDP port 3167.

In my experience, the best way for OpenHab to connect to a KNX system via a Router is to use multicasting (ROUTER type in the knx.cfg). There are some additional considerations to be made when using the KNX/IP device as a router: You need to configure the Filter Table of the Router device within ETS to allow routing of KNX Telegrams from the KNX Bus to the IP network (and from IP to Bus).

This can be done either with:
a) A Dummy application in ETS that has the required Group Addresses linked to it (prefered)
or
b) Allow mass routing of telegrams from Bus->IP and from IP->Bus (not really recommended :))
or
c) Manual editing of the Filter Table of the KNX Router (really, really not recommended :))

I would try to get Routing working… it is the best way and it will work in parallel with your existing setup (with the Homeserver).

I have only 1 concern… I am not 100% sure if the Router will respond in parallel to both unicast (Tunneling) as well as multicast (Routing) IP communications… From what I know (from my GIRA 216700): This works fine.

BR,
Dim
Ps: IP Config tabs are all looking good! IP Config 1 shows you the multicast address and allows you to change the individual device IP Address assignment and since you have set it to manual (correctly), it enables IP Config 2 tab (where you set the static IP of the GIRA KNX Device) and IP Config 3 tab (where you set the default gateway)

@PeteW

Important note: If you want to use multicasting to communicate to the GIRA 103000 KNX/IP Router, you will need to change it’s Physical Address (PA) in the KNX Line from 1.0.255 to 1.0.0.

The PA of x.y.z type (1.0.255) sets the device in a Line Repeater mode and will not allow proper routing of KNX Telegrams. It works fine for tunneling.
The PA of x.y.0 type or x.0.0 (1.0.0) sets the device in Line Coupler / Area Coupler mode (the correct setting for a routing environment). Tunneling also works fine here.

The IP Address can remain the same (192.168.1.12) and this PA change should not affect the communications with the GIRA Homeserver (which is most likely using unicast (tunnel) to connect to the Router… can you check that please from the configs of the Homeserver and let me know?))

BR,
Dim

Thanks Dim

I’ll try this out tonight. Sounds logical to me. Will update the PA. Assume the HomeServer will still work ok in the new mode?

Pete

Hi @PeteW,

HomeServer should continue to work even after the PA change. Check the HomeServer configuration in advance to see how it is set to connect to the GIRA Router. It should be based on tunnel config (with the IP 192.168.1.12 of the Router).
If anything goes wrong, revert back to the original PA (1.0.255).

Since the IP will not change, the HomeServer will be able to connect to the Router without problems and establish a tunnel.

Remember to configure the Filter Table also on the KNX Router. Add a dummy application in your ETS Project that represents OpenHab and link the Group Addresses that you want to allow to be routed between the 2 “worlds” (KNX Bus and IP). Put this dummy App in a new Line (e.g. 1.1) and give it a PA in that new line (e.g. 1.1.200). Then, link the GAs to the dummy app and the ETS will automatically calculate the Filter Table for the Router. Reprogram the Router afterwards using ETS.

BR,
Dim

Think I’ve stumbled on another issue…

When I try to change the PA in ETS4 of the IP Router is says 'Set Address of Device ‘0.0.255 FC01 router’ to ‘0’ failed. The usage of IP routers requires a IP backbone line.

Do I need to create a new line with just the IP router on it now? Currently it is on the same line as all the other KNX devices.

Pete

Hi @PeteW,

The Router should remain in the existing position in the ETS Project (within the existing Line).

The error that you are getting is because your Backbone Area has “TP” set as the Backbone Medium (this is the default in ETS Projects).

To change that to IP, go to the Topology Workplace Panel in ETS and select Topology from the left side, then Properties->Settings->Backbone Medium->IP.

Here is my setup (with the extra line holding the dummy application for configuring the filter table in the router):

Ah…that moved all my devices from Line1. When I try to drag them back I get an error

Am on ETS4 not ETS5, but that shouldn’t make a difference I don’t think

? Changing the Backbone Media moved your devices from Line 1 ? That’s strange…

Keep Line Medium to TP. In this way, you shouldn’t affect your existing devices. All the old devices (and the Router) should stay where they are (in the existing Line)
Change Backbone Media to IP to allow you to reconfigure the PA of the Router

Also: Use the Undo function if something goes obviously wrong. Don’t try to move more stuff around since this could create a mess :slight_smile:

Thanks

Will give that a try tonight.

Think I understand what I’m trying to do…

  • My KNX modules all talk over TP
  • openHab needs to talk IP
  • my KNX IP router is the link between
  • KNX IP router needs to see all telegrams
  • having an IP backbone links the TP and IP worlds together

Am I getting that right? (I’m not really a networks guy!)

Pete

Correct :slight_smile:

The Link between the 2 “worlds” (TP and IP) is the Router.
It is positioned in the TP Line since it is primarily a TP device and can see all KNX Telegrams from other TP devices in its line.
The Backbone should be set to IP to allow the Router to communicate the Telegrams “upwards” towards the IP “world”

For further reading, see attached :slight_smile: 08_IP Communication_E0510a.pdf (320.1 KB)

Great - thanks

So the HomeServer must talk TP, which is why that works ok in my setup and openHab doesn’t (yet!)

Be great to get this working as it will really open up options for me

Pete

Well… I don’t have a GIRA HomeServer, but from what I know, it is a regular IP host/device (similar to a Raspberry Pi or a PC running OpenHab)

It has it’s own IP Address and connects over IP to the GIRA KNX/IP Router.
The HomeServer does not directly “talk” TP since it doesn’t have an interface for KNX Bus.

In theory, the HomeServer establishes a Tunnel connection over IP to the Router and can receive/transmit Telegrams from/to the KNX Bus via the Router.

In parallel, we will configure the GIRA KNX/IP 103000 Router to properly use Multicasting so that OpenHab 2 can also communicate with the Router (using the 2nd method: routing) so that we can also access KNX Telegrams over IP.

BR,
Dim

ok…have managed to add an IP backbone AND change the router address…so getting there…

Here’s my new topology

You’ll see I’ve linked the group addresses I want to use to the dummy oenHAB app.

I have also updated the group address and application software in the router using ETS.

Ran openHAB again in ROUTER mode, still seem to be getting the ‘waiting for connection’ message ;-(

Does my setup look right now Dim?

Pete

btw…the HomeServer still works ok with the new PA set for the router - so that’s good

Hi @PeteW,

Topology looks good, Router is placed properly in TP Line, dummy App is configured correctly ! (and HomeServer is good :slight_smile:)

…it should have worked by now :frowning:

Ok… now we need to check the OpenHab logs… Please enable trace for the KNX communications by:

(assuming that you are running OpenHab 2… by the way… which OH version are you running?):

  1. Enter in Karaf Console with “sudo ssh openhab@localhost -p 8101” (password habopen)
  2. Suppress all other log types: “log:set ERROR” & “log:set ERROR org.openhab
  3. Enable max logging for KNX comms: “log:set TRACE org.openhab.binding.knx” & “log:set TRACE tuwien.auto.calimero
  4. Restart OH2: “sudo systemctl restart openhab2
  5. Test some actions from your sitemap
  6. Upload a copy of /var/log/openhab2/openhab.log

Let’s see what the logs say and we take it from there :slight_smile:

BR,
Dim

I’m actually running openHab 1.8.3 with KNX binding v1.8.3. Thought i’d get it working on the stable release first. Do you think i should move to 2.0?

2.0 is the future :slight_smile:

Also, the KNX Binding is being prepared by the developers for many great things in 2.0.

I do recommend going to 2.0 Beta 4. It is very stable and I have it running for 4 months now without (major) hiccups.

Download 2.0 Beta 4 from here: https://bintray.com/openhab/mvn/openhab-distro (or even better, follow the apt-get instructions in the wiki below if you are deploying in a Linux host)
Installation wiki here: http://docs.openhab.org/installation/index.html

BR,
Dim

Have downloaded and will connect it up to my KNX tonight. UI looks great and the config appears much easier.

1 Like

Got 2.0 up and running!

Realised i had the wrong gateway address in the KNX IP router (was to my old b/band router that’s now changed. Should be 192.168.1.1 not 192.168.1.254

Have tried to connect, and getting the following new error…

2016-10-26 20:24:52.555 [ERROR] [nx.internal.connection.KNXConnection] - Error connecting to KNX bus: wrong KNX address syntax with 4 levels
2016-10-26 20:24:52.555 [WARN ] [nx.internal.connection.KNXConnection] - Initial connection to KNX bus failed!

What do you recon?

Hi @PeteW,

Check please your /etc/openhab2/services/knx.cfg file

For Router mode, it should have the following settings:

ip=224.0.23.12 # the Multicast IP
busaddr=0.0.1 # the PA of the dummy App for OpenHAB2
type=ROUTER # connection type for multicast
localIp=192.168.1.??? # your OpenHAB2 Host IP Address

BR,
Dim