Skip to content

KNX Driver

dc3-driver-knx connects to KNX (ISO/IEC 14543-3) installations through a KNX IP gateway. It maintains one tunneling link per gateway device and reads/writes group addresses as boolean, unsigned, float, or control values.

Protocol background

KNX is the standard for home and building automation. Group addresses link sensors and actuators; an IP gateway exposes the bus over KNXnet/IP tunneling. This driver reads group values by datapoint type and writes them back through the gateway.

  • Driver name / code: KNX Driver / KnxDriver
  • Type: DRIVER_CLIENT (tunneling to a KNX IP gateway)
  • Underlying library: Calimero (calimero-core)

Attribute configuration

Driver attributes (device-level driver-attribute)

AttributecodeTypeDefaultDescription
Remote HostremoteHostSTRING(empty)KNX IP gateway address
Remote PortremotePortINT3671KNX IP gateway port
Local HostlocalHostSTRING(empty)Local bind address (optional)
Use NATuseNatBOOLEANfalseEnable NAT mode for tunneling
Device AddressdeviceAddressSTRING0.0.0Local KNX individual address

Point attributes (point-attribute)

AttributecodeTypeDefaultDescription
Group AddressgroupAddressSTRING(empty)KNX group address, e.g. 1/2/3
Data TypedataTypeSTRINGBOOLBOOL, UINT, FLOAT, or CONTROL
DPTdptSTRING(empty)Datapoint type for UINT reads/writes, e.g. 5.001

Command attributes (command-attribute)

AttributecodeTypeDefaultDescription
Group AddressgroupAddressSTRING(empty)KNX group address for commands

Collection and health

  • Collection cycle: default cron 0/30 * * * * ?.
  • Health/online: device health defaults to cron 0/15 * * * * ?, lease timeout 45 seconds.

Capability matrix

CapabilitySupportedNotes
Read
Write
Subscribe

Implementation status: available ::

KnxDriverCustomServiceImpl caches a KNXNetworkLink + ProcessCommunicator per device, and a device metadata UPDATE/DELETE event closes the link.

Minimal onboarding example

  1. Create a Device using KNX Driver, set remoteHost=<gateway-ip> and deviceAddress=1.1.0.
  2. Add a Point (READ_ONLY) with groupAddress=1/2/3 and dataType=BOOL.
  3. Start the driver; the group value is polled on the collection cycle.

Further reading

Last updated:

Released under the AGPL-3.0 License