Чтение транзакции
Один из первых сценариев использования при взаимодействии с узлами в Matter — это чтение атрибута из другого узла, например, значения температуры с датчика. В таких взаимодействиях первым действием, которое необходимо выполнить, является запрос на чтение.

Действие "Прочитать запрос"
Направление: Инициатор -> Цель
В этом действии инициатор запрашивает у цели следующую информацию:
- Запросы атрибутов : список из нуля или более атрибутов целевого объекта. Этот список состоит из нуля или более путей к запрашиваемым атрибутам целевого объекта.
- Запросы событий : список из нуля или более путей к запрошенным событиям целевого объекта.
После получения запроса на чтение целевым устройством, оно сформирует запрос на создание отчета, содержащий запрошенную информацию.
Действия с данными отчета
Направление: Цель -> Инициатор
В этом действии цель отвечает следующим образом:
- Отчеты по атрибутам : список из нуля или более атрибутов, указанных в запросе на чтение.
- Отчеты о событиях : список событий, по которым не было зарегистрировано ни одного или более событий.
- Подавление ответа : флаг, определяющий, следует ли подавлять ответ о состоянии на это действие.
- Идентификатор подписки : если этот отчет является частью транзакции подписки, он должен содержать целое число, используемое для идентификации транзакции подписки.
Действия по реагированию на статус
Направление: либо Цель -> Инициатор, либо Инициатор -> Цель
После получения инициатором запрошенных данных он по умолчанию должен сгенерировать действие «Ответ о состоянии». Это действие отправляется инициатором в подтверждение получения сообщенных данных. Если установлен флаг «Подавлять ответ о состоянии», инициатор не должен отправлять действие «Ответ о состоянии».
После отправки инициатором ответа о состоянии или получения инициатором ответа на запрос данных отчета с включенным флагом подавления ответа, запрос на чтение/составление отчета завершается.
Действие «Ответ на статус» содержит простое поле статуса , которое либо подтверждает успешное выполнение операции, либо отображает код ошибки.
Ознакомьтесь с ограничениями.
Действия «Запрос на чтение» и «Отчет о данных» работают только Unicast . Более того, пути этих запросов не могут быть нацелены на группу узлов.
Действие «Ответ о состоянии» предназначено только Unicast и не может быть сгенерировано в ответ на групповую рассылку.
Подписка

Запрос на подписку
Направление: Инициатор -> Цель
Помимо единичного запроса на чтение, инициатор может также подписаться на периодические обновления атрибута или события. Таким образом, одно и то же действие «Данные отчета» может быть сгенерировано в результате периодических обновлений данных, следующих за транзакцией подписки .
Взаимодействие по подписке создает связь между двумя узлами, в которой целевой узел периодически генерирует действия по отправке данных отчета инициатору. Инициатор является подписчиком , а целевой узел — издателем .
Действие «Запрос на подписку» содержит:
- Минимальный интервал между отчетами: минимальный интервал между ними.
- Максимальный интервал между отчетами: максимальный интервал между ними.
- Отчеты по атрибутам: список из нуля или более атрибутов, запрошенных в запросе на чтение.
- Отчеты о событиях: список событий, по которым не было зарегистрировано ни одного или более событий.
После запроса на подписку целевая система отвечает инициатору действием «Отчет о данных», содержащим первую партию сообщенных данных: предварительно подготовленные опубликованные данные .
Затем инициатор подтверждает действие «Отчет о данных», отправляя целевому объекту ответное сообщение о состоянии. Как только целевой объект получает ответное сообщение о состоянии, в котором нет ошибок, он отправляет ответное сообщение «Подписка».
Впоследствии Целевая сторона будет периодически отправлять Действия по предоставлению отчетов с согласованной периодичностью, а Инициатор будет отвечать на эти Действия до тех пор, пока подписка не будет утеряна или отменена.
Действие ответа на подписку
Направление: Цель -> Инициатор
Это последнее действие в рамках транзакции подписки, завершающее процесс. Оно включает в себя:
- Идентификатор подписки : целое число, определяющее подписку.
- Минимальный интервал : окончательно определенный минимальный интервал между отчетами.
- Максимальный интервал : окончательно определенный максимальный интервал между отчетами.
Ограничения подписки
- Действия «Запрос на подписку» и «Ответ на подписку» выполняются только Unicast .
- Все действия с данными отчетов в рамках взаимодействия с подпиской должны иметь один и тот же идентификатор подписки.
- Если подписчик не получит действие по отправке отчетных данных в течение максимально согласованного интервала между действиями, подписка будет аннулирована.
- Вследствие предыдущего правила, издатель может прекратить взаимодействие по подписке, просто прекратив отправку периодических действий с данными отчетов.
- Подписчик может прекратить действие подписки, ответив на действие «Отчет о данных» кодом состояния
INACTIVE_SUBSCRIPTION.