KNX Gateway Disconnecting

Hi,
I have now migrated most of my installation to KNX2 on on OH2.4. However I am having problems with the KNX Gateway disconnecting after a certain number of days. I have not been able to locate anyone else with the exact same issue. This last time it ran for 10 days before failing. I am not seeing anything in the logs to indicate a problem, other than that the device is disconnecting from the KNX bus. Subsequent automatic reconnection attempts all fail. Only a restart gets things going again.

I am running on the official Docker container on a Synology NAS.

If any one has any clues, then I would be delighted to hear from you. Alternatively, any further diagnostic strategies that may give some info that TRACE is not. Config and logs below.

Kind Regards

Martin

Bridge knx:ip:WEINZIERL750 “WEINZIERL KNX/IP Router” @ “KNX” [
type=“TUNNEL”,
ipAddress=“192.168.1.200”,
portNumber=3671,
localIp=“192.168.1.19”,
readingPause=50,
responseTimeout=10,
readRetriesLimit=3,
autoReconnectPeriod=30,
localSourceAddr=“1.2.200” ]

When I started out with OH1.x I have tried ROUTER mode, but it did not work for me. So all the time on OH1.x, I have used TUNNEL.

2019-05-25 05:16:05.117 [TRACE] [g.knx.internal.dpt.KNXCoreTypeMapper] - toType datapoint DPT = 9.001
2019-05-25 05:16:05.122 [TRACE] [me.core.internal.events.EventHandler] - Handle OSGi event (event: org.osgi.service.event.Event [topic=smarthome] {topic=smarthome/items/Temperature_Ac_C_Kitchen/state, source=knx:device:WEINZIERL750:KitchenSW:Temperature_Ac_C_Kitchen, type=ItemStateEvent, payload={“type”:“Decimal”,“value”:“23.32”}, timestamp=1558761365121})
2019-05-25 05:16:05.126 [DEBUG] [.thing.internal.CommunicationManager] - Received event ‘23.32’ for non-existing channel ‘knx:device:WEINZIERL750:LandingSW:Temperature_Ac_C_Kitchen’, not forwarding it to the handler
2019-05-25 05:16:17.248 [TRACE] [me.core.internal.events.EventHandler] - Handle OSGi event (event: org.osgi.service.event.Event [topic=smarthome] {topic=smarthome/things/knx:device:WEINZIERL750:ZN110_27/status, type=ThingStatusInfoEvent, payload={“status”:“OFFLINE”,“statusDetail”:“NONE”}, timestamp=1558761377248})
2019-05-25 05:16:17.296 [DEBUG] [.knx.handler.AbstractKNXThingHandler] - Polling individual address ‘1.1.22’
2019-05-25 05:16:39.837 [TRACE] [me.core.internal.events.EventHandler] - Handle OSGi event (event: org.osgi.service.event.Event [topic=smarthome] {topic=smarthome/things/knx:device:WEINZIERL750:ABB_1/status, type=ThingStatusInfoEvent, payload={“status”:“OFFLINE”,“statusDetail”:“NONE”}, timestamp=1558761399836})
2019-05-25 05:16:55.045 [DEBUG] [.internal.handler.DeviceThingHandler] - onGroupWrite Thing ‘knx:device:WEINZIERL750:LandingSW’ received a GroupValueWrite telegram from ‘1.1.15’ for destination ‘2/0/27’
2019-05-25 05:16:55.927 [TRACE] [.internal.handler.DeviceThingHandler] - onGroupWrite Thing ‘knx:device:WEINZIERL750:LandingSW’ processes a GroupValueWrite telegram for destination ‘2/0/27’ for channel ‘knx:device:WEINZIERL750:LandingSW:Heating_Hall’
2019-05-25 05:16:56.027 [TRACE] [g.knx.internal.dpt.KNXCoreTypeMapper] - toType datapoint DPT = 1.001
2019-05-25 05:16:56.495 [TRACE] [me.core.internal.events.EventHandler] - Handle OSGi event (event: org.osgi.service.event.Event [topic=smarthome] {topic=smarthome/items/Heating_Hall/state, source=knx:device:WEINZIERL750:LandingSW:Heating_Hall, type=ItemStateEvent, payload={“type”:“OnOff”,“value”:“OFF”}, timestamp=1558761416474})
2019-05-25 05:25:00.632 [DEBUG] [.knx.handler.AbstractKNXThingHandler] - Polling individual address ‘1.1.15’
2019-05-25 05:25:05.596 [DEBUG] [nx.internal.client.AbstractKNXClient] - Bridge knx:ip:WEINZIERL750 is disconnecting from the KNX bus
2019-05-25 05:25:07.958 [DEBUG] [nx.internal.client.AbstractKNXClient] - Bridge knx:ip:WEINZIERL750 is connecting to the KNX bus
2019-05-25 05:25:09.264 [DEBUG] [binding.knx.internal.client.IPClient] - Establishing connection to KNX bus on 192.168.1.200:3671 in mode TUNNEL.
at tuwien.auto.calimero.knxnetip.ConnectionBase.waitForStateChange(ConnectionBase.java:541) ~[?:?]
at tuwien.auto.calimero.knxnetip.ClientConnection.connect(ClientConnection.java:190) ~[?:?]
at tuwien.auto.calimero.knxnetip.KNXnetIPTunnel.(KNXnetIPTunnel.java:159) ~[?:?]
at org.openhab.binding.knx.internal.client.IPClient.getConnection(IPClient.java:107) ~[?:?]
at org.openhab.binding.knx.internal.client.IPClient.createKNXNetworkLinkIP(IPClient.java:90) ~[?:?]
at org.openhab.binding.knx.internal.client.IPClient.establishConnection(IPClient.java:77) ~[?:?]
at org.openhab.binding.knx.internal.client.AbstractKNXClient.connect(AbstractKNXClient.java:178) ~[?:?]
at org.openhab.binding.knx.internal.client.AbstractKNXClient.connectIfNotAutomatic(AbstractKNXClient.java:164) ~[?:?]
at org.openhab.binding.knx.internal.client.AbstractKNXClient.readNextQueuedDatapoint(AbstractKNXClient.java:272) ~[?:?]
at org.openhab.binding.knx.internal.client.AbstractKNXClient.lambda$1(AbstractKNXClient.java:199) ~[?:?]
2019-05-25 05:28:12.549 [DEBUG] [nx.internal.client.AbstractKNXClient] - Bridge knx:ip:WEINZIERL750 is disconnecting from the KNX bus
2019-05-25 05:28:14.739 [TRACE] [me.core.internal.events.EventHandler] - Handle OSGi event (event: org.osgi.service.event.Event [topic=smarthome] {topic=smarthome/things/knx:ip:WEINZIERL750/status, type=ThingStatusInfoEvent, payload={“status”:“OFFLINE”,“statusDetail”:“COMMUNICATION_ERROR”}, timestamp=1558762094027})
2019-05-25 05:28:14.744 [TRACE] [me.core.internal.events.EventHandler] - Handle OSGi event (event: org.osgi.service.event.Event [topic=smarthome] {topic=smarthome/things/knx:ip:WEINZIERL750/statuschanged, type=ThingStatusInfoChangedEvent, payload=[{“status”:“OFFLINE”,“statusDetail”:“COMMUNICATION_ERROR”},{“status”:“ONLINE”,“statusDetail”:“NONE”}], timestamp=1558762094052})
2019-05-25 05:28:15.001 [TRACE] [me.core.internal.events.EventHandler] - Handle OSGi event (event: org.osgi.service.event.Event [topic=smarthome] {topic=smarthome/things/knx:device:WEINZIERL750:ZN110_1/status, type=ThingStatusInfoEvent, payload={“status”:“OFFLINE”,“statusDetail”:“BRIDGE_OFFLINE”}, timestamp=1558762095001})

