Complete Guide to KNX Datapoint Types: Everything You Need to Know About KNX Data Types With Examples of How They Work

KNX Data Type
The KNX protocol is a standard for building and home automation, allowing interconnection and communication between various devices like switches, sensors, actuators, and controllers. For all KNX devices to communicate effectively, data exchange must follow a standardized structure. This is where Data Point Types (DPTs), known as KNX Data Types, come in.

DPTs are defined by the KNX specification to ensure that different manufacturers can develop compatible devices. These data types specify how data is represented, transmitted, and interpreted. The correct definition of the data type prevents conflicts and ensures that the transmitted information is understood by all devices in the installation.

KNX data types are categorized based on their format and intended application. In this article, I will detail the main data types, from the simplest ones like binary commands (1 bit) to the more complex ones such as text strings (16 bytes) and floating-point values.

Binary Data Types

Binary data types are the simplest and most widely used in KNX for representing basic commands like on/off, open/close, and enable/disable.

DPT 1.xxx – 1 Bit (Binary Command)

DPT 1.xxx data types use only 1 bit of information, making them suitable for boolean states (true/false, on/off).

  • DPT 1.001 (Switch): Used for on/off commands. For example, when a KNX switch is pressed, the "on" command is sent with the value 1, and the "off" command is sent with the value 0.
    • Practical Example: A light button controls a lamp. When pressed, it sends the value 1 (on). When pressed again, it sends the value 0 (off).

  • DPT 1.002 (Boolean): Represents generic boolean states without a specific application.
    • Practical Example: Indicating the state of a door (open = 1, closed = 0).

  • DPT 1.003 (Alarm): Used for alarm signaling. The value 1 indicates alarm activation, and the value 0 indicates deactivation.
    • Practical Example: Triggering an intrusion alarm when a motion sensor detects activity.

  • DPT 1.008 (Up/Down): Used for blind or shutter control. The value 1 indicates "up" and the value 0 indicates "down".
    • Practical Example: A blind control button allows raising (1) or lowering (0) the blinds.

DPT 2.xxx – 2 Bits (Binary Command with Status)

DPT 2.xxx data types use 2 bits, allowing both the command and the status of the device to be transmitted. This approach provides greater security and reliability in communication.

  • DPT 2.001 (Switch Control): Indicates the command (bit 0) and the status (bit 1). The command bit defines the action (on/off), while the status bit confirms whether the action was executed.
    • Practical Example: When turning on a lamp, the command bit is set to 1, and the status bit is also set to 1 to confirm that the lamp has been turned on.

Simple Numeric Data Types

Numeric data types allow the transmission of integer and percentage values, frequently used for lighting control and parameter adjustments.

DPT 5.xxx – 1 Byte (8 Bits, Numeric Values)

DPT 5.xxx data types use 1 byte (8 bits) to transmit a numeric value. They are widely used for scalar values such as light intensity and blind position.

  • DPT 5.001 (Scaling): Represents a percentage value from 0 to 100%, mapped from 0 to 255 in binary format.
    • Practical Example: Light intensity control. A value of 0 means the light is off, and a value of 255 means the light is at 100% intensity.

  • DPT 5.003 (Angle): Used to represent angles from 0 to 360 degrees.
    • Practical Example: Adjusting a spotlight to a specific position by sending the desired angle.

  • DPT 5.004 (Percentage): Similar to DPT 5.001 but used specifically for generic percentage values.
    • Practical Example: Ventilation adjustment, where 0% represents the fan off, and 100% represents maximum speed.

DPT 6.xxx – 1 Byte Signed (Signed Integer)

The DPT 6.xxx data types use 1 byte to represent signed integer values, allowing the transmission of both negative and positive values.

  • DPT 6.001 (Signed Percentage): Used for signed percentage values, ranging from -128 to +127.
    • Practical Example: Offset correction for a temperature sensor, where negative values indicate a downward correction and positive values indicate an upward correction.

Signed and Unsigned Numeric Data Types

More precise numeric data types are often used for measurements and counts, especially in applications requiring a wider range of values.

DPT 7.xxx – 2 Bytes (Unsigned Integer)

