docs:dpt_knx

KNX Datapoint Types (DPT)

DPT определяет, как интерпретировать данные, передаваемые по шине KNX.
Формат: ГлавныйТип.Подтип (например, 1.001, 9.001).
Главный тип задаёт размер и способ кодирования, подтип — физическую величину, единицы и диапазон.

Главный тип Размер данных Кодирование Примеры подтипов
1 1 бит Булево (0/1) 1.001 Switch, 1.003 Enable, 1.008 Up/Down
3 4 бита Управление диммированием (шаг + напр.) 3.007 Dimming control
4 4 бита Управление жалюзи (шаг + напр.) 4.008 Blind control
5 1 байт Целое без знака (0..255) 5.001 0..100%, 5.004 0..255%, 5.003 Angle
6 1 байт Целое со знаком (-128..127) 6.001 Percentage (-128%..127%)
7 2 байта Целое без знака (0..65535) 7.001 Pulse counter, 7.012 Current (mA)
8 2 байта Целое со знаком (-32768..32767) 8.001 Signed counter, 8.010 Time (s)
9 2 байта Плавающая точка (KNX float) 9.001 Temperature (°C), 9.004 Lux
10 3 байта Время суток 10.001 Time of day
11 3 байта Дата 11.001 Date
12 4 байта Целое без знака (0..4 294 967 295) 12.001 Counter, 12.005 Energy (Wh)
13 4 байта Целое со знаком (±2 147 483 648) 13.001 Signed counter
14 4 байта Плавающая точка IEEE 754 14.056 Pressure (Pa), 14.068 Wind speed (m/s)
16 до 14 байт Строка символов (ASCII/ISO 8859-1) 16.000 ASCII, 16.001 ISO 8859-1
17 1 байт Номер сцены 17.001 Scene number
20 1 байт Режим HVAC 20.102 HVAC mode
24 3 байта Одиночный символ 24.001 Char ASCII

Один бит данных (0 или 1). Интерпретируется в зависимости от подтипа.

Подтип Название Значение 0 Значение 1
1.001 Switch Off On
1.002 Bool False True
1.003 Enable Disable Enable
1.005 Alarm No alarm Alarm
1.008 Up/Down Up Down
1.009 Step Close / decrease Open / increase
1.010 Start/Stop Stop / close Start / open
1.011 State Inactive Active

Пример телеграммы: 0x01 — включить свет (для DPT 1.001).


Оба используют 4-битный ниббл: старший бит задаёт направление, младшие три — шаг (0..7, 0 = стоп).

  • Бит 3: 0 = уменьшить, 1 = увеличить.
  • Биты 2..0: шаг диммирования.
  • Бит 3: 0 = вверх, 1 = вниз.
  • Биты 2..0: интервал движения (обычно в шагах/секундах).

Пример: 0xC (1100₂) — увеличить яркость на 4 шага.


8-битное беззнаковое целое. Важнейшие подтипы:

Подтип Название Физический диапазон Примечание
5.001 Scaling 0% … 100% Процент = raw × 100 / 255. 0xFF = 100%
5.003 Angle 0° … 360° Угол = raw × 360 / 255
5.004 Percentage (0..255%) 0% … 255% Процент = raw. 0xFF = 255%
5.005 Counter pulses 0 … 255 Сырой счёт
5.010 Value 1-byte unsigned 0 … 255 Без масштабирования

⚠️ Важно: 0xFF для 5.001 = 100%, для 5.004 = 255%. Не путайте при стыковке устройств.


8-битное знаковое целое (дополнение до двух).

Подтип Название Диапазон
6.001 Percentage signed -128% … 127%
6.010 Counter 1-byte signed -128 … 127
6.020 Status mode 3 (HVAC) -128 … 127

16-битные целые, передаются в порядке Big Endian (старший байт первым).

  • DPT 7 (0..65535): 7.001 Pulse counter, 7.012 Current (mA), 7.013 Brightness (lux).
  • DPT 8 (-32768..32767): 8.001 Signed counter, 8.010 Time (s).

Формат, специфичный для KNX (не IEEE 754).
Структура 16 бит (старший байт первым):

  • Бит 15: знак (S) — 0 = +, 1 = –
  • Биты 14..11: экспонента (E) — 0..15
  • Биты 10..0: мантисса (M) — знаковое целое, -2048..2047

Значение вычисляется по формуле:
V = (0.01 × M) × 2^E

Точность зависит от выбранной пары (E,M). Диапазон покрывает от очень малых до ~±670760.

Подтип Физическая величина Единица Пример применения
9.001 Температура °C Датчики температуры
9.002 Разность температур K Тепловые счётчики
9.004 Освещённость lux Датчики освещённости
9.005 Скорость м/с Анемометры
9.006 Давление Па Датчики давления
9.007 Влажность % Гигрометры
9.008 Концентрация CO₂ ppm Датчики качества воздуха

Пример кодирования 21,5 °C: E=1, M=1075, S=0 → телеграмма 0x1433.


  • DPT 10 (Time of day): байты: день недели (1..7, 0=нет), часы (0..23), минуты (0..59), секунды (0..59). Упакованы в 3 байта.
  • DPT 11 (Date): год (0..99), месяц (1..12), день (1..31).

Используются для синхронизации часов, расписаний.


32-битные данные для больших чисел и высокой точности.

  • DPT 12 (беззнаковое): 0..4 294 967 295. 12.001 Counter, 12.005 Energy (Wh).
  • DPT 13 (знаковое): ±2 147 483 648. 13.001 Signed counter.
  • DPT 14 (IEEE 754 float): 32-битная плавающая точка. 14.056 Pressure (Pa), 14.068 Wind speed (m/s).

  • DPT 16 (Character string): до 14 символов. Первый байт — длина, затем символы.
    16.000 — ASCII, 16.001 — ISO 8859-1 (Latin-1).
    Пример: текстовые метки, сообщения на дисплеях.
  • DPT 24 (Char, 3 bytes): один символ из ISO 8859-1. Используется реже, обычно для посимвольного вывода.

  • DPT 17 (Scene number): 1 байт. Биты 0..5 — номер сцены (0..63), бит 7 — 0 = активация, 1 = обучение (запись) сцены.
  • DPT 18 (Scene control): позволяет команды «следующая/предыдущая сцена».

1 байт, кодирующий режим отопления/вентиляции/кондиционирования.
Подтип 20.102: например, значения — Comfort, Standby, Economy, Building protection.


  • Все объекты, связанные одним групповым адресом, должны иметь одинаковый или согласованный DPT.
  • Телеграмма KNX не содержит информации о DPT. Устройства используют свой сконфигурированный тип.
  • Несовпадение DPT (например, 5.001 и 5.004) приведёт к ошибочной интерпретации значений.

Всегда сверяйтесь с официальным каталогом DPT в ETS и документацией производителя. Эта шпаргалка охватывает наиболее частые типы; для специальных задач существуют сотни других подтипов.


  • docs/dpt_knx.txt
  • Последнее изменение: 8 ч. назад
  • admin