Please use code fences for configuration and logs. This will prevent alteration from discourse (e.g. quotation marks)

Thank you for the instruction. Hopefully this is better:

2019-05-25 05:16:05.117 [TRACE] [g.knx.internal.dpt.KNXCoreTypeMapper] - toType datapoint DPT = 9.001
2019-05-25 05:16:05.122 [TRACE] [me.core.internal.events.EventHandler] - Handle OSGi event (event: org.osgi.service.event.Event [topic=smarthome] {topic=smarthome/items/Temperature_Ac_C_Kitchen/state, source=knx:device:WEINZIERL750:KitchenSW:Temperature_Ac_C_Kitchen, type=ItemStateEvent, payload={“type”:“Decimal”,“value”:“23.32”}, timestamp=1558761365121})
2019-05-25 05:16:05.126 [DEBUG] [.thing.internal.CommunicationManager] - Received event ‘23.32’ for non-existing channel ‘knx:device:WEINZIERL750:LandingSW:Temperature_Ac_C_Kitchen’, not forwarding it to the handler
2019-05-25 05:16:17.248 [TRACE] [me.core.internal.events.EventHandler] - Handle OSGi event (event: org.osgi.service.event.Event [topic=smarthome] {topic=smarthome/things/knx:device:WEINZIERL750:ZN110_27/status, type=ThingStatusInfoEvent, payload={“status”:“OFFLINE”,“statusDetail”:“NONE”}, timestamp=1558761377248})
2019-05-25 05:16:17.296 [DEBUG] [.knx.handler.AbstractKNXThingHandler] - Polling individual address ‘1.1.22’
2019-05-25 05:16:39.837 [TRACE] [me.core.internal.events.EventHandler] - Handle OSGi event (event: org.osgi.service.event.Event [topic=smarthome] {topic=smarthome/things/knx:device:WEINZIERL750:ABB_1/status, type=ThingStatusInfoEvent, payload={“status”:“OFFLINE”,“statusDetail”:“NONE”}, timestamp=1558761399836})
2019-05-25 05:16:55.045 [DEBUG] [.internal.handler.DeviceThingHandler] - onGroupWrite Thing ‘knx:device:WEINZIERL750:LandingSW’ received a GroupValueWrite telegram from ‘1.1.15’ for destination ‘2/0/27’
2019-05-25 05:16:55.927 [TRACE] [.internal.handler.DeviceThingHandler] - onGroupWrite Thing ‘knx:device:WEINZIERL750:LandingSW’ processes a GroupValueWrite telegram for destination ‘2/0/27’ for channel ‘knx:device:WEINZIERL750:LandingSW:Heating_Hall’
2019-05-25 05:16:56.027 [TRACE] [g.knx.internal.dpt.KNXCoreTypeMapper] - toType datapoint DPT = 1.001
2019-05-25 05:16:56.495 [TRACE] [me.core.internal.events.EventHandler] - Handle OSGi event (event: org.osgi.service.event.Event [topic=smarthome] {topic=smarthome/items/Heating_Hall/state, source=knx:device:WEINZIERL750:LandingSW:Heating_Hall, type=ItemStateEvent, payload={“type”:“OnOff”,“value”:“OFF”}, timestamp=1558761416474})
2019-05-25 05:25:00.632 [DEBUG] [.knx.handler.AbstractKNXThingHandler] - Polling individual address ‘1.1.15’
2019-05-25 05:25:05.596 [DEBUG] [nx.internal.client.AbstractKNXClient] - Bridge knx:ip:WEINZIERL750 is disconnecting from the KNX bus
2019-05-25 05:25:07.958 [DEBUG] [nx.internal.client.AbstractKNXClient] - Bridge knx:ip:WEINZIERL750 is connecting to the KNX bus
2019-05-25 05:25:09.264 [DEBUG] [binding.knx.internal.client.IPClient] - Establishing connection to KNX bus on 192.168.1.200:3671 in mode TUNNEL.
at tuwien.auto.calimero.knxnetip.ConnectionBase.waitForStateChange(ConnectionBase.java:541) ~[?:?]
at tuwien.auto.calimero.knxnetip.ClientConnection.connect(ClientConnection.java:190) ~[?:?]
at tuwien.auto.calimero.knxnetip.KNXnetIPTunnel.(KNXnetIPTunnel.java:159) ~[?:?]
at org.openhab.binding.knx.internal.client.IPClient.getConnection(IPClient.java:107) ~[?:?]
at org.openhab.binding.knx.internal.client.IPClient.createKNXNetworkLinkIP(IPClient.java:90) ~[?:?]
at org.openhab.binding.knx.internal.client.IPClient.establishConnection(IPClient.java:77) ~[?:?]
at org.openhab.binding.knx.internal.client.AbstractKNXClient.connect(AbstractKNXClient.java:178) ~[?:?]
at org.openhab.binding.knx.internal.client.AbstractKNXClient.connectIfNotAutomatic(AbstractKNXClient.java:164) ~[?:?]
at org.openhab.binding.knx.internal.client.AbstractKNXClient.readNextQueuedDatapoint(AbstractKNXClient.java:272) ~[?:?]
at org.openhab.binding.knx.internal.client.AbstractKNXClient.lambda$1(AbstractKNXClient.java:199) ~[?:?]
2019-05-25 05:28:12.549 [DEBUG] [nx.internal.client.AbstractKNXClient] - Bridge knx:ip:WEINZIERL750 is disconnecting from the KNX bus
2019-05-25 05:28:14.739 [TRACE] [me.core.internal.events.EventHandler] - Handle OSGi event (event: org.osgi.service.event.Event [topic=smarthome] {topic=smarthome/things/knx:ip:WEINZIERL750/status, type=ThingStatusInfoEvent, payload={“status”:“OFFLINE”,“statusDetail”:“COMMUNICATION_ERROR”}, timestamp=1558762094027})
2019-05-25 05:28:14.744 [TRACE] [me.core.internal.events.EventHandler] - Handle OSGi event (event: org.osgi.service.event.Event [topic=smarthome] {topic=smarthome/things/knx:ip:WEINZIERL750/statuschanged, type=ThingStatusInfoChangedEvent, payload=[{“status”:“OFFLINE”,“statusDetail”:“COMMUNICATION_ERROR”},{“status”:“ONLINE”,“statusDetail”:“NONE”}], timestamp=1558762094052})
2019-05-25 05:28:15.001 [TRACE] [me.core.internal.events.EventHandler] - Handle OSGi event (event: org.osgi.service.event.Event [topic=smarthome] {topic=smarthome/things/knx:device:WEINZIERL750:ZN110_1/status, type=ThingStatusInfoEvent, payload={“status”:“OFFLINE”,“statusDetail”:“BRIDGE_OFFLINE”}, timestamp=1558762095001})