The DPT 7.xxx data types use 2 bytes (16 bits) to represent unsigned integer values, allowing the transmission of values from 0 to 65,535.
  • DPT 7.001 (Unsigned Value 16-bit): Used for counting or measuring positive integer values, such as meter readings.
    • Practical Example: Transmission of a water meter reading. If the meter registers 12,345 liters, this value is sent as a 16-bit integer.

  • DPT 7.005 (Pulse Counter): Specific for pulse counters.
    • Practical Example: A water flow sensor sends pulses to a KNX counter, which accumulates the total pulses and transmits the value as a 16-bit integer.

DPT 8.xxx – 2 Bytes Signed (Signed Integer)

The DPT 8.xxx data types also use 2 bytes but allow for the representation of both positive and negative integer values, ranging from -32,768 to +32,767.

  • DPT 8.001 (Signed Value 16-bit): Used for measurements that can take both negative and positive values.
    • Practical Example: Temperature measurement in an industrial application. A sensor sends values ranging from -50°C to +150°C, transmitted as signed integers.

  • DPT 8.002 (Delta Time in Seconds): Represents a time change in seconds, useful for measuring time differences between events.
    • Practical Example: Measuring the time interval between two activations of a motion sensor.

DPT 9.xxx – 2 Bytes Float (Floating Point)

The DPT 9.xxx data types are used to transmit floating-point values, allowing for higher precision in measurements such as temperature, humidity, and pressure.

  • DPT 9.001 (Temperature): Used for temperature measurements, ranging from -273°C to +670°C.
    • Practical Example: An ambient temperature sensor transmits the measured value, e.g., 22.5°C, using the floating-point format.

  • DPT 9.002 (Humidity): For relative humidity measurements, from 0% to 100%.
    • Practical Example: An HVAC humidity sensor sends the air humidity reading, e.g., 55%, using this data type.

  • DPT 9.024 (Wind Speed): Measurement of wind speed in m/s.
    • Practical Example: A KNX anemometer transmits the measured wind speed to automatically adjust blinds in case of strong winds.

Advanced Data Types

These data types are used for applications requiring higher complexity, such as time, date, and text transmission.

DPT 10.xxx – 3 Bytes (Time and Date)

The DPT 10.xxx data types allow for the transmission of time information, such as time and date, using 3 bytes.

  • DPT 10.001 (Time of Day): Represents the time of day, including hours, minutes, and seconds.
    • Practical Example: A master clock in the KNX system transmits the current time to synchronize all devices on the network.

  • DPT 10.002 (Date and Time): Combines date and time in a single format.
    • Practical Example: A building management system sends date and time to all KNX devices for synchronization.

DPT 11.xxx – 3 Bytes (Date)

The DPT 11.xxx data types are used to represent only the date (day, month, and year).

  • DPT 11.001 (Date): Used to transmit the date in the format DD-MM-YYYY.
    • Practical Example: A KNX sensor transmits the date of the last maintenance for a device to be logged in the management system.

DPT 12.xxx – 4 Bytes (Unsigned Integer, 32 Bits)

The DPT 12.xxx data types use 4 bytes to represent 32-bit unsigned integer values, allowing for the transmission of very large values.

  • DPT 12.001 (Unsigned Value 32-bit): Used for counting large volumes, such as electricity consumption.
    • Practical Example: An energy meter transmits the total consumption in kWh using this data type.

DPT 13.xxx – 4 Bytes Signed (Signed Integer, 32 Bits)

The DPT 13.xxx data types also use 4 bytes but allow for signed values, from -2,147,483,648 to +2,147,483,647.

  • DPT 13.001 (Signed Value 32-bit): Used for measurements requiring a large range of values, such as current flow measurements.
    • Practical Example: A current sensor sends the measured current value on an electrical line, which can be either negative or positive.

DPT 14.xxx – 4 Bytes Float (High Precision)

The DPT 14.xxx data types are used for transmitting high-precision floating-point values.

  • DPT 14.056 (Active Energy): Used to transmit precise active energy measurements.
    • Practical Example: A network analyzer sends real-time active energy consumption to the monitoring system.

