O protocolo KNX é um padrão para automação de edifícios e residências, permitindo a interligação e comunicação entre diversos dispositivos, como interruptores, sensores, atuadores e controladores. Para que todos os dispositivos KNX possam comunicar de forma eficaz, é essencial que a troca de dados siga uma estrutura padronizada. É aqui que entram os Data Point Types (DPTs), conhecidos como Tipos de Dados em KNX.

Os DPTs são definidos pela especificação KNX para garantir que diferentes fabricantes possam desenvolver dispositivos compatíveis. Estes tipos de dados especificam como os dados são representados, transmitidos e interpretados. A correta definição do tipo de dado permite evitar conflitos e garantir que a informação transmitida seja compreendida por todos os dispositivos na instalação.

Os tipos de dados em KNX são categorizados com base no seu formato e na aplicação pretendida. Neste artigo, vou detalhar todos os principais tipos de dados, desde os mais simples, como comandos binários (1 bit), até aos mais complexos, como strings de texto (16 bytes) e valores flutuantes (ponto flutuante).

Tipos de Dados Binários

Os tipos de dados binários são os mais simples e amplamente utilizados em KNX para representar comandos básicos, como ligar/desligar, abrir/fechar, e ativar/desativar.

DPT 1.xxx – 1 Bit (Comando Binário)

Os tipos de dados DPT 1.xxx utilizam apenas 1 bit de informação, sendo adequados para estados booleanos (verdadeiro/falso, ligado/desligado).

  • DPT 1.001 (Switch): Utilizado para comandos de ligar/desligar. Por exemplo, ao pressionar um interruptor KNX, o comando "ligar" é enviado com o valor 1, e o comando "desligar" é enviado com o valor 0.
    • Exemplo Prático: Um botão de luz controla uma lâmpada. Ao pressionar, envia o valor 1 (ligar). Ao pressionar novamente, envia o valor 0 (desligar).


  • DPT 1.002 (Boolean): Representa estados booleanos genéricos, sem uma aplicação específica.
    • Exemplo Prático: Indicação de estado de uma porta (aberta = 1, fechada = 0).


  • DPT 1.003 (Alarm): Utilizado para sinalização de alarmes. O valor 1 indica a ativação de um alarme e o valor 0 indica a desativação.
    • Exemplo Prático: Ativação de um alarme de intrusão quando um sensor de movimento deteta atividade.


  • DPT 1.008 (Up/Down): Utilizado para controlo de estores ou persianas. O valor 1 indica "subir" e o valor 0 indica "descer".
    • Exemplo Prático: Um botão de controlo de estores permite subir (1) ou descer (0) os estores.

DPT 2.xxx – 2 Bits (Comando Binário com Estado)

Os tipos de dados DPT 2.xxx utilizam 2 bits, permitindo transmitir tanto o comando quanto o estado do dispositivo. Esta abordagem oferece uma maior segurança e fiabilidade na comunicação.

  • DPT 2.001 (Switch Control): Indica o comando (bit 0) e o estado (bit 1). O bit de comando define a ação (ligar/desligar), enquanto o bit de estado confirma se a ação foi executada.
    • Exemplo Prático: Ao ligar uma lâmpada, o bit de comando é 1, e o bit de estado também é ajustado para 1 para confirmar que a lâmpada foi ligada.

Tipos de Dados Numéricos Simples

Os tipos de dados numéricos permitem transmitir valores inteiros e percentuais, utilizados frequentemente para controlo de iluminação e ajustes de parâmetros.

DPT 5.xxx – 1 Byte (8 Bits, Valores Numéricos)

Os tipos de dados DPT 5.xxx utilizam 1 byte (8 bits) para transmitir um valor numérico. São amplamente utilizados para valores escalares, como intensidade de luz e posição de estores.

  • DPT 5.001 (Scaling): Representa um valor percentual de 0 a 100%, mapeado de 0 a 255 no formato binário.
    • Exemplo Prático: Controlo de intensidade de luz. Um valor de 0 significa luz apagada, e um valor de 255 significa luz a 100% de intensidade.

  • DPT 5.003 (Angle): Utilizado para representar ângulos de 0 a 360 graus.
    • Exemplo Prático: Ajuste de um refletor para uma posição específica, enviando o ângulo desejado.

  • DPT 5.004 (Percentage): Semelhante ao DPT 5.001, mas utilizado especificamente para representar percentagens genéricas.
    • Exemplo Prático: Ajuste de ventilação, onde 0% representa o ventilador desligado e 100% representa a velocidade máxima.

DPT 6.xxx – 1 Byte Signed (Inteiro com Sinal)

Os tipos de dados DPT 6.xxx utilizam 1 byte para representar valores inteiros com sinal, permitindo transmitir valores negativos e positivos.

  • DPT 6.001 (Signed Percentage): Utilizado para valores percentuais com sinal, variando de -128 a +127.
    • Exemplo Prático: Correção de offset para um sensor de temperatura, onde valores negativos indicam uma correção para baixo e valores positivos indicam uma correção para cima.

Tipos de Dados Numéricos com Sinal e Sem Sinal

