//
//  Licensed to the Apache Software Foundation (ASF) under one or more
//  contributor license agreements.  See the NOTICE file distributed with
//  this work for additional information regarding copyright ownership.
//  The ASF licenses this file to You under the Apache License, Version 2.0
//  (the "License"); you may not use this file except in compliance with
//  the License.  You may obtain a copy of the License at
//
//      https://www.apache.org/licenses/LICENSE-2.0
//
//  Unless required by applicable law or agreed to in writing, software
//  distributed under the License is distributed on an "AS IS" BASIS,
//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
//  See the License for the specific language governing permissions and
//  limitations under the License.
//

// Code generated by code-generation. DO NOT EDIT.

[cols="2,2a,2a,2a,4a"]
|===
|Name |Type |Default Value |Required |Description
|Name 4+|KNXNet/IP
|Code 4+|`knxnet-ip`
|Maven Dependency 4+|

[subs=attributes+]
----
<dependency>
  <groupId>org.apache.plc4x</groupId>
  <artifactId>plc4j-driver-knxnetip</artifactId>
  <version>{page-component-version}</version>
</dependency>
----
|Default Transport 4+|`udp`
|Supported Transports 4+|
 - `udp`
 - `pcap`
 - `raw`
5+|Config options:
|`knxproj-file-path` |STRING | | |Path to the `knxproj` file. The default KNXnet/IP protocol doesn't provide all the information needed to be able to fully decode the messages.
|`knxproj-password` |STRING | | |Optional password needed to read the knxproj file.
|`group-address-num-levels` |INT |3| |KNX Addresses can be encoded in multiple ways. Which encoding is used, is too not provided by the protocol itself so it has to be provided externally: +
 +
- 3 Levels: {main-group (5 bit)}/{middle-group (3 bit)}/{sub-group (8 bit)} +
- 2 Levels: {main-group (5 bit)}/{sub-group (11 bit)} +
- 1 Level: {sub-group (16 bit)} +
 +
The default is 3 levels. If the `knxproj-file-path` this information is provided by the file.
|`connection-type` |STRING |LINK_LAYER| |Type of connection used to communicate. Possible values are: +
 +
- 'LINK_LAYER' (default): The client becomes a participant of the KNX bus and gets it's own individual KNX address. +
- 'RAW': The client gets unmanaged access to the bus (be careful with this) +
- 'BUSMONITOR': The client operates as a busmonitor where he can't actively participate on the bus. Only one 'BUSMONITOR' connection is allowed at the same time on a KNXnet/IP gateway.
5+|Transport config options:
5+|
+++
<h4>udp</h4>
+++
|`udp.local-port` |INT |-1| |Some connections require a UDP listener to listen on a fixed port. +
Use this configuration option in order to define the port number of the local port.
5+|
+++
<h4>pcap</h4>
+++
|`pcap.replay-speed-factor` |FLOAT |1.0| |Numeric value for changing the replay speed: +
- 1 = Normal speed (default) +
- 0 = Maximum speed +
- 0.5 = Half speed +
- 2 = Double speed
|`pcap.loop` |BOOLEAN |false| |Should the replay start at the beginning of the file as soon as the end is reached? +
- true = Automatically start again +
- false = Stop at the end (default)
|`pcap.filter` |STRING | | |Filter expression used to filter out unwanted packets from the replay.
|`pcap.support-vlans` |BOOLEAN |false| |Should VLan packets be automatically unpacked?
|`pcap.protocol-id` |INT |-1| |When provided, filters all packets to let only packets matching this ethernet protocol-id pass.
5+|
+++
<h4>raw</h4>
+++
|`raw.resolve-mac-address` |BOOLEAN | | |If set to true, the transport will automatically resolve the MAC address for a given IP address (Allows connecting to a raw-socket device using the devices host-name or ip-address).
|`raw.support-vlans` |BOOLEAN |false| |Should VLan packets be automatically unpacked?
|`raw.protocol-id` |INT |-1| |When provided, filters all packets to let only packets matching this ethernet protocol-id pass.
|===
