Hi,
I have the default openHAB2 (Snapshot) version installed on Debian 8.6 and would like to get the KNX binding working, it appears this is the KNX 1.9 binding.
My configuration:
The knx.items
file:
Switch KNX_Switch "KNX Switch" { knx="1.001:1/1/1+<1/1/2" }
The knx.sitemap
file:
sitemap knx_sitemap label="KNX Sitemap" {
Frame label="Main KNX Categories test" {
Switch item=KNX_Switch label="My KNX Switch" mappings=[1="ON", 0="OFF"]
}
}
Initialisation Okay, but WARN messages:
openHAB2 connects to the KNX Router without any noticeable problems, see log below (dates have been removed):
[DEBUG] [org.openhab.binding.knx ] - BundleEvent STARTING - org.openhab.binding.knx
[DEBUG] [ab.binding.knx.internal.KNXActivator] - KNX binding has been started.
[DEBUG] [org.openhab.binding.knx ] - ServiceEvent REGISTERED - {org.openhab.binding.knx.config.KNXTypeMapper}={component.name=org.openhab.binding.knx.typemapper, component.id=158, service.id=285, service.bundleid=181, service.scope=bundle} - org.openhab.binding.knx
[DEBUG] [org.openhab.binding.knx ] - ServiceEvent REGISTERED - {org.openhab.model.item.binding.BindingConfigReader, org.openhab.binding.knx.config.KNXBindingProvider, org.openhab.core.autoupdate.AutoUpdateBindingProvider}={component.name=org.openhab.binding.knx.genericbindingprovider, component.id=159, service.id=286, service.bundleid=181, service.scope=bundle} - org.openhab.binding.knx
[INFO ] [g.apache.aries.spifly.dynamic.bundle] - Bundle Considered for SPI providers: org.openhab.binding.knx
[INFO ] [g.apache.aries.spifly.dynamic.bundle] - No 'SPI-Provider' Manifest header. Skipping bundle: org.openhab.binding.knx
[DEBUG] [org.openhab.binding.knx ] - BundleEvent STARTED - org.openhab.binding.knx
[DEBUG] [.binding.knx.internal.bus.KNXBinding] - Calimero library version 2.3-beta
[DEBUG] [x.internal.bus.KNXBusReaderScheduler] - Starting reader task.
[DEBUG] [x.internal.bus.KNXBusReaderScheduler] - Starting schedule executor.
[DEBUG] [nx.internal.connection.KNXConnection] - KNXBinding configuration present. Setting up KNX bus connection.
[DEBUG] [org.openhab.binding.knx ] - ServiceEvent REGISTERED - {org.osgi.service.cm.ManagedService}={service.pid=org.openhab.knx, component.name=org.openhab.binding.knx.config, component.id=156, service.id=290, service.bundleid=181, service.scope=bundle} - org.openhab.binding.knx
[DEBUG] [org.openhab.binding.knx ] - ServiceEvent REGISTERED - {org.osgi.service.event.EventHandler, tuwien.auto.calimero.process.ProcessListener}={event.topics=openhab/*, component.name=org.openhab.binding.knx, component.id=157, service.id=289, service.bundleid=181, service.scope=bundle} - org.openhab.binding.knx
[DEBUG] [al.bus.KNXBindingDatapointReaderTask] - Autorefresh: Waiting for new item in reader queue
[DEBUG] [nx.internal.connection.KNXConnection] - Not connected yet. Trying to connect.
[INFO ] [tuwien.auto.calimero ] - KNXnet/IP Routing 224.0.23.12:3671: multicast loopback mode enabled
[INFO ] [nx.internal.connection.KNXConnection] - Established connection to KNX bus on 224.0.23.12:8080 in mode ROUTER.
[INFO ] [g.apache.aries.spifly.dynamic.bundle] - Bundle Considered for SPI providers: org.openhab.core.compat1x
[DEBUG] [nx.internal.connection.KNXConnection] - Success: connected.
However these also appear in the same log file, after a while:
[INFO ] [tuwien.auto.calimero ] - process 224.0.23.12:8080: timeout waiting for group read response
[WARN ] [al.bus.KNXBindingDatapointReaderTask] - Autorefresh: Cannot read value for item 'KNX_Switch' from KNX bus: timeout waiting for group read response: timeout
[WARN ] [al.bus.KNXBindingDatapointReaderTask] - Autorefresh: Remaining retries for address '1/1/2' = '0'
[DEBUG] [al.bus.KNXBindingDatapointReaderTask] - Autorefresh: DatapointReaderTask Waiting 50 msecs to prevent KNX bus overload
[DEBUG] [al.bus.KNXBindingDatapointReaderTask] - Autorefresh: Waiting for new item in reader queue
[DEBUG] [al.bus.KNXBindingDatapointReaderTask] - Autorefresh: got new item KNX_Switch in reader queue
[DEBUG] [al.bus.KNXBindingDatapointReaderTask] - Autorefresh: Trying to read from KNX bus: state DP 1/1/2 KNX_Switch, DPT main 0 id 1.001, low priority
[DEBUG] [al.bus.KNXBindingDatapointReaderTask] - Autorefresh: Sending read request to KNX for item 'KNX_Switch' DPT '1.001'
[INFO ] [tuwien.auto.calimero ] - calimero.link.224.0.23.12:8080: send message to 1/1/2, wait for confirmation
But when I turn a light on, the KNX router does not respond. The logs only show the following:
[INFO ] [tuwien.auto.calimero ] - calimero.link.224.0.23.12:8080: send message to 1/1/1, wait for confirmation
[DEBUG] [.binding.knx.internal.bus.KNXBinding] - Wrote value 'ON' to datapoint 'command DP 1/1/1 KNX_Switch, DPT main 0 id 1.001, low priority'
However there is never a “confirmation”. And ideas?
UPDATE 1:
Below is my knx.cfg
file:
# KNX gateway IP address
# (optional, if serialPort or connection type 'ROUTER' is specified)
ip=224.0.23.12
# Local KNX Binding bus address.
# Use it, when two or more openHAB Instances are connected to the same KNX bus.
# (optional, defaults to 0.0.0)
busaddr=15.15.248
# KNX IP connection type. Could be either TUNNEL or ROUTER (optional, defaults to TUNNEL)
# Note: If you cannot get the ROUTER mode working (even if it claims it is connected),
# use TUNNEL mode instead with setting both the ip of the KNX gateway and the localIp.
type=ROUTER
# Seconds between connect retries when KNX link has been lost
# 0 means never retry, it will only reconnect on next write or read request
# Note: without periodic retries all events will be lost up to the next read/write
# request
# (optional, default is 0)
autoReconnectPeriod=10