Os tipos de dados numéricos com maior precisão são frequentemente utilizados para medições e contagens, especialmente em aplicações que requerem um alcance mais amplo de valores.

DPT 7.xxx – 2 Bytes (Inteiro Sem Sinal)

Os tipos de dados DPT 7.xxx utilizam 2 bytes (16 bits) para representar valores inteiros sem sinal, permitindo transmitir valores de 0 a 65.535.

  • DPT 7.001 (Unsigned Value 16-bit): Utilizado para contagem ou medição de valores inteiros positivos, como a leitura de contadores.
    • Exemplo Prático: Transmissão da leitura de um contador de água. Se o contador regista 12.345 litros, este valor é enviado como um número inteiro de 16 bits.

  • DPT 7.005 (Pulse Counter): Específico para contadores de pulsos.
    • Exemplo Prático: Um sensor de fluxo de água envia pulsos para um contador KNX, que acumula o total de pulsos e transmite o valor como um inteiro de 16 bits.

DPT 8.xxx – 2 Bytes Signed (Inteiro com Sinal)

Os tipos de dados DPT 8.xxx também utilizam 2 bytes, mas permitem representar valores inteiros tanto positivos como negativos, variando de -32.768 a +32.767.

  • DPT 8.001 (Signed Value 16-bit): Utilizado para medições que podem assumir valores negativos e positivos.
    • Exemplo Prático: Medição de temperatura numa aplicação industrial. Um sensor envia valores que variam de -50°C a +150°C, e estes são transmitidos como inteiros com sinal.

  • DPT 8.002 (Delta Time in Seconds): Representa uma alteração de tempo em segundos, útil para medir diferenças de tempo entre eventos.
    • Exemplo Prático: Medição do intervalo de tempo entre dois acionamentos de um sensor de movimento.

DPT 9.xxx – 2 Bytes Float (Ponto Flutuante)

Os tipos de dados DPT 9.xxx são utilizados para transmitir valores em formato de ponto flutuante, permitindo maior precisão em medições, como temperatura, humidade e pressão.

  • DPT 9.001 (Temperature): Utilizado para medições de temperatura, variando de -273°C a +670°C.
    • Exemplo Prático: Um sensor de temperatura ambiente transmite o valor medido, por exemplo, 22.5°C, utilizando o formato de ponto flutuante.

  • DPT 9.002 (Humidity): Para medições de humidade relativa, de 0% a 100%.
    • Exemplo Prático: Um sensor de humidade num sistema de HVAC envia a leitura de humidade do ar, como 55%, utilizando este tipo de dado.

  • DPT 9.024 (Wind Speed): Medição da velocidade do vento em m/s.
    • Exemplo Prático: Um anemómetro KNX transmite a velocidade do vento medida para ajustar automaticamente persianas em caso de ventos fortes.

Tipos de Dados Avançados

Estes tipos de dados são utilizados para aplicações que requerem uma maior complexidade, como transmissão de hora, data e texto.

DPT 10.xxx – 3 Bytes (Hora e Data)

Os tipos de dados DPT 10.xxx permitem a transmissão de informações de tempo, como hora e data, utilizando 3 bytes.

  • DPT 10.001 (Time of Day): Representa a hora do dia, incluindo horas, minutos e segundos (HH:MM).
    • Exemplo Prático: Um relógio mestre no sistema KNX transmite a hora atual para sincronizar todos os dispositivos na rede.

  • DPT 10.002 (Date and Time): Combina a data e a hora num único formato.
    • Exemplo Prático: Um sistema de gestão de edifícios envia a data e a hora para todos os dispositivos KNX para sincronização.

DPT 11.xxx – 3 Bytes (Data)

Os tipos de dados DPT 11.xxx são utilizados para representar apenas a data (dia, mês e ano).

  • DPT 11.001 (Date): Utilizado para transmitir a data no formato DD-MM-YYYY.
    • Exemplo Prático: Um sensor KNX transmite a data de última manutenção de um dispositivo para registo no sistema de gestão.

DPT 12.xxx – 4 Bytes (Inteiro Sem Sinal, 32 Bits)

Os tipos de dados DPT 12.xxx utilizam 4 bytes para representar valores inteiros sem sinal de 32 bits, permitindo transmitir valores muito grandes.

  • DPT 12.001 (Unsigned Value 32-bit): Utilizado para contagem de grandes volumes, como consumo de energia elétrica.
    • Exemplo Prático: Um contador de energia transmite o consumo total em kWh utilizando este formato de dado.

DPT 13.xxx – 4 Bytes Signed (Inteiro com Sinal, 32 Bits)

Os tipos de dados DPT 13.xxx também utilizam 4 bytes, mas permitem representar valores com sinal, de -2.147.483.648 a +2.147.483.647.

  • DPT 13.001 (Signed Value 32-bit): Utilizado para medições que requerem um grande alcance de valores, como medições de fluxo de corrente.
    • Exemplo Prático: Um sensor de corrente envia o valor da corrente medida numa linha elétrica, que pode ser negativo ou positivo.

DPT 14.xxx – 4 Bytes Float (Alta Precisão)

