Leer transacciones

Transacción de lectura

Uno de los primeros casos de uso cuando se interactúa 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 -> Destino

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

  • Solicitudes de atributos: Una lista de cero o más atributos del destino. Esta lista se compone de cero o más rutas de acceso a los atributos solicitados del destino.
  • Solicitudes de eventos: Una lista de cero o más rutas de acceso a los eventos solicitados del destino.

Después de que el destino recibe la acción de solicitud de lectura, ensamblará una acción de datos de informe con la información solicitada.

Acción de datos de informe

Dirección: Destino -> Iniciador

En esta acción, el destino 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.
  • Suprimir respuesta: 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: Destino -> Iniciador o Iniciador -> Destino

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 y confirma la recepción de los datos informados. Si se establece la marca Suprimir respuesta de estado, el iniciador no debe enviar la acción de respuesta de estado.

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

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

Restricciones de lectura

La acción de solicitud de lectura y la acción de datos de informe son Unicast-only. Además, las rutas de acceso de estas solicitudes no pueden segmentar un grupo de nodos.

La acción de respuesta de estado es Unicast-only y no se puede generar como respuesta a una transmisión grupal.

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 -> Destino

Además de una acción de solicitud de lectura singular, un iniciador también puede suscribirse a actualizaciones periódicas de un atributo o evento. Por lo tanto, la misma acción de datos de informe se puede generar como resultado de actualizaciones periódicas de datos que siguen una transacción de suscripción.

Una interacción de suscripción crea una relación entre dos nodos, en la que el destino genera periódicamente acciones de datos de informe para el iniciador. El iniciador es el suscriptor y el destino es el publicador.

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

  • Límite inferior del intervalo mínimo: Es el intervalo mínimo entre los informes.
  • Límite superior del intervalo máximo: Es el intervalo máximo entre los 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 datos de informe que contiene el primer lote de datos informados: los datos publicados preparados.

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

Posteriormente, el destino enviará la acción de datos de informe periódicamente 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: Destino -> Iniciador

Esta es la última acción de la transacción de suscripción y concluye el proceso. Incluye lo siguiente:

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

Restricciones de suscripción

  • La acción de solicitud de suscripción y la acción de respuesta de suscripción son Unicast-only actions.
  • Todas las acciones de datos de informe 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 informe dentro del intervalo máximo negociado entre las acciones, se finalizará la suscripción.
  • Como consecuencia de la regla anterior, el publicador puede finalizar una interacción de suscripción simplemente dejando de enviar acciones de datos de informe periódicas.
  • El suscriptor puede finalizar la interacción de suscripción respondiendo a una acción de datos de informe con un código de estado INACTIVE_SUBSCRIPTION.