KNX 3: Things stay OFFLINE although bridge is ONLINE

Hi everyone,
back in the days (2.5.0) I once migrated to KNX Binding v2, but due to the complexity I stayed on v1. The working knx.things file looked like this:

Bridge knx:ip:KNX “KNX” @ “KNX” [
type=“TUNNEL”,
ipAddress=“192.168.178.34”,
portNumber=3671,
localIp=“192.168.178.33”,
readingPause=50,
responseTimeout=10,
readRetriesLimit=3,
autoReconnectPeriod=30,
localSourceAddr=“1.1.2” ]
{
Thing device Schaltaktor_20fach_1 “Schaltaktor 20-fach 1” @ “KNX” [ address=“1.1.8”, fetch=false, pingInterval=600, readInterval=0 ]
{
Type switch : Steckdose_Schlafzimmer_Links “Steckdose Schlafzimmer Links” [ ga=“2/1/1” ]
Type switch : Steckdose_Schlafzimmer_Rechts “Steckdose Schlafzimmer Rechts” [ ga=“2/1/4” ]
Type switch : Elternbad “Elternbad” [ ga=“1/1/37” ]
Type switch : Elternbad_Spiegel “Elternbad Spiegel” [ ga=“1/1/43” ]
Type switch : Kind_Links “Kind Links” [ ga=“1/1/1” ]
Type switch : Kind_Rechts “Kind Rechts” [ ga=“1/1/8” ]
Type switch : GaesteWC “Gäste WC” [ ga=“1/2/8” ]
Type switch : Arbeitszimmer “Arbeitszimmer” [ ga=“1/2/1” ]
Type switch : Werkstatt “Werkstatt” [ ga=“1/3/1” ]
Type switch : Vorratsraum “Vorratsraum” [ ga=“1/3/22” ]
Type switch : Garderobe “Garderobe” [ ga=“1/1/30” ]
Type switch : Kinderbad “Kinderbad” [ ga=“1/1/15” ]
Type switch : Stufenbeleuchtung “Stufenbeleuchtung” [ ga=“1/1/58” ]
Type switch : Flur_OG “Flur OG” [ ga=“1/1/52” ]
Type switch : Schlafzimmer “Schlafzimmer” [ ga=“1/1/22” ]
Type switch : Speisekammer “Speisekammer” [ ga=“1/2/21” ]
Type switch : Flur_EG “Flur EG” [ ga=“1/2/35” ]
Type switch : Fitnessraum “Fitnessraum” [ ga=“1/3/8” ]
Type switch : Dachboden “Dachboden” [ ga=“1/1/50” ]
}}

Now I just got a new RPI and installed OH3 (openhabian) from scratch. I tried to install the bridge, things and channels one by one, but the individual things dont work (thus the underlying channels dont work either).

Here’s the yaml files:

UID: knx:ip:bridge
label: KNX
thingTypeUID: knx:ip
configuration:
useNAT: false
readRetriesLimit: 3
ipAddress: 192.168.178.34
localIp: 192.168.178.33
autoReconnectPeriod: 30
type: TUNNEL
localSourceAddr: 1.1.2
readingPause: 50
portNumber: 3671
responseTimeout: 10

The bridge is ONLINE

UID: knx:device:bridge:Schaltaktor_20fach_1
label: Schaltaktor_20fach_1
thingTypeUID: knx:device
configuration:
pingInterval: 600
address: 1.1.8
readInterval: 0
fetch: true
bridgeUID: knx:ip:bridge
channels:
– id: Steckdose_Schlafzimmer_Links
channelTypeUID: knx:switch
label: Steckdose_Schlafzimmer_Links
description: “”
configuration:
ga: 2/1/1

This thing is OFFLINE, of course the individual CHANNEL is not responding.

The external factors (IP Adress, KNX Configuration, etc) stayed the same, but the individual Things don’t change to ONLINE. If I just paste the whole knx.things file into the things-folder it looks the same: Bridge ONLINE, THINGS OFFLINE. Here’s the log-tail:

2021-02-26 17:36:46.361 [INFO ] [ab.event.ThingStatusInfoChangedEvent] - Thing ‘knx:ip:KNX’ changed from UNKNOWN to OFFLINE
2021-02-26 17:37:16.369 [INFO ] [ab.event.ThingStatusInfoChangedEvent] - Thing ‘knx:ip:KNX’ changed from UNKNOWN to ONLINE
2021-02-26 17:37:16.375 [INFO ] [ab.event.ThingStatusInfoChangedEvent] - Thing ‘knx:device:KNX:Schaltaktor_20fach_1’ changed from OFFLINE (BRIDGE_OFFLINE) to UNKNOWN
2021-02-26 17:37:33.393 [INFO ] [ab.event.ThingStatusInfoChangedEvent] - Thing ‘knx:device:KNX:Schaltaktor_20fach_1’ changed from UNKNOWN to OFFLINE

Any advice / idea?

From where did you take the yaml configuration? From the GUI tab Code? In this case the configuration properties, e.g. useNAT, should be indented. If I open the tab on my knx bridge configuration, it looks something like this:

UID: knx:ip:bridge
label: KNX/IP Gateway
thingTypeUID: knx:ip
configuration:
  useNAT: false
  readRetriesLimit: 3
  autoReconnectPeriod: 60
  type: ROUTER
  localSourceAddr: 0.0.0
  readingPause: 50
  portNumber: 3671
  responseTimeout: 10

Same with your channels. The channels should be indented.

Compare with mine here:

UID: knx:device:bridge:fd123e9d
label: Schaltaktor D2.1
thingTypeUID: knx:device
configuration:
  pingInterval: 600
  address: 1.0.10
  readInterval: 0
  fetch: false
bridgeUID: knx:ip:bridge
location: Technikraum
channels:
  - id: D
    channelTypeUID: knx:switch
    label: Deckenleuchte Schlafzimmer
    description: null
    configuration:
      ga: 6/1/10+<6/1/13

But that said, I use in my knx installation the knx binding with text file configuration in the file OPENHAB_HOME/conf/things/knx.things with content like this:

Bridge knx:ip:bridge [
        type="ROUTER",
        autoReconnectPeriod=60
] {
        Thing device fd123e9d "Schaltaktor D2.1" @ "Technikraum" [
                address="1.0.10"
        ] {
                Type switch : D "Deckenleuchte Schlafzimmer" [
                        ga="6/1/10+<6/1/13"
                ]
        }
}

This is exactly the same config, as shown above by the yaml files.

Maybe this is from another approach you made? I ask, because the bridge ID here is KNX and not bridge as shown in your examples. So the logs must be based on a config other than you used in this post.

Did you find a solution yet?

No not yet. I tried, but it kept failing, no matter what combination of configurations I tried. I decided to take a break from OH3. I’ll maybe try in a couple of weeks again.