[SOLVED] KNXnet/IP Routing (Enertex): no KNX-Bus Communication

Hey there,

because of having started with openhab today, i’m not very into it yet.

Sytem

First i would like to introduce my system and its components:

KNX<->IP-Gateway: Enertex-KNXnet-IP-Router
platform: PineA64 2 GB (with Wlan/BT-Modul)
OS: Linux openHABianPine64 3.10.105-0-pine64-longsleep
OH-Version: 2.2.0

My Pain

Multicast-Address

First i got the “invalid Multicast address”-Error, because the official docs lead me to enter the real Router-IP into the knx.cfg, but with the help of an other thread(conclusion: use the multicast-address), the problem could be fixed and the KNX-Binding in Router-Mode seemed to be up and running.

No Communication with KNX

For binding-tests i’d created an simple switch of lights.
In TUNNEL-Mode, OH2 is able to switch the lights on and off. Also it responds, when the switch has been acuated elsewhere.
but :confounded:
if in ROUTER-mode, OH2 did not respond to any (external) change of the switch, neither is it able to switch it by itself.

Configs

knx.cfg

ip=224.0.23.12
busaddr=15.15.250
ignorelocalevents=true
type=ROUTER
localIp=192.168.178.30

openhab-console

openhab> config:list "(service.pid=org.openhab.knx)"
----------------------------------------------------------------
Pid:            org.openhab.knx
BundleLocation: 
mvn:org.openhab.binding/org.openhab.binding.knx/1.11.0
Properties:
   busaddr = 15.15.250
   ignorelocalevents = true
   ip = 224.0.23.12
   localIp = 192.168.178.30
   service.pid = org.openhab.knx
   type = ROUTER