No, not better. It’s really simple to paste code or logs:

  1. type 6 backticks in a row (german keyboard layout: the key left to backspace and right to questionmark, don’t forget to <shift>
  2. three ticks back with the cursor, new line
  3. paste code between the two rows

```

This is your code.
When using more than one line, it's a Block, not a bunch of lines.

```
You could also use the button in the forum editor, but unfortunately the button is invisible. it’s at the left side of the gear. Hover text does work, so it’s possible to find the invisible button :wink:

Thank you Udo!

2019-05-25 05:16:05.126 [DEBUG] [.thing.internal.CommunicationManager] - Received  event '23.32' for non-existing channel 'knx:device:WEINZIERL750:LandingSW:Temperature_Ac_C_Kitchen', not forwarding it to the handler
2019-05-25 05:16:17.248 [TRACE] [me.core.internal.events.EventHandler] - Handle OSGi event (event: org.osgi.service.event.Event [topic=smarthome] {topic=smarthome/things/knx:device:WEINZIERL750:ZN110_27/status, type=ThingStatusInfoEvent, payload={"status":"OFFLINE","statusDetail":"NONE"}, timestamp=1558761377248})
2019-05-25 05:16:17.296 [DEBUG] [.knx.handler.AbstractKNXThingHandler] - Polling individual address '1.1.22'
2019-05-25 05:16:39.837 [TRACE] [me.core.internal.events.EventHandler] - Handle OSGi event (event: org.osgi.service.event.Event [topic=smarthome] {topic=smarthome/things/knx:device:WEINZIERL750:ABB_1/status, type=ThingStatusInfoEvent, payload={"status":"OFFLINE","statusDetail":"NONE"}, timestamp=1558761399836})
2019-05-25 05:16:55.045 [DEBUG] [.internal.handler.DeviceThingHandler] - onGroupWrite Thing 'knx:device:WEINZIERL750:LandingSW' received a GroupValueWrite telegram from '1.1.15' for destination '2/0/27'
2019-05-25 05:16:55.927 [TRACE] [.internal.handler.DeviceThingHandler] - onGroupWrite Thing 'knx:device:WEINZIERL750:LandingSW' processes a GroupValueWrite telegram for destination '2/0/27' for channel 'knx:device:WEINZIERL750:LandingSW:Heating_Hall'
2019-05-25 05:16:56.027 [TRACE] [g.knx.internal.dpt.KNXCoreTypeMapper] - toType datapoint DPT = 1.001
2019-05-25 05:16:56.495 [TRACE] [me.core.internal.events.EventHandler] - Handle OSGi event (event: org.osgi.service.event.Event [topic=smarthome] {topic=smarthome/items/Heating_Hall/state, source=knx:device:WEINZIERL750:LandingSW:Heating_Hall, type=ItemStateEvent, payload={"type":"OnOff","value":"OFF"}, timestamp=1558761416474})
2019-05-25 05:25:00.632 [DEBUG] [.knx.handler.AbstractKNXThingHandler] - Polling individual address '1.1.15'
2019-05-25 05:25:05.596 [DEBUG] [nx.internal.client.AbstractKNXClient] - Bridge knx:ip:WEINZIERL750 is disconnecting from the KNX bus
2019-05-25 05:25:07.958 [DEBUG] [nx.internal.client.AbstractKNXClient] - Bridge knx:ip:WEINZIERL750 is connecting to the KNX bus
2019-05-25 05:25:09.264 [DEBUG] [binding.knx.internal.client.IPClient] - Establishing connection to KNX bus on 192.168.1.200:3671 in mode TUNNEL.
	at tuwien.auto.calimero.knxnetip.ConnectionBase.waitForStateChange(ConnectionBase.java:541) ~[?:?]
	at tuwien.auto.calimero.knxnetip.ClientConnection.connect(ClientConnection.java:190) ~[?:?]
	at tuwien.auto.calimero.knxnetip.KNXnetIPTunnel.<init>(KNXnetIPTunnel.java:159) ~[?:?]
	at org.openhab.binding.knx.internal.client.IPClient.getConnection(IPClient.java:107) ~[?:?]
	at org.openhab.binding.knx.internal.client.IPClient.createKNXNetworkLinkIP(IPClient.java:90) ~[?:?]
	at org.openhab.binding.knx.internal.client.IPClient.establishConnection(IPClient.java:77) ~[?:?]
	at org.openhab.binding.knx.internal.client.AbstractKNXClient.connect(AbstractKNXClient.java:178) ~[?:?]
	at org.openhab.binding.knx.internal.client.AbstractKNXClient.connectIfNotAutomatic(AbstractKNXClient.java:164) ~[?:?]
	at org.openhab.binding.knx.internal.client.AbstractKNXClient.readNextQueuedDatapoint(AbstractKNXClient.java:272) ~[?:?]
	at org.openhab.binding.knx.internal.client.AbstractKNXClient.lambda$1(AbstractKNXClient.java:199) ~[?:?]
2019-05-25 05:28:12.549 [DEBUG] [nx.internal.client.AbstractKNXClient] - Bridge knx:ip:WEINZIERL750 is disconnecting from the KNX bus
2019-05-25 05:28:14.739 [TRACE] [me.core.internal.events.EventHandler] - Handle OSGi event (event: org.osgi.service.event.Event [topic=smarthome] {topic=smarthome/things/knx:ip:WEINZIERL750/status, type=ThingStatusInfoEvent, payload={"status":"OFFLINE","statusDetail":"COMMUNICATION_ERROR"}, timestamp=1558762094027})
2019-05-25 05:28:14.744 [TRACE] [me.core.internal.events.EventHandler] - Handle OSGi event (event: org.osgi.service.event.Event [topic=smarthome] {topic=smarthome/things/knx:ip:WEINZIERL750/statuschanged, type=ThingStatusInfoChangedEvent, payload=[{"status":"OFFLINE","statusDetail":"COMMUNICATION_ERROR"},{"status":"ONLINE","statusDetail":"NONE"}], timestamp=1558762094052})
2019-05-25 05:28:15.001 [TRACE] [me.core.internal.events.EventHandler] - Handle OSGi event (event: org.osgi.service.event.Event [topic=smarthome] {topic=smarthome/things/knx:device:WEINZIERL750:ZN110_1/status, type=ThingStatusInfoEvent, payload={"status":"OFFLINE","statusDetail":"BRIDGE_OFFLINE"}, timestamp=1558762095001})

Much better :slight_smile:

As this is your Bridge:

Bridge knx:ip:WEINZIERL750 "WEINZIERL KNX/IP Router" @ "KNX" [
    type="TUNNEL",
    ipAddress="192.168.1.200",
    portNumber=3671,
    localIp="192.168.1.192",
    readingPause=50,
    responseTimeout=10,
    readRetriesLimit=3,
    autoReconnectPeriod=30,
    localSourceAddr="1.2.200"
]

Please as a first test, use localSourceAddr="0.0.0"
It’s very likely that you don’t need to set localIp at all. Other parameters are default values.

There are error messages about non-existing channels, so please post the things, too.
If you did setup fetch=true for things, please set them to fetch=false. This feature is only nice to have for now, and it’s still beta.

Router mode should work if configured correctly:

Bridge knx:ip:WEINZIERL750 "WEINZIERL KNX/IP Router" @ "KNX" [
    type="ROUTER",
    // ipAddress="224.0.23.12", // optional, as this is default
    // portNumber=3671,         // optional, as this is default
    localIp="192.168.1.192",
    // readingPause=50,         // optional, as this is default
    // responseTimeout=10,      // optional, as this is default
    // readRetriesLimit=3,      // optional, as this is default
    // autoReconnectPeriod=30,  // optional, as this is default
    localSourceAddr="0.0.0"     // optional, as this is default
]

Hi Udo, The things file below is before I make any changes. I will make the changes of setting fetch to false, and the address to 0.0.0, then restart my system. I will also try Router mode - I think it was OH1.5 when I last tried it. It can take a while to fail - 10 days last time was a pretty good run. Normally it has been 4-5 days. There are only two wall switches configured at the moment. I have another 5 to configure - I am only planning on setting up the the switches which have integrated temperature controllers.

Bridge	knx:ip:WEINZIERL750 "WEINZIERL KNX/IP Router" @ "KNX" [
	type="TUNNEL",
	ipAddress="192.168.1.200",
	portNumber=3671,
	localIp="192.168.1.19",
	readingPause=50,
	responseTimeout=10,
	readRetriesLimit=3,
	autoReconnectPeriod=30,
	localSourceAddr="1.2.200" ]
{
Thing device ZN110_1 "Switch Actuator 1.1.1" @ "KNX" [ 
		address="1.1.1", 
		fetch=true, 
		pingInterval=600, 
		readInterval=0 ]
		{
		//1
		Type switch : Light_GF_Kitchen_Tall         "Tall Cupboards (K1)"     [ ga="1/0/0+<1/0/1" ]
    Type switch : Light_GF_Kitchen_Ovens        "Ovens (K2)"              [ ga="1/0/2+<1/0/3" ]
    Type switch : Light_GF_Kitchen_Work         "Worksurface (K3)"        [ ga="1/0/4+<1/0/5" ]
    Type switch : Light_GF_Kitchen_Seating      "TV Seating (K4)"         [ ga="1/0/6+<1/0/7" ]
    //5
    Type switch : Light_GF_Living_Room_Lamp     "Table Lamps (Wall)"      [ ga="1/0/142+<1/0/143" ]
    Type switch : Light_GF_Kitchen_Bar_Prep     "Bar Prep"                [ ga="1/0/14+<1/0/15" ]
    Type switch : Light_GF_Kitchen_Bar_Uplights "Cirved Wall Uplights"    [ ga="1/0/16+<1/0/17" ]
    Type switch : Light_GF_Hall_Down            "Downlights"              [ ga="1/0/26+<1/0/27" ]
    //9
    Type switch : Light_GF_Hall_Socket         "Wall Socket Xmas"        [ ga="1/0/28+<1/0/29" ]
    Type switch : Light_GF_Cloakroom            "Cloakroom"               [ ga="1/0/90+<1/0/91" ]
    Type switch : Light_GF_Utility2             "Corridor"                [ ga="1/0/108+<1/0/109" ]
    Type switch : Light_FF_EN3                  "En Suite 3"              [ ga="1/0/26+<1/0/27"]
    //13
    Type switch : Light_GF_Living_Chimney_Wall  "Chimney Breast Wall"     [ ga="1/0/48+<1/0/49" ]
    Type switch : Light_GF_Kitchen_Plinth       "Island Low Level Light"  [ ga="1/0/20+<1/0/21" ]
    Type switch : Light_EXT_C2_Unused           "External (C2 unused)"    [ ga="1/0/144+<1/0/145" ]
    Type switch : Heating_Pump_2                "Tall Cupboards (K1)"     [ ga="2/0/43+<2/0/44" ]
  }




Thing device ZN110_2 "Switch Actuator 1.1.2" @ "KNX" [ 
  address="1.1.2", 
  fetch=false, 
  pingInterval=600, 
  readInterval=0 ]
  {
    //1
    Type switch : Light_FF_DR1                  "Dressing Room"           [ ga="1/0/88+<1/0/89" ]
    Type switch : Light_GF_Kitchen_Console      "Centre Console"          [ ga="1/0/18+<1/0/19" ]
    Type switch : Light_GF_Kitchen_Table_Ends   "Kitchen  table ends"     [ ga="1/0/92+<1/0/93" ]
    Type switch : Light_FF_EN2                  "En Suite Downlights"     [ ga="1/0/82+<1/0/83" ]
    //5
    Type switch : Light_FF_Master_Bed_DL_Loung  "Downlighters"            [ ga="1/0/68+<1/0/69" ]
    Type switch : Light_FF_Master_Bed_UL_Curve  "Uplighters Curve"        [ ga="1/0/70+<1/0/71" ]
    Type switch : Light_GF_Hall_Wall            "Wall"                    [ ga="1/0/34+<1/0/35" ]
    Type switch : Light_FF_Terrace_Wall         "Terrace"                 [ ga="1/0/78+<1/0/79" ]
    //9
    Type switch : Light_GF_Study_Main           "Study Main"              [ ga="1/0/94+<1/0/95" ]
    Type switch : Light_GF_Study_Wall           "Study Wall"              [ ga="1/0/96+<1/0/97" ]
    Type switch : Light_FF_Ensuite_Chand        "Chandalier"              [ ga="1/0/98+<1/0/99" ]
    Type switch : Light_FF_Balcony              "Balcony"                 [ ga="1/0/100+<1/0/101" ]
    //13
    Type switch : Light_EXT_Balcony_Down        "Balcony Downlights"      [ ga="1/0/102+<1/0/103" ]
    Type switch : Light_FF_Master_Bed_DL_Corner "Corner Downlight"        [ ga="1/0/66+<1/0/67" ]
    Type switch : Light_GF_Kitchen_Lamp         "Settee Lamp"             [ ga="1/0/10+<1/0/11" ]
    Type switch : Light_GF_Hall_Fish            "Fish"                    [ ga="1/0/36+<1/0/37" ]
  }


Thing device ZN110_3 "Switch Actuator 1.1.3" @ "KNX" [ 
  address="1.1.3", 
  fetch=false, 
  pingInterval=600, 
  readInterval=0 ]
  {
    //1
    Type switch : Light_GF_Garden_Chand_L     	"Chandalier Left"       	[ ga="1/0/50+<1/0/51" ]
    Type switch : Light_GF_Garden_Chand_Ctr     "Chandalier Ctr"          [ ga="1/0/52+<1/0/53" ]
    Type switch : Light_GF_Garden_Chand_R       "Chandalier Right"        [ ga="1/0/54+<1/0/55" ]
    Type switch : Light_GF_Garden_Down_Wind     "Downlighters Window"     [ ga="1/0/56+<1/0/57" ]
    //5
    Type switch : Light_GF_Utility1           	"Utility Lights"          [ ga="1/0/22+<1/0/23" ]
    Type switch : Light_GF_Garden_Down_Wall     "Downlighters Wall"       [ ga="1/0/58+<1/0/59" ]
    Type switch : Light_GF_Living1          		"Downlighters Garden Room End"[ ga="1/0/38+<1/0/39" ]
    Type switch : Light_GF_Living2          		"Downlighters Centre"      [ ga="1/0/40+<1/0/41" ]
    //9
    Type switch : Light_GF_Living3              "Downlighters BiFold "    [ ga="1/0/42+<1/0/43" ]
    Type switch : Light_GF_Living5              "Chimney Breast Inside"   [ ga="1/0/46+<1/0/47" ]
    Type switch : Light_GF_Hall_Globe          "Globe"                   [ ga="1/0/30+<1/0/31" ]
    Type switch : Light_GF_Hall_Table_Door      "Door Table Lights"       [ ga="1/0/104+<1/0/105" ]
    //13
    Type switch : Light_FF_Landing           "Landing"              [ ga="1/0/84+<1/0/85" ]
    Type switch : Light_EXT_Terrace_Wall     "Terrace Wall Lights"  [ ga="1/0/76+<1/0/77" ]
    Type switch : Light_EXT_Front_Door       "Outside Front Door"   [ ga="1/0/104+<1/0/105" ]
    Type switch : Light_GF_Kitchen_Curtain_LED  "Curtain Lights"    [ ga="1/0/106+<1/0/107" ]
  }
  
  
Thing device ZN110_27 "Switch Actuator 1.1.27" @ "KNX" [ 
  address="1.1.27", 
  fetch=false, 
  pingInterval=600, 
  readInterval=0 ]
  {
    //1
    Type switch : Light_GF_Kitchen_Plinth2        "Plinth2"              [ ga="1/0/110+<1/0/111" ]
    Type switch : Light_GF_Kitchen_Bar_Under      "Bar Under"            [ ga="1/0/112+<1/0/113" ]
    Type switch : Light_GF_Cupbard_Kitchen_Bar    "Glass Cupboard"       [ ga="1/0/114+<1/0/115" ]
    Type switch : Light_EXT_Rear_Flood           "Rear Flood"            [ ga="1/0/116+<1/0/117" ]
    //5
    Type switch : Light_EXT_Utility             "Utility/Garage Wall"              [ ga="1/0/118+<1/0/119" ]
    Type switch : Light_EXT_Garden_Room_Wall    "Garden Room outside lights"       [ ga="1/0/120+<1/0/121" ]
    Type switch : Light_EXT_Rear_Flood_Bedroom  "Flood Light above Bedroom"        [ ga="1/0/122+<1/0/123" ]
    Type switch : UNKNOWN                       "UNKNOWN"                          [ ga="1/0/124+<1/0/125" ]
    //9
    Type switch : Light_EXT_Curve               "Curve Lighting"                  [ ga="1/0/126+<1/0/127" ]
    Type switch : Light_EXT_Drive               "Runway Lights"                   [ ga="1/0/128+<1/0/129" ]
    Type switch : Light_EXT_Gate_D1             "Gate"                            [ ga="1/0/130+<1/0/131" ]
    Type switch : Light_EXT_Pond_B2             "Garden Room Pond"                [ ga="1/0/132+<1/0/133" ]
    //13
    Type switch : Light_EXT_Patio_Kitchen        "Patio Kitchen"                   [ ga="1/0/134+<1/0/135" ]
    Type switch : Light_EXT_Patio_Garden_Room   "Patio Garden"                    [ ga="1/0/136+<1/0/137" ]
    Type switch : Light_EXT_D3                  "Spare"                           [ ga="1/0/138+<1/0/139" ]
    Type switch : Water_EXT_Curve_Water         "Curve water feature"             [ ga="1/0/140+<1/0/141" ]
  }
  
  



//ABB_2_way_dimmer_UD/S_2.300.2
Thing device  ABB_1 "Dimmer Actuator 1.1.22" @ "KNX" [ 
  address="1.1.22", 
  fetch=false, 
  pingInterval=600, 
  readInterval=0 ]
  {
          Type dimmer        : Light_FF_Bedroom_Chand        "Chandeliers"      [ switch="1/0/64+<1/0/65", position="1/1/3+<1/1/5", increaseDecrease="1/1/4" ]
          Type dimmer        : Light_GF_Kitchen_Table        "Table"            [ switch="1/0/8+<1/0/9", increaseDecrease="1/1/1", position="1/1/0+<1/1/2" ]
          Type switch       : Light_GF_Kitchen_Table_SW        "Table"          [ ga="1/0/8+<1/0/9"]

 
  }


Thing device LandingSW "Wall Switch/Temp 1.1.15" @ "KNX" [ 
		address="1.1.15", 
		fetch=true, 
		pingInterval=600, 
		readInterval=0 ]
		{
		//24 Act Temp
		//25 Basic Setpoint
		//26 Op Mode
		//27 Value
		//28 Setpoint
		//29 Heating Request
		Type number : Temp_Setpoint_C_Hall          "Hall Setpoint"           [ ga="2/0/25+<2/0/28" ]
		Type number : Temperature_Ac_C_Hall         "Hall Temperature"        [ ga="2/0/24" ]
    Type switch : Heating_Req_Hall              "Heat Hall"               [ ga="2/0/29" ]
    Type switch : Heating_Hall                  "Heating Hall"            [ ga="2/0/27" ]
    }




Thing device KitchenSW "Wall Switch/Temp 1.1.10" @ "KNX" [ 
		address="1.1.10", 
		fetch=true, 
		pingInterval=600, 
		readInterval=0 ]
		{
		//0 Act Temp
		//1 Basic Setpoint
		//2 Op Mode
		//3 Value
		//4 Setpoint
		//5 Heating Request
		Type number : Temp_Setpoint_C_Kitchen          "Kitchen Setpoint"           [ ga="2/0/1+<2/0/4" ]
		Type number : Temperature_Ac_C_Kitchen       "Kitchen Temperature"        [ ga="2/0/0" ]
    Type switch : Heating_Req_Kitchen              "Heat Kitchen"               [ ga="2/0/5" ]
    Type switch : Heating_Kitchen                  "Heating Kitchen"           [ ga="2/0/3" ]
    }
}


and I now have it running with

type=“ROUTER”,
// ipAddress=“192.168.1.200”,
// portNumber=3671,
// localIp=“192.168.1.19”,
// readingPause=50,
// responseTimeout=10,
// readRetriesLimit=3,
// autoReconnectPeriod=30,
localSourceAddr=“0.0.0” ]

