Ler transações

Ler transação

Um dos primeiros casos de uso ao interagir com nós em Matter é a leitura de um atributo de outro nó, como o valor da temperatura de um sensor. Nessas interações, a primeira ação que precisa ser realizada é a de solicitação de leitura.

Sequência de operações de uma transação de leitura
Figura 1: transação de leitura

Ação de solicitação de leitura

Direção: Iniciador -> Alvo

Nesta ação, o iniciador consulta um destino fornecendo:

  • Solicitações de atributo: uma lista de zero ou mais atributos do destino. Essa lista é composta por zero ou mais caminhos para os atributos solicitados do destino.
  • Solicitações de evento: lista de zero ou mais caminhos para os eventos solicitados do destino.

Depois que a ação de solicitação de leitura for recebida pelo destino, ele montará uma ação de dados do relatório com as informações solicitadas.

Ação de dados do relatório

Direção: alvo -> Iniciador

Nesta ação, o alvo responde com:

  • Relatórios de atributos: uma lista de zero ou mais dos atributos informados que foram solicitados na solicitação de ação de leitura.
  • Relatórios de eventos: uma lista de zero ou mais eventos informados.
  • Suprimir resposta: uma sinalização que determina se a resposta de status a essa ação precisa ser suprimida.
  • ID da assinatura: se esse relatório fizer parte de uma transação de assinatura, ele precisará incluir um número inteiro usado para identificar a transação de assinatura.

Ação de resposta de status

Direção: alvo -> iniciador ou iniciador -> alvo.

Depois que o iniciador recebe os dados solicitados, por padrão, ele precisa gerar uma ação de resposta de status. Essa ação é enviada pelo iniciador, reconhecendo o recebimento dos dados reportados. Se a sinalização "Suprimir resposta de status" estiver definida, o iniciador não poderá enviar a ação.

Depois que a ação de resposta de status é enviada pelo iniciador ou uma ação de dados de relatório é recebida pelo iniciador com a sinalização "Suprimir resposta" ativada, a consulta de leitura/relatório é concluída.

A ação de resposta de status contém apenas um campo status que confirma o sucesso da operação ou apresenta um código de falha.

Restrições de leitura

As ações de solicitação de leitura e de dados de relatório são somente Unicast. Além disso, os caminhos dessas solicitações não podem ter como destino um grupo de nós.

A ação de resposta de status é somente de Unicast e não pode ser gerada como resposta a um groupcast.

Transação de assinatura

Sequência de operações de uma transação de assinatura
Figura 2: transação de assinatura

Ação de solicitação de inscrição

Direção: Iniciador -> Alvo

Além de uma única ação de solicitação de leitura, um iniciador também pode se inscrever para atualizações periódicas de um atributo ou evento. Assim, a mesma ação de dados do relatório pode ser gerada como resultado de atualizações periódicas de dados que ocorrem após uma transação de assinatura.

Uma interação de assinatura cria uma relação entre dois nós, em que o destino gera periodicamente ações de dados do relatório para o iniciador. O iniciador é o assinante, e o destino é o editor.

Uma ação de solicitação de assinatura contém:

  • Valor mínimo do intervalo mínimo: o intervalo mínimo entre os relatórios.
  • Limite máximo do intervalo: o intervalo máximo entre os relatórios.
  • Relatórios de atributos: uma lista de zero ou mais dos atributos informados que foram solicitados na solicitação de ação de leitura.
  • Relatórios de eventos: uma lista de zero ou mais Eventos relatados.

Após a solicitação de assinatura, o destino responde ao iniciador com uma ação de dados do relatório contendo o primeiro lote de dados informados: os dados publicados com Primed.

Em seguida, o iniciador confirma a ação de dados do relatório com uma ação de resposta de status enviada ao destino. Depois que o destino recebe uma ação de resposta de status sem erros, ele envia uma ação de resposta de assinatura.

Posteriormente, o alvo enviará a ação de dados do relatório periodicamente no intervalo negociado, e o iniciador responderá a essas ações até que a assinatura seja perdida ou cancelada.

Ação de resposta de inscrição

Direção: alvo -> Iniciador

Essa é a última ação na transação de assinatura e conclui o processo. Saiba o que ele inclui:

  • ID da assinatura: um número inteiro que identifica a assinatura.
  • Min Interval: o intervalo mínimo final e determinado entre os relatórios.
  • Max Interval: o intervalo máximo final e determinado entre os relatórios.

Restrições de assinatura

  • As ações de solicitação de assinatura e de resposta de inscrição são somente Unicast.
  • Todas as ações de dados do relatório em uma interação de assinatura precisam ter o mesmo ID da assinatura.
  • Se o assinante não receber uma ação de dados de relatório dentro do intervalo máximo negociado entre as ações, a assinatura será encerrada.
  • Como consequência da regra anterior, o Editor pode encerrar uma interação de assinatura simplesmente interrompendo o envio de ações periódicas de dados do relatório.
  • O Assinante pode encerrar a Interação de Assinatura respondendo a uma Ação de Dados do Relatório com um código de status INACTIVE_SUBSCRIPTION.