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
if in ROUTER-mode, OH2 did not respond to any (external) change of the switch, neither is it able to switch it by itself.
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.
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
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:
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?
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).
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)
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
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
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
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.
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.
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)