@Udo_Hartmann

As my OH2.4/KNX has now been running for 18 days, the longest period so far by a long way, it looks like your recomendations have worked well. Your support is much appreciated.
Thank you, Martin.

1 Like

That’s good news :slight_smile:

Hello,

I have a KNX IP router, and I want to use it with OpenHAB version 4.3.2 to control my KNX system. However, I haven’t been able to make it work. I installed the KNX binding from the Add-on Store and configured the router’s IP settings, but the device is not recognized. Could you please guide me step by step on how to resolve this issue?

Thank you in advance!

Is it a knx/IP router or a knx/IP tunnel Gateway? Which model?

If using the router mode, all you need to do is to set the mode to ROUTER. knx/IP routers use multicast IP 224.0.23.12. So you should not need to configure that part.
Please set localIp to the IP of your openHAB Server. Please leave all other parameters empty.

If using the tunnel mode, you will need to set ipAddress to the IP of the gateway (most likely 192.168.x.y, where x and y depend on your configuration). all other parameters should stay untouched.
The gateway should change online within seconds.

Thank you for your response. The configuration below works perfectly with version 3.4.4. I save these settings as a .things file and place it in the things folder, and my device comes online without any issues. However, when I load the same configuration in the latest version, I receive an error stating that the device is not ready. Could you please provide an example configuration compatible with version 4?