Os tipos de dados DPT 14.xxx são utilizados para transmitir valores de alta precisão em ponto flutuante.

  • DPT 14.056 (Active Energy): Utilizado para transmitir medições precisas de energia ativa.
    • Exemplo Prático: Um analisador de rede envia o consumo de energia ativa em tempo real para o sistema de monitorização.

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

Os tipos de dados DPT 16.xxx permitem a transmissão de strings de texto, com um máximo de 14 caracteres.

  • DPT 16.001 (ASCII String): Utilizado para enviar mensagens de texto.
    • Exemplo Prático: Um display KNX exibe uma mensagem enviada pelo sistema, como "Porta aberta".

Tabela Completa de Tipos de Dados KNX

1. Tipos de Dados Binários (1 Bit)

Tipo de Dado Nome Tamanho Intervalo de ValoresDescriçãoExemplo Prático
DPT 1.001 Switch 1 bit 0, 1Comando ligar/desligarInterruptor de luz
DPT 1.002Bool1 bit0, 1Valor booleano genéricoAtivação de cenário
DPT 1.003Enable1 bit0, 1Habilitar/desabilitarAtivação de função
DPT 1.008Up/Down1 bit0, 1Controlo de subida/descidaControlo de estores
DPT 1.009Open/Close1 bit0, 1Abrir/fecharControlo de válvulas

2. Tipos de Dados de Controlo (2 e 3 Bits)

Tipo de Dado Nome Tamanho Intervalo de ValoresDescriçãoExemplo Prático
DPT 2.001Switch Control2 bits0-3Comando com estadoInterruptor com feedback
DPT 3.007Dimming Control4 bits0-15Controlo de intensidadeEscurecimento progressivo
DPT 3.008Blinds Control4 bits0-15Controlo de persianasAjuste de posição

3. Tipos de Dados Percentuais e Valores Pequenos (1 Byte)

Tipo de Dado Nome Tamanho Intervalo de ValoresDescriçãoExemplo Prático
DPT 5.001Scaling1 byte0-255 (0-100%)PercentagemControlo de luz dimmer
DPT 5.004Angle1 byte0-255 (0-360º)Ângulo de rotaçãoControlo de servo motor
DPT 5.010Step1 byte0-255Incremento/decrementoAjuste de ventilação

4. Tipos de Dados Inteiros (Com e Sem Sinal)

Tipo de Dado Nome Tamanho Intervalo de ValoresDescriçãoExemplo Prático
DPT 6.010Counter Value1 byte-128 a 127Valor inteiro com sinalContagem de eventos
DPT 7.001Unsigned Value 16-bit2 bytes0-65.535Valor sem sinalLeitura de contador de água
DPT 8.001Signed Value 16-bit2 bytes-32.768 a 32.767Valor com sinalMedição de temperatura negativa

5. Tipos de Dados Flutuantes (Float)

Tipo de Dado Nome Tamanho Intervalo de ValoresDescriçãoExemplo Prático
DPT 9.001Temperature2 bytes-273 a 670Temperatura em ponto flutuanteSensor de temperatura ambiente
DPT 9.005Illumination2 bytes0 a 670.760 luxMedição de luzSensor de luminosidade
DPT 14.001Acceleration4 bytesFloatAceleração em m/s²Sensor de movimento

6. Tipos de Dados para Data e Hora

Tipo de Dado Nome Tamanho Intervalo de ValoresDescriçãoExemplo Prático
DPT 10.001Time of Day3 bytesHH:MMHora atualSincronização horária
DPT 11.001Date3 bytesMMData atualEnvio de data para registo
DPT 19.001Date and Time8 bytesData e Hora combinadasCombinação de data e horaRelógio mestre em automação

7. Tipos de Dados para HVAC

Tipo de Dado Nome Tamanho Intervalo de ValoresDescriçãoExemplo Prático
DPT 20.102HVAC Mode1 byte0-255Modo de operação HVACMudança para modo aquecimento
DPT 21.100HVAC Control Mode1 byte0-255Modo de controlo HVACControlo de temperatura ambiente

8. Tipos de Dados Complexos e de Texto

Tipo de Dado Nome Tamanho Intervalo de ValoresDescriçãoExemplo Prático
DPT 16.001ASCII String14 bytes14 caracteresMensagem de textoExibição em display KNX
DPT 232.600Extended Message14 bytesDados estendidosMensagens complexasMensagem de alarme personalizada

Conclusão

Os tipos de dados em KNX são a base para a comunicação eficaz e padronizada entre dispositivos de automação, facilitando a interoperabilidade e a escalabilidade dos sistemas. Este guia detalhado permitiu compreender a variedade de tipos de dados disponíveis, desde os mais simples, como comandos binários, até os mais complexos, como valores de ponto flutuante e mensagens estendidas. Com este conhecimento, é possível configurar sistemas KNX de forma mais eficiente, otimizando funcionalidades para iluminação, HVAC, controlo de estores e outras aplicações. Investir tempo na escolha correta dos tipos de dados é essencial para garantir a performance, a precisão e a robustez dos sistemas de automação residencial e predial.