Complete Guide to KNX Datapoint Types: Everything You Need to Know About KNX Data Types With Examples of How They Work
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)
- 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)
- 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."
The DPT 16.xxx data types allow for the transmission of text strings, with a maximum of 14 characters.
Complete Table of KNX Data Types
1. Binary Data Types (1 Bit)
Data Type | Name | Size | Value Range | Descrição | Practical Example |
DPT 1.001 | Switch | 1 bit | 0, 1 | On/off command | Light switch |
DPT 1.002 | Bool | 1 bit | 0, 1 | Generic boolean value | Scene activation |
DPT 1.003 | Enable | 1 bit | 0, 1 | Enable/disable | Function activation |
DPT 1.008 | Up/Down | 1 bit | 0, 1 | Up/down control | Shutter control |
DPT 1.009 | Open/Close | 1 bit | 0, 1 | Open/close | Valve control |
2. Control Data Types (2 and 3 Bits)
Data Type | Name | Size | Value Range | Description | Practical Example |
DPT 2.001 | Switch Control | 2 bits | 0-3 | Command with state | Switch with feedback |
DPT 3.007 | Dimming Control | 4 bits | 0-15 | Intensity control | Progressive dimming |
DPT 3.008 | Blinds Control | 4 bits | 0-15 | Shutter control | Position adjustment |
3. Percentual and Small Value Data Types (1 Byte)
Data Type | Name | Size | Value Range | Description | Practical Example |
DPT 5.001 | Scaling | 1 byte | 0-255 (0-100%) | Percentage | Dimmer light control |
DPT 5.004 | Angle | 1 byte | 0-255 (0-360º) | Rotation angle | Servo motor control |
DPT 5.010 | Step | 1 byte | 0-255 | Increment/decrement | Ventilation adjustment |
4. Integer Data Types (Signed and Unsigned)
Data Type | Name | Size | Value Range | Description | Practical Example |
DPT 6.010 | Counter Value | 1 byte | -128 to 127 | Signed integer value | Event count |
DPT 7.001 | Unsigned Value 16-bit | 2 bytes | 0-65,535 | Unsigned integer value | Water meter reading |
DPT 8.001 | Signed Value 16-bit | 2 bytes | -32,768 to 32,767 | Signed integer value | Negative temperature reading |
5. Tipos de Dados Flutuantes (Float)
Data Type | Name | Size | Value Range | Description | Practical Example |
DPT 9.001 | Temperature | 2 bytes | -273 to 670 | Floating point temperature | Ambient temperature sensor |
DPT 9.005 | Illumination | 2 bytes | 0 to 670,760 lux | Light measurement | Luminosity sensor |
DPT 14.001 | Acceleration | 4 bytes | Float | Acceleration in m/s² | Motion sensor |
6. Tipos de Dados para Data e Hora
Data Type | Name | Size | Value Range | Description | Practical Example |
DPT 10.001 | Time of Day | 3 bytes | HH:MM | Current time | Sincronização horária |
DPT 11.001 | Date | 3 bytes | MM | Current date | Sending date for recording |
DPT 19.001 | Date and Time | 8 bytes | Combined | Date and time combined | Master clock in automation |
7. HVAC Data Types
Data Type | Name | Size | Value Range | Description | Practical Example |
DPT 20.102 | HVAC Mode | 1 byte | 0-255 | HVAC operation mode | Switching to heating mode |
DPT 21.100 | HVAC Control Mode | 1 byte | 0-255 | HVAC control mode | Ambient temperature control |
8. Complex and Text Data Types
Data Type | Name | Size | Value Range | Description | Practical Example |
DPT 16.001 | ASCII String | 14 bytes | 14 characters | Text message | Display message on KNX screen |
DPT 232.600 | Extended Message | 14 bytes | Extended data | Complex messages | Custom 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.
Comments