Builder Class
class QKnxNetIpDeviceConfigurationAcknowledgeProxy::BuilderThe QKnxNetIpDeviceConfigurationAcknowledgeProxy::Builder class provides the means to create a KNXnet/IP device configuration acknowledgment frame. More...
Public Functions
QKnxNetIpFrame | create() const |
Builder & | setChannelId(quint8 channelId) |
Builder & | setSequenceNumber(quint8 sequenceNumber) |
Builder & | setStatus(QKnxNetIp::Error status) |
Detailed Description
A KNXnet/IP client connects to a configuration and management data endpoint of a KNXnet/IP server to send device configuration request frames and to receive device configuration acknowledgment frames. A device configuration request is used to read and write KNXnet/IP device configuration data. When a server receives a configuration request, it responds with a device configuration acknowledgment to confirm the reception of the request.
A device configuration acknowledgment frame contains the ID and status of the communication channel between a KNXnet/IP client and server, as well as the sequence number of the device configuration request frame.
The KNXnet/IP server discards device configuration request frames with unexpected sequence numbers and does not send a device configuration acknowledgment upon receiving them.
In most programs, this class will not be used directly. Instead, the QKnxNetIpTunnel or QKnxNetIpDeviceManagement class is used to establish a functional connection to a KNXnet/IP server.
The following code sample illustrates how to read the device configuration request information sent by a KNXnet/IP client:
auto netIpFrame = QKnxNetIpDeviceConfigurationAcknowledgeProxy::builder() .setChannelId(200) .setSequenceNumber(250) .setStatus(QKnx::NetIp::Error::ConnectionId) .create();
If the KNXnet/IP client does not receive a device configuration acknowledgment within the specified timeout or the status of a received acknowledgment frame indicates that errors occurred, the client repeats the device configuration request three times and then terminates the connection by sending a disconnection request frame, QKnxNetIpDisconnectRequestProxy, to the server’s control endpoint.
See also Qt KNX Device Management Classes.
Member Function Documentation
QKnxNetIpFrame Builder::create() const
Creates and returns a KNXnet/IP device configuration request frame.
Note: The returned frame may be invalid depending on the values used during setup.
See also isValid().
Builder &Builder::setChannelId(quint8 channelId)
Sets the ID of the communication channel between a KNXnet/IP client and server to channelId and returns a reference to the builder.
Builder &Builder::setSequenceNumber(quint8 sequenceNumber)
Sets the sequence number of a device configuration request frame to sequenceNumber and returns a reference to the builder.
Builder &Builder::setStatus(QKnxNetIp::Error status)
Sets the status of the communication channel between a KNXnet/IP client and server to status and returns a reference to the builder.