Best regards.

// Router Bridge
Bridge knx:ip:router [
type=“TUNNEL”,
ipAddress=“10.2.202.249”,
portNumber=3671,
localIp=“10.2.202.136”,
readingPause=50,
responseTimeout=10,
readRetriesLimit=3,
autoReconnectPeriod=60,
localSourceAddr=“1.1.0”
]

Example (from the Code Tab in MainUI) of an MDT Gateways working fine below.
LocalSourceAddr should be 0.0.0 I guess.

UID: knx:ip:MDTSecureGateway
label: KNX/IP Gateway MDT Secure
thingTypeUID: knx:ip
configuration:
  useNAT: false
  readRetriesLimit: 3
  ipAddress: 192.168.1.101
  autoReconnectPeriod: 30
  localIp: 192.168.1.210
  readingPause: 50
  type: TUNNEL
  localSourceAddr: 0.0.0
  portNumber: 3671
  responseTimeout: 15

This is my configuration (works since ~OH2.3):

Bridge knx:ip:bridge "Weinzierl 730 IP" [ 
    ipAddress="192.168.178.77", // IP of the gateway
    localIp="192.168.178.66",   // IP of openHAB itself
    type="TUNNEL", 
    portNumber=3671,            // default
    readingPause=50,            // default
    responseTimeout=10,         // default
    readRetriesLimit=3,         // default
    autoReconnectPeriod=60,     // default
    localSourceAddr="0.0.0"     // default
 ]

So it looks more or less the same as yours (except local source address, which should normally be set to 0.0.0)
Please be aware that localSourceAddress must not be a individual address of any hardware at the knx bus. It has to be an unassigned individual address, or at least there must not be any hardware which uses this address, including the interface (!)




Thank you for your responses. I was unable to get it working with version 4, but my device functions correctly in version 3. I have another question. I add the devices shown in the attached screenshot to the things folder. However, when I add a switch in the items section of the web interface and click on Add Link, I select the actuator I want to control from the things section and click confirm. Despite this, the “loading” message remains stuck on the screen, and the process doesn’t proceed further. What could be the cause of this issue?

Thank you in advance.

Best regards.

I have no idea. Sometimes there are caching problems in the browser
?

In question of your thing: please set fetch to false an readInterval to 0.
fetch is to get additional information about the device, but there are many devices which don’t support the query, this can lead to problems, and there is no real functionality here.
readInterval is to enforce read requests for all queryable group addresses of this thing. This is only necessary if the device itself is not able to send on changed values, and therefor another device has to query the value active. And you didn’t configure a group address to be queryable anyway.