Na última seção, discutimos as interações de leitura de atributos e eventos. Nesta seção, vamos falar sobre a gravação de atributos, que é a alteração de um valor de atributo em um cluster, como Level.
Transação de gravação sem marcação de tempo
![Sequência de operações de uma transação de gravação sem marcação de tempo](https://developers.home.google.com/static/matter/primer/images/primer-im-untimed-writing.png?hl=pt)
Ação de solicitação de gravação
Direção: Iniciador -> Objetivo
De forma semelhante à ação de solicitação de leitura, nessa ação, o iniciador fornece ao destino:
- Solicitações de gravação: uma lista de uma ou mais tuplas contendo o caminho e os dados.
- Solicitação com marcação de tempo: uma sinalização que indica se a ação faz parte de uma transação de gravação com marcação de tempo.
- Suppress Response: uma sinalização que indica se a ação de status da resposta precisa ser suprimida.
Ação de resposta de gravação
Direção: Objetivo -> Iniciador
Depois que o destino receber a ação de solicitação de gravação, ele finalizará a transação com uma ação de resposta de gravação que contém:
- Respostas de gravação: uma lista de caminhos e códigos de erro para cada solicitação de gravação enviada na ação de solicitação de gravação.
Restrições de gravação sem marcação de tempo
A ação de solicitação de gravação pode ser um groupcast, mas, nesse caso, a sinalização de supressão de resposta precisa ser definida. O motivo é que, caso contrário, a rede poderia ser inundada por respostas simultâneas de todos os membros de um grupo.
Para ativar esse comportamento, o caminho usado na lista "Solicitações de gravação" pode conter grupos ou conter caracteres curinga, mas apenas no campo "Endpoint".
Transação de gravação com marcação de tempo
![Sequência de operações de uma transação de gravação com marcação de tempo](https://developers.home.google.com/static/matter/primer/images/primer-im-timed-writing.png?hl=pt)
As transações de gravação cronometrada adicionam algumas etapas às transações de gravação sem marcação de tempo.
Ação de solicitação com marcação de tempo
Direção: Iniciador -> Objetivo
Um iniciador inicia a transação enviando essa ação que contém:
- Tempo limite: quantos milissegundos essa transação pode permanecer aberta. Durante esse período, a próxima ação enviada pelo iniciador será considerada válida.
Depois que a ação de solicitação programada for recebida, o destino precisará confirmar a ação com uma ação de resposta de status. Quando o iniciador receber uma ação de resposta de status informando que não há erros, ele vai enviar uma ação de solicitação de gravação.
Ação de solicitação de gravação
Igual à Ação de solicitação de gravação descrita anteriormente.
Ação de resposta de gravação
Igual à Ação de resposta de gravação descrita anteriormente.
Restrições de gravação com tempo determinado
A ação de solicitação cronometrada, a ação de solicitação de gravação e a ação de resposta de gravação são apenas unicast.