Qt KNX Datapoint Type Classes

A datapoint type represents the data corresponding to a KNX device functionality. It describes the data, setting the rules about the format and values to be allowed, and it holds the bytes containing the data.

A datapoint type is identified by its main number and a sub number. Each main number corresponds to a datapoint type with a particular structure. The sub numbers correspond to different interpretations or naming of this structure.

The Qt KNX module provides a class for each datapoint type with the main number less than 30 and sub number less than 100. All datapoint types with the same main number inherit from a datapoint type class representing the main number datapoint type characteristics.

Datapoint types are used in the data part of the QKnxTpdu class, which is a part of a link layer frame ( QKnxLinkLayerFrame ) that is transmitted over a tunneling connection ( QKnxNetIpTunnel ).

Creating Datapoint Types

QKnxDatapointType is the base class for all datapoint types. It is inherited by two main datapoint type classes: QKnxFixedSizeDatapointType for fixed length datapoint types and QKnxVariableSizeDatapointType for variable length datapoint types.

QKnxDatapointType::Type lists the datapoint types that have been implemented in the Qt KNX module with short descriptions and their main and sub numbers. Datapoint types described in the KNX documentation can be added by creating a class that inherits from QKnxFixedSizeDatapointType or QKnxVariableSizeDatapointType and registering this new class using an instance of QKnxDatapointTypeFactory .

The QKnxDatapointTypeFactory class is used to create datapoint types based on their main number and sub number. One or more datapoints can be registered with the factory and then queried based on the main number and sub number.

The following diagram shows the base Qt KNX module datapoint type classes and the classes derived from them for the main datapoint types:

List of Datapoint Type Classes

QAbstractKnxTime

Abstract base class for datapoint types that contain time information

QKnx1Bit

Boolean datapoint type, such as switch on or off

QKnx1BitControlled

Boolean datapoint type with a control part

QKnx1Byte

Fixed size datapoint type with the length of 1 byte

QKnx2BitSet

Fixed size datapoint type with the length of 2 bits

QKnx2ByteFloat

Datapoint type for a 2-byte float value

QKnx2ByteSignedValue

Datapoint type with a 2-byte signed value

QKnx2ByteUnsignedValue

Datapoint type with a 2-byte unsigned value

QKnx32BitSet

Datapoint type with the 32-bit set

QKnx3BitControlled

Datapoint type with a control part

QKnx4ByteFloat

Datapoint type for a 4-byte float value

QKnx4ByteUnsignedValue

Datapoint type with a 4-byte unsigned value

QKnx8BitSet

Datapoint type with binary-coded values in all fields

QKnx8BitSignedValue

Datapoint type with an 8-bit signed value

QKnx8BitUnsignedValue

Datapoint type with an 8-bit unsigned value

QKnxActuatorConnectType

Datapoint type for storing the actuator connection type

QKnxAlarmClassType

Datapoint type for storing the alarm class type

QKnxAlarmReaction

Fixed size datapoint type for storing the alarm reaction

QKnxApplicationArea

Datapoint type for storing the application area

QKnxBeaufortWindForceScale

Datapoint type for storing the Beaufort wind force scale

QKnxBuildingMode

Datapoint type for storing the building mode

QKnxChar

Datapoint type that encodes a character

QKnxChar88591

Datapoint type that encodes an ISO 8859-1 character

QKnxCharASCII

Datapoint type that encodes an ASCII character

QKnxCharString

Datapoint type that encodes a string

QKnxCharString88591

Datapoint type that encodes a string of ISO 8859-1 characters

QKnxCharStringASCII

Datapoint type that encodes a string of ASCII characters

QKnxCloudCover

Datapoint type for storing the scale of the sky obscured by clouds when observed from a particular location

QKnxCombinedInfoOnOff

Datapoint type for storing combined information about the on and off states of a multiple-channel binary actuator

QKnxControlBlinds

Datapoint type for controlling blinds

QKnxControlDimming

Datapoint type for controlling dimming

QKnxDatapointType

Base class for datapoint types with specific properties

QKnxDatapointTypeFactory

Used to create QKnxDatapointType objects based on their main number and sub number

QKnxDate

Datapoint type for a date

QKnxDateTime

Datapoint type for the date and time

QKnxDeviceControl

Datapoint type for device control

QKnxElectricalEnergy

Datapoint type for electrical energy

QKnxEntranceAccess

Datapoint type for controlling entrance access

QKnxErrorClassHvac

Datapoint type for storing errors in heating, ventilation, and air conditioning (HVAC)

QKnxErrorClassSystem

Datapoint type for storing system errors

QKnxFixedSizeDatapointType

Base class for datapoint types with a fixed size

QKnxGeneralStatus

Datapoint type for general status

QKnxLightApplicationMode

Datapoint type for storing the light application mode

QKnxOccupyMode

Datapoint type for storing the occupy mode

QKnxOnOffAction

Fixed size datapoint type for storing the on/off action

QKnxPriority

Datapoint type for storing priority

QKnxPsuMode

Datapoint type for storing the bus power supply unit mode

QKnxSceneControl

Datapoint type for a scene control

QKnxSceneInfo

Datapoint type for scene information

QKnxSceneNumber

Datapoint type for a scene number

QKnxScloMode

Datapoint type for storing the system clock (SCLO) mode

QKnxSensorSelect

Datapoint type for storing the sensor mode

QKnxStatusMode3

Datapoint type for a status mode 3

QKnxTime

Holds time information

QKnxTime24

Holds time information

QKnxTimeBase

Base class for datapoint types that contain time information

QKnxTimeDelay

Datapoint type for storing a time delay

QKnxTimeOfDay

Datapoint type for the time of day

QKnxUpDownAction

QKnxOnOffAction class is a fixed size datapoint type for storing the up/down action

QKnxUtf8

Datapoint type for a UTF-8 string

QKnxUtf8String

Datapoint type for a UTF-8 string

QKnxValue4UCount

Datapoint type with a 4-byte unsigned value

QKnxVarString

Datapoint type that encodes a variable length string

QKnxVarString88591

Datapoint type that encodes a variable length string of ISO 8859-1 characters

QKnxVariableSizeDatapointType

Base class for datapoint types with a variable size