DPT 16.xxx – Strings (Text, 14 Bytes)

    The DPT 16.xxx data types allow for the transmission of text strings, with a maximum of 14 characters.

  • DPT 16.001 (ASCII String): Used for sending text messages.
    • Practical Example: A KNX display shows a message sent by the system, such as "Door open."

Complete Table of KNX Data Types

1. Binary Data Types (1 Bit)

Data Type Name Size Value RangeDescriçãoPractical Example
DPT 1.001 Switch 1 bit 0, 1On/off commandLight switch
DPT 1.002Bool1 bit0, 1Generic boolean valueScene activation
DPT 1.003Enable1 bit0, 1Enable/disableFunction activation
DPT 1.008Up/Down1 bit0, 1Up/down controlShutter control
DPT 1.009Open/Close1 bit0, 1Open/closeValve control

2. Control Data Types (2 and 3 Bits)

Data Type Name Size Value RangeDescriptionPractical Example
DPT 2.001Switch Control2 bits0-3Command with stateSwitch with feedback
DPT 3.007Dimming Control4 bits0-15Intensity controlProgressive dimming
DPT 3.008Blinds Control4 bits0-15Shutter controlPosition adjustment

3. Percentual and Small Value Data Types (1 Byte)

Data Type Name Size Value RangeDescriptionPractical Example
DPT 5.001Scaling1 byte0-255 (0-100%)PercentageDimmer light control
DPT 5.004Angle1 byte0-255 (0-360º)Rotation angleServo motor control
DPT 5.010Step1 byte0-255Increment/decrementVentilation adjustment

4. Integer Data Types (Signed and Unsigned)

Data Type Name Size Value RangeDescriptionPractical Example
DPT 6.010Counter Value1 byte-128 to 127Signed integer valueEvent count
DPT 7.001Unsigned Value 16-bit2 bytes0-65,535Unsigned integer valueWater meter reading
DPT 8.001Signed Value 16-bit2 bytes-32,768 to 32,767Signed integer valueNegative temperature reading

5. Tipos de Dados Flutuantes (Float)

Data Type Name Size Value RangeDescriptionPractical Example
DPT 9.001Temperature2 bytes-273 to 670Floating point temperatureAmbient temperature sensor
DPT 9.005Illumination2 bytes0 to 670,760 luxLight measurementLuminosity sensor
DPT 14.001Acceleration4 bytesFloatAcceleration in m/s²Motion sensor

6. Tipos de Dados para Data e Hora

Data Type Name Size Value RangeDescriptionPractical Example
DPT 10.001Time of Day3 bytesHH:MMCurrent timeSincronização horária
DPT 11.001Date3 bytesMMCurrent dateSending date for recording
DPT 19.001Date and Time8 bytesCombinedDate and time combinedMaster clock in automation

7. HVAC Data Types

Data Type Name Size Value RangeDescriptionPractical Example
DPT 20.102HVAC Mode1 byte0-255HVAC operation modeSwitching to heating mode
DPT 21.100HVAC Control Mode1 byte0-255HVAC control modeAmbient temperature control

8. Complex and Text Data Types

Data Type Name Size Value RangeDescriptionPractical Example
DPT 16.001ASCII String14 bytes14 charactersText messageDisplay message on KNX screen
DPT 232.600Extended Message14 bytesExtended dataComplex messagesCustom alarm message

Conclusion

KNX data types form the foundation for effective and standardized communication between automation devices, enabling interoperability and scalability in systems. This detailed guide covered the variety of available data types, from simple binary commands to complex floating-point values and extended messages. With this knowledge, you can configure KNX systems more efficiently, optimizing functionalities for lighting, HVAC, shutter control, and other applications. Investing time in choosing the correct data types is essential for ensuring performance, accuracy, and robustness in residential and building automation systems.

Who Invented the Transistor? Find Out Everything H...
The “Val1” Parameter on the Aritech 2X-F2 Fire Ala...
 

Comments

No comments made yet. Be the first to submit a comment
Already Registered? Login Here
Thursday, 08 May 2025

Captcha Image