knx-test-item (which does its work in TUNNEL-Mode

Switch Lights_Office “Lights in the Office” (lights) { knx=“1.001:1/1/16+1/4/16” }

netstat -i

Iface   MTU Met   RX-OK RX-ERR RX-DRP RX-OVR    TX-OK TX-
ERR TX-DRP TX-OVR Flg
eth0       1500 0     12594      0      0 0          6477      0      0      0 BMRU
lo        65536 0       442      0      0 0           442      0      0      0 LRU

openhab.log

2018-01-25 00:21:10.101 [INFO ] [nx.internal.connection.KNXConnection] - Established connection to KNX bus on 224.0.23.12:3671 in mode ROUTER.

If u know some additional possibilities to get helping information, i would love to hear them… i would appriciate some hints for fixing that problem also.

sincerely

Zandi

Hi Andreas & welcome to the openHAB world :slight_smile: (very nice overview of the issue by the way!)

Enable TRACE on the following 2 from the openHAB console:

log:set TRACE org.openhab.binding.knx
log:set TRACE tuwien.auto.calimero

switch on/off some KNX bound items from OH2 and post the logs.

One possible root-cause is that your KNX IP Router is filtering the telegrams (i.e. blocking them as a firewall)
This can be fixed but you will need to use ETS to reprogram the Router (if logs point to this direction)

By the way: Can you use ETS to connect to the Router in multicast mode? What is the PA of the Router?

telnet into your Enertex Router and post the output of: lcconfig , stats, and tpconfig

calling additional KNX users & experts for additional support to help you troubleshoot: @Udo_Hartmann @george.erhan @PeteW @binderth @watou @teichsta @kgoderis (I forgot many others, for sure :stuck_out_tongue: )

hello,

first, i’m wanne thank you for your reply.

trace.log

2018-01-25 20:09:19.176 [ome.event.ItemCommandEvent] - Item 'Licht_Arbeitszimmer' received command ON

==> /var/log/openhab2/openhab.log <==

2018-01-25 20:09:19.182 [TRACE] [g.knx.internal.dpt.KNXCoreTypeMapper] - toTypeClass looking for dptId = 1.001

2018-01-25 20:09:19.190 [TRACE] [.binding.knx.internal.bus.KNXBinding] - found 1 compatible datapoints for item Licht_Arbeitszimmer (org.openhab.core.library.types.OnOffType)

2018-01-25 20:09:19.204 [INFO ] [tuwien.auto.calimero                ] - calimero.link.224.0.23.12:3671: send message to 1/1/16, wait for confirmation

2018-01-25 20:09:19.207 [DEBUG] [tuwien.auto.calimero                ] - calimero.link.224.0.23.12:3671: cEMI L-Data.ind from 1.0.0 to 1/1/16, low priority hop count 6 tpdu 00 81

2018-01-25 20:09:19.208 [DEBUG] [tuwien.auto.calimero                ] - KNXnet/IP Routing 224.0.23.12:3671: add to multicast loopback frame buffer: L-Data.ind from 1.0.0 to 1/1/16, low priority hop count 6 tpdu 00 81

2018-01-25 20:09:19.212 [DEBUG] [tuwien.auto.calimero                ] - KNXnet/IP Routing 224.0.23.12:3671: sending cEMI frame seq 0, non-blocking, attempt 1 (channel 0) 06 10 05 30 00 11 29 00 bc e0 10 00 09 10 01 00 81

2018-01-25 20:09:19.212 [DEBUG] [.binding.knx.internal.bus.KNXBinding] - Wrote value 'ON' to datapoint 'command DP 1/1/16 Licht_Arbeitszimmer, DPT main 0 id 1.001, low priority'

2018-01-25 20:09:19.215 [DEBUG] [tuwien.auto.calimero                ] - calimero.link.224.0.23.12:3671: send to 1/1/16 succeeded

2018-01-25 20:09:19.217 [DEBUG] [tuwien.auto.calimero                ] - process 224.0.23.12:3671: group write to 1/1/16 succeeded

2018-01-25 20:09:19.220 [DEBUG] [tuwien.auto.calimero                ] - KNXnet/IP Routing 224.0.23.12:3671: discard multicast loopback cEMI frame: L-Data.ind from 1.0.0 to 1/1/16, low priority hop count 6 tpdu 00 81

ETS is able to discover the Enertex Router:
discovered_device
and the Connection-Tests says: OK
But if i’m trying to write an OFF to my Testlights, nothing happens without any Error. ETS is logging write success. Am i trying to read from a group address, there is no response.

so in conclusion, ets is not able to use multicast also.

telnet (yeah)

ert> lcconfig
Coupler type.: backbone coupler
IP -> KNX:
GA  0-13......: filter
GA 14-15......: route
Ph. add.......: filter
Broadcast.....: route
KNX -> IP:
GA  0-13......: filter
GA 14-15......: route
Ph. add.......: filter
Broadcast.....: route
PW fail. mon..: enabled

Damn! as you see, filtering was already activated.
In Ets i had changed this to routing (for testing ) a long time ago, but it were programmed only in “partial-mode”. until now, i thought, this is enough.

Programming the whole application to the router sets the test-settings finaly.

So let me thank u. The advice with telnet does it lately…

While routing every telegram, this cannot be the right option for “productive use”. Do u have any advise here?

thx again,

Zandi

Agreed!

My advise is the following: Use a dummy App in ETS for openHAB and link it to the GAs that you want. Give it a PA and use that PA in your knx.cfg
I would also change the PA of the Router from 1.0.0 (backbone coupler) to 1.x.0 (line coupler)
check: [SOLVED] KNX Binding: no confirmation reply received

In this way (with the dummy app) the filter table will be configured by ETS and uploaded to the Router (like a set of firewall rules). With this setup, you should be able to keep the GA 0-13 in filter setting (not route).

Good morning,

thx for reply.

i had been starting to apply ur dummy app advise. later, i will report my (good or bad) results :wink:

One question to the changing of the Router-PA:

physically, my router IS my backbone-coupler. should or could i change the adress nevertheless?

sincerely

Zandi

Do you actually have 2 areas (each with several lines) in your KNX environment?
If no: I would recommend that you change it from a backbone/area coupler (PA of X.0.0) to a line coupler (PA of X.Y.0)

hi,

yeah, i do.

Line 0 (Main Line) - central stuff like actors, router, power supply, binary input and so on (and now the dummy?)

Line 1 (Sensor Line) - all other stuff.

while house building i had planned to add 2 further lines.

  • one for outdoor stuff
  • one for separate the floors

but until now, the 2 lines remain.

sincerely

zandi

€dit: oh, i think, i had missunderstood ur question first. (or not read correctly)

i think, there is only one area with 2 lines. (main line 1.0 and sensor-line 1.1 )
Lines

Lines or Areas?

An Area can contain multiple lines. Usually, you don’t need more than 1 Area (only very large installations would use several Areas)

If you have multiple Lines and only 1 Area, you can keep the Router in Backbone Coupler mode… it should work (in theory) and you wouldn’t need to switch it to a Line Coupler mode…

test stuff with multiple configs :slight_smile:
I have only 1 main Line with all KNX stuff (actuators, push-buttons, interfaces, etc) and a “management” line where the dummy App (OH2) exists

For the dummy App, you should create a new Line (e.g. Line 5 (Management)) with media type IP and place it there

hi,

ok, here is my relevant konfig:

Lines

If i would change the PA from 1.0.* to 1.1.* and all items from 1.1.* to 1.2.* before, i have to reprogramm all of my knx-items, right? scared

ok: dummy to another line, check

mfg,

Zandi

Your ETS setup looks ok. No need to change the Line numbers.
I didn’t use Line number 0 (zero) in my setup (I started from 1)

So: Try to create a new Line for Management and place there the dummy App. Link the App to the GAs and give it a PA (e.g. 1.5.200) that you will also use in knx.cfg in OH2… it should work

hi,

ok, i’ll be doing this (thanks in advance for the help)

after trying to add an line 5 im medium:IP, ets is throwing an error, whether main line is no ip.
by change main line medium to ip, all (knx)-items were killed / deleted out of the line.

mfg

Zandi

you need to change the Backbone and Area Medium from TP to IP to add a new IP Line in the existing Area.
Don’t modify the Line Medium for the existing TP lines
Your Area titled “Bereich 1” will contain multiple Lines. Some will be TP and 1 will be IP.

check my screenshots on: [SOLVED] KNX Binding: no confirmation reply received

hi,

hm, i think, i have to notice, that my ets is version 4.x.
There is no option for changing IP for area / topoloy:-/ sry.

while looking at ur perfect workthrough, i couln’t find some of the options, u had shown with the pics.

here are 2 screenies:

area

as u can see, for topology there is no option and for the area, there is only an option for setting the proccessing status.

sincerely

zandi

ps: thx for ur patience

hi again,

within the backbone part, there is an area line with address 0.0, which is in IP-Mode and propagating the enertex multicast-address. Would it help, to place the dummies into this area?

ps:
sorry, for being a little helpless with that. i had finished my knx-installation / configuration 2-3 years ago and had made only minor changes until now. By starting with openhab / pinea64, there is a lot, i have to learn (again?).

You can definitely try to place the dummy App there.
In theory, the filter table will be recalculated to allow the GAs to cross from KNX to IP (and reverse)

I am not an expert on KNX but I would avoid using the 0 stuff (Backbone Areas and Lines)

Maybe some others can voice an opinion here.

hi,

finally it works:

  1. download Gira Dummy-Application
    • supports only TR as medium.
    • tried to put dummy-application in each line successively and link one ga (test light switch).
    • expected filter-table isnt showing everything…
      –> dont work (as expected)
  2. download new(!) Dummy-Application with IP-Support
    • realised, that there is a other gira dummy application with ip support.
    • downloaded and placed it within the area line
      (i know, dont use 0-stuff, but without to change everything, i have to do so)
    • expected filter-table is showing my test ga
    • wrote application to enertex router and

it’s working, yeah. :smiley:

thx,

Zandi

1 Like

awesome!

so: openHAB2 is now configured to use Routing for the KNX binding and you can receive status updates from the KNX world? (and send commands)?

yesssss :smile: , ur the best :smiley:

ps: all is working while filtering telegrams is enabled @enertex

now, a lot of assiduity work has to be done :smiley:

1 Like