KNX: invalid group address

Hello,

I am kind of lost now with this problem:

If I want to control some group addresses, an error within openhab is thrown (see log below) and no command is sent to the devices. When I use the ets5 group monitor to issue the command, the rollershutter and switches act as programmed. Of the 200 group addresses, only 7 show this behavior.

In my things definition, I can only reach my mdt ip router device using the TUNNEL mode. I have not found a working config to use it in ROUTER mode:
Bridge knx:ip:bridge [
ipAddress=“192.168.0.55”,
portNumber=3671,
localIp=“192.168.0.62”,
type=“TUNNEL”,
readingPause=50,
responseTimeout=10,
readRetriesLimit=10,
autoReconnectPeriod=1,
localSourceAddr=“0.0.0”,
numberOfThreads=4

]

2018-07-14 22:43:31.500 [WARN ] [mmon.WrappedScheduledExecutorService] - Scheduled runnable ended with an exception

java.lang.IllegalArgumentException: tuwien.auto.calimero.KNXFormatException: invalid group address: 0/0/314

at org.openhab.binding.knx.internal.channel.AbstractSpec.toGroupAddress(AbstractSpec.java:50) ~[?:?]

at java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:193) ~[?:?]

at java.util.ArrayList$ArrayListSpliterator.forEachRemaining(ArrayList.java:1382) ~[?:?]

at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:481) ~[?:?]

at java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:471) ~[?:?]

at java.util.stream.ReduceOps$ReduceOp.evaluateSequential(ReduceOps.java:708) ~[?:?]

at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234) ~[?:?]

at java.util.stream.ReferencePipeline.collect(ReferencePipeline.java:499) ~[?:?]

at org.openhab.binding.knx.internal.channel.ListenSpecImpl.(ListenSpecImpl.java:35) ~[?:?]

at org.openhab.binding.knx.internal.channel.KNXChannelType.lambda$2(KNXChannelType.java:186) ~[?:?]

at java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:193) ~[?:?]

at java.util.HashMap$KeySpliterator.tryAdvance(HashMap.java:1574) ~[?:?]

at java.util.stream.ReferencePipeline.forEachWithCancel(ReferencePipeline.java:126) ~[?:?]

at java.util.stream.AbstractPipeline.copyIntoWithCancel(AbstractPipeline.java:498) ~[?:?]

at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:485) ~[?:?]

at java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:471) ~[?:?]

at java.util.stream.FindOps$FindOp.evaluateSequential(FindOps.java:152) ~[?:?]

at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234) ~[?:?]

at java.util.stream.ReferencePipeline.findFirst(ReferencePipeline.java:464) ~[?:?]

at org.openhab.binding.knx.internal.channel.KNXChannelType.getListenSpec(KNXChannelType.java:188) ~[?:?]

at org.openhab.binding.knx.internal.handler.DeviceThingHandler.lambda$8(DeviceThingHandler.java:270) ~[?:?]

at org.openhab.binding.knx.internal.handler.DeviceThingHandler.withKNXType(DeviceThingHandler.java:121) ~[?:?]

at org.openhab.binding.knx.internal.handler.DeviceThingHandler.onGroupWrite(DeviceThingHandler.java:269) ~[?:?]

at org.openhab.binding.knx.internal.handler.DeviceThingHandler.onGroupReadResponse(DeviceThingHandler.java:259) ~[?:?]

at org.openhab.binding.knx.internal.client.AbstractKNXClient$1.lambda$2(AbstractKNXClient.java:121) ~[?:?]

at org.openhab.binding.knx.internal.client.AbstractKNXClient.lambda$8(AbstractKNXClient.java:254) ~[?:?]

at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) [?:?]

at java.util.concurrent.FutureTask.run(FutureTask.java:266) [?:?]

at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:180) [?:?]

at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293) [?:?]

at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) [?:?]

at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) [?:?]

at java.lang.Thread.run(Thread.java:748) [?:?]

Caused by: tuwien.auto.calimero.KNXFormatException: invalid group address: 0/0/314

at tuwien.auto.calimero.GroupAddress.init(GroupAddress.java:301) ~[?:?]

at tuwien.auto.calimero.GroupAddress.(GroupAddress.java:128) ~[?:?]

at org.openhab.binding.knx.internal.channel.AbstractSpec.toGroupAddress(AbstractSpec.java:48) ~[?:?]

… 32 more

Caused by: tuwien.auto.calimero.KNXIllegalArgumentException: address group out of range

at tuwien.auto.calimero.GroupAddress.init(GroupAddress.java:308) ~[?:?]

at tuwien.auto.calimero.GroupAddress.init(GroupAddress.java:297) ~[?:?]

at tuwien.auto.calimero.GroupAddress.(GroupAddress.java:128) ~[?:?]

at org.openhab.binding.knx.internal.channel.AbstractSpec.toGroupAddress(AbstractSpec.java:48) ~[?:?]

The underlying calimero library thinks you’re using an address of 0/0/314.
According to this document, 314 is not valid value.

If you haven’t specified this address, then we have to figure out where it’s coming from.

I use the free addressing system and other group addresses like 0/0/329 work fine, 0/0/329 turns the lights on/off in my living room. Also, the 0/0/313 & 0/0/314 works within ets5 perfectly.

in the .things file, it is configured like this:
Type rollershutter : 1st_rollershutter “rollershutter_1” [ upDown=“0/0/313”, stopMove=“0/0/314”, position=“0/0/315” ]

openHAB does only support old style Group Addresses 0/0/0 to 31/7/255

Is it possible that this will be adjusted beyond the /255 or is it rather unlikely?

its really strange, some group addresses beyond the /255 are working like 0/0/329 and 0/0/330…some not like 0/0/313

It’s easy to calculate one from the other when there is information about the grouping (5/3/8 is common address splitting) but you have to have the option to configure this, and there is no parameter yet. Please open an issue on github (openHAB2-addons) and request this option.

Solution in following thread:

Yes, free GA are supported since last knx2 update (you have to use nightly version for this feature)