Matter
Referência do driver Matter: comissionamento por Bluetooth na Fabric local, o fluxo do Parear dispositivo, identidade do nó e tags de cluster.
O driver Matter lê equipamento Matter over Thread: sensores inteligentes, tomadas, luzes e dispositivos semelhantes certificados para o padrão Matter. O Ganter Lab age como controlador Matter com Fabric local própria: ele comissiona cada dispositivo uma vez por Bluetooth Low Energy neste computador, entrega a ele as credenciais da sua rede Thread existente e, dali em diante, conversa com ele por aquela rede, através do seu Thread Border Router.
Isso inverte a ordem usual de configuração. Um dispositivo Matter não começa por um host e uma porta: ele começa por uma cerimônia de pareamento, e só a identidade estável do nó comissionado é guardada depois.
O que você precisa ter antes de parear:
- Um adaptador Bluetooth Low Energy neste computador, ligado, com o Windows permitindo que o Ganter Lab o use.
- Uma rede Thread existente com um Border Router, e o Active Operational Dataset completo dela. O Ganter Lab junta dispositivos à sua rede; ele não consegue inventar credenciais para ela.
- O código de configuração do dispositivo, impresso no dispositivo ou na embalagem, e o dispositivo em modo de pareamento.
O fluxo do Parear dispositivo
No driver Matter, a barra de ferramentas oferece Parear dispositivo onde os outros drivers oferecem Adicionar dispositivo. Ele abre um formulário com três campos:
| Campo | O que é | Formato | Padrão |
|---|---|---|---|
| Nome do dispositivo | O nome editável que o dispositivo vai carregar no Connector. | Texto livre | Dispositivo Matter |
| Código de configuração Matter | O código manual de pareamento oficial, ou o payload QR completo. Digitado mascarado, com um controle para revelar. | Um código manual de 11 ou 21 dígitos (traços e espaços são ignorados; o dígito verificador é conferido), ou o payload QR completo começando com MT:. Um payload QR que não anuncia comissionamento por Bluetooth é recusado, assim como senhas reservadas ou fora de faixa. |
vazio |
| Thread Operational Dataset | O dataset ativo completo da sua rede Thread, obtido com o administrador da rede ou com o Border Router. Digitado mascarado, com um controle para revelar. | Texto hexadecimal (espaços em branco e um prefixo hex: são tolerados), no máximo 254 bytes depois de decodificado. Ele precisa ser o dataset completo: Active Timestamp, Channel, Channel Mask, Extended PAN ID, Mesh-Local Prefix, Network Key, Network Name, PAN ID, PSKc e Security Policy precisam estar todos presentes, e um dataset parcial ou malformado é recusado com o elemento que falta nomeado. |
vazio |
O Parear dispositivo fica desabilitado até os três campos estarem preenchidos. Enquanto o pareamento roda, o formulário relata o estágio dele: Validar (conferindo o código e o dataset), Encontrar (procurando o dispositivo por Bluetooth), Parear (autenticando com o código de configuração), Entrar na Thread (enviando a configuração de rede e esperando o dispositivo aparecer na rede Thread), Salvar (registrando o nó comissionado na Fabric local).
O Cancelar fica disponível enquanto o dispositivo físico ainda não foi alterado; assim que o comissionamento alterou o dispositivo, o botão passa a dizer que o Ganter Lab está finalizando com segurança, e o fluxo completa o registro em vez de abandonar um nó comissionado pela metade. Um pareamento roda por vez; uma segunda tentativa enquanto um está em andamento é recusada.
Os segredos nunca são persistidos. O código de configuração e o dataset Thread existem só no formulário enquanto ele está aberto; eles são limpos quando o pareamento termina, falha ou é cancelado, e nada deles é escrito na configuração. O que é salvo é apenas a identidade do nó.
Se o pareamento falha, a mensagem declara a causa: um código ou dataset inválido, Bluetooth ausente ou desligado, o Windows negando acesso ao Bluetooth, nenhum dispositivo correspondente encontrado, o dispositivo rejeitando o código de configuração, ou o dispositivo comissionando mas nunca aparecendo na rede Thread. Um código de configuração errado é nomeado como tal, então a resposta é reler o código impresso e colocar o dispositivo de volta em modo de pareamento.
Sempre que uma falha chega depois de o equipamento já ter sido comissionado, a mensagem diz isso e mostra o Node ID: o nó continua na Fabric e pode ser adicionado mais tarde com o Descobrir, assim que ele alcançar a rede. Não reinicie o dispositivo nesse caso; só uma mensagem que diz que nada foi salvo significa que o equipamento ficou intocado.
Identidade do nó
Um dispositivo pareado fica preso ao Node ID estável de 64 bits do equipamento, mostrado somente leitura no cartão Conexão dele como 16 dígitos hexadecimais, ao lado do estado do dispositivo. O nome de exibição editável é seu para mudar; o Node ID não é. Um dispositivo cuja identidade guardada não pode mais ser lida mostra Precisa de novo pareamento no lugar dele.
Como a identidade é o Node ID, dispositivos Matter mantêm estado de conexão independente: desabilitar, excluir ou perder um nó não deixa outro indisponível, e excluir um dispositivo libera apenas o uso que ele fazia da sessão segura, e não remove o equipamento da Fabric local.
Descoberta
O Descobrir no driver Matter lista os nós já comissionados na Fabric local desta aplicação, então um nó cujo dispositivo foi excluído (ou cujo pareamento terminou sem dispositivo) pode ser adicionado de volta sem uma cerimônia nova. Um Node ID que já está configurado é marcado como tal, e o Abrir navega até o dispositivo existente. Os candidatos da descoberta carregam a identidade do nó e nenhum segredo de configuração. O fluxo geral de descoberta está descrito na página Connector.
Tags
Uma tag Matter não tem campo de endereço em texto livre. O nome da tag é o nome do cluster
a ler. O nome precisa bater com o nome do cluster como a especificação Matter o
escreve, espaços e pontuação incluídos, e maiúsculas ignoradas: On/Off,
Level Control, Temperature Measurement. Como o nome é o endereço, ele
não pode conter dois-pontos; o painel recusa um e diz isso. Um nome que nenhum cluster
carrega lê como um erro nomeando o cluster desconhecido. O valor é convertido para o
tipo de dado declarado da tag; um valor que o tipo declarado não consegue representar também lê como
erro, e não como número de substituição.
Dois campos numéricos dizem onde, no dispositivo, ler aquele cluster. Um dispositivo expõe um endpoint por saída controlável, numerados a partir de 1, então uma lâmpada de dois canais ou um filtro de linha é lido um endpoint por tag; o endpoint 0 é o próprio nó. O atributo é qual valor do cluster ler, e 0 é o valor do próprio cluster, que é o que quase toda tag quer.
| Campo | O que faz | Valores | Padrão |
|---|---|---|---|
| Nome da tag | Nomeia a tag e seleciona o cluster Matter lido do nó. Sem dois-pontos. | O nome do cluster escrito, por exemplo On/Off |
Tag 1 |
| Saída (endpoint) | Qual saída do dispositivo esta tag lê. | 0 ou mais; 1 é a primeira saída controlável | 1 |
| Atributo | Qual atributo do cluster esta tag lê. | 0 ou mais; 0 é o valor do próprio cluster | 0 |
| Tipo de dado | O tipo OPC UA em que o valor é exposto. | Boolean, Int32, UInt32, Float, Double, String | Float |
| Intervalo de leitura | De quanto em quanto tempo o atributo é lido, por tag, com o padrão do dispositivo (1000 ms) valendo onde a tag não declara nenhum. | milissegundos | padrão do dispositivo |
Tags Matter são somente leitura: o campo de acesso não oferece escolha gravável e escritas de atributo são recusadas pelo runtime. Alterar um dispositivo Matter (ligá-lo, por exemplo) é um comando Matter, que escritas de tag não modelam.