Leer transacciones

Leer transacciones

Uno de los primeros casos de uso cuando interactúas con nodos en Matter es la lectura de un atributo de otro nodo, como un valor de temperatura de un sensor. En esas interacciones, la primera acción que se debe realizar es la acción de solicitud de lectura.

Secuencia de operaciones de una transacción de lectura
Figura 1: Transacción de lectura

Acción de solicitud de lectura

Dirección: Iniciador -> Objetivo

En esta acción, el iniciador consulta un objetivo que proporciona lo siguiente:

  • Solicitudes de atributos: Una lista de cero o más atributos del destino Esta lista está compuesta por cero o más rutas de acceso a los atributos solicitados del destino.
  • Solicitudes de eventos: Lista de cero o más rutas de acceso a los eventos solicitados del Destino.

Una vez que el destino recibe la acción de solicitud de lectura, arma una acción de datos de informes con la información solicitada.

Acción de informe de datos

Dirección: Objetivo -> Iniciador

En esta acción, el objetivo responde con lo siguiente:

  • Informes de atributos: Una lista de cero o más de los atributos informados solicitados en la solicitud de acción de lectura.
  • Informes de eventos: Una lista de cero o más eventos informados
  • Suppress Response: Una marca que determina si se debe suprimir la respuesta de estado a esta acción.
  • ID de suscripción: Si este informe forma parte de una transacción de suscripción, debe incluir un número entero que se use para identificar la transacción de suscripción.

Acción de respuesta de estado

Dirección: Objetivo -> Iniciador o Iniciador -> Objetivo

Una vez que el iniciador recibe los datos solicitados, de forma predeterminada debe generar una Acción de respuesta de estado. Esta acción se envía desde el iniciador para confirmar la recepción de los datos informados. Si se configura la marca Suppress Status Response, el iniciador no debe enviar la acción de respuesta de estado.

Cuando el iniciador envía la acción de respuesta de estado o recibe una acción de informe de datos con la marca Suprimir respuesta habilitada, finaliza la consulta de lectura/informe.

La Acción de respuesta de estado simplemente contiene un campo status que confirmará el éxito de la operación o presentará un código de falla.

Leer restricciones

La acción de solicitud de lectura y la acción de informar datos son solo de Unicast. Además, es posible que las rutas de estas solicitudes no se orienten a un grupo de nodos.

La acción de respuesta de estado es solo para Unicast y no se puede generar como una respuesta a una transmisión en grupo.

Transacción de suscripción

Secuencia de operaciones de una transacción de suscripción
Figura 2: Transacción de suscripción

Acción de solicitud de suscripción

Dirección: Iniciador -> Objetivo

Además de una única Acción de solicitud de lectura, un iniciador también puede suscribirse a actualizaciones periódicas de un Atributo o Evento. Por lo tanto, se puede generar la misma Acción de datos de informes como resultado de las actualizaciones de datos periódicas que siguen a una Transacción de suscripción.

Una interacción de suscripción crea una relación entre dos nodos, en la que el objetivo genera acciones de datos de informes al iniciador de forma periódica. El iniciador es el suscriptor y el objetivo es el publicador.

Una acción de solicitud de suscripción contiene lo siguiente:

  • Límite mínimo de intervalo: Es el intervalo mínimo entre informes.
  • Límite máximo de intervalo máximo: el intervalo máximo entre informes.
  • Informes de atributos: Una lista de cero o más de los atributos informados solicitados en la solicitud de acción de lectura
  • Informes de eventos: Una lista de cero o más eventos informados

Después de la solicitud de suscripción, el destino responde al iniciador con una acción de informe de datos que contiene el primer lote de datos informados: los datos publicados principales.

Luego, el iniciador confirma la acción de informar datos con una Acción de respuesta de estado enviada al objetivo. Una vez que el Destino recibe una Acción de respuesta de estado que informa que no hay errores, envía una acción de respuesta de suscripción.

Luego, el Destino enviará una Acción de datos de informes de forma periódica en el intervalo negociado, y el Iniciador responderá a esas Acciones hasta que se pierda o cancele la suscripción.

Acción de respuesta de suscripción

Dirección: Objetivo -> Iniciador

Esta es la última Acción en la transacción de suscripción y concluye el proceso. En él se incluye lo siguiente:

  • ID de suscripción: Es un número entero que identifica la suscripción.
  • Intervalo mínimo: Es el intervalo mínimo final y determinado entre informes.
  • Intervalo máximo: Es el intervalo máximo final y determinado entre informes.

Restricciones de suscripción

  • La acción de solicitud de suscripción y la acción de respuesta de suscripción son acciones de solo Unicast.
  • Todas las acciones de datos de informes en una interacción de suscripción deben tener el mismo ID de suscripción.
  • Si el suscriptor no recibe una Acción de datos de informes dentro del intervalo máximo negociado entre Acciones, se cancelará la suscripción.
  • Como consecuencia de la regla anterior, el Publicador puede cancelar una interacción de suscripción simplemente dejando de enviar acciones periódicas de datos de informes.
  • El suscriptor puede cancelar la interacción de suscripción si responde a una acción de informe de datos con un código de estado INACTIVE_SUBSCRIPTION.