Lire les transactions

Lire la transaction

L'un des premiers cas d'utilisation lors de l'interaction avec des nœuds dans Matter est la lecture d'un attribut à partir d'un autre nœud, comme une valeur de température à partir d'un capteur. Dans de telles interactions, la première L'action qui doit être exécutée est l'action de demande de lecture.

Séquence d&#39;opérations d&#39;une transaction de lecture <ph type="x-smartling-placeholder">
</ph> Figure 1: Lecture de la transaction

Action de requête de lecture

Direction: Initiateur -> Cible

Dans cette action, l'initiateur interroge une cible en fournissant:

  • Requêtes d'attributs: une liste comportant zéro, un ou plusieurs attributs de la cible. Cette liste est composée de zéro, un ou plusieurs chemins d'accès aux données Attributs.
  • Requêtes d'événement: liste comportant zéro, un ou plusieurs chemins vers les requêtes de la cible. Événements.

Une fois que la cible a reçu l'action de requête de lecture, elle assemble une action de création de rapports avec les informations demandées.

Action sur les données de rapport

Sens : cible -> initiateur

Dans cette action, la cible répond avec :

  • Rapports sur les attributs: liste de zéro, un ou plusieurs attributs signalés demandée dans la requête "Read Action".
  • Rapports sur les événements: liste contenant zéro, un ou plusieurs événements enregistrés.
  • Suppress Response (Supprimer la réponse) : indicateur qui détermine si l'état à cette action doit être supprimée.
  • ID d'abonnement: si ce rapport fait partie d'une transaction d'abonnement, elle doit inclure un entier utilisé pour identifier la transaction d'abonnement.

Action de réponse d'état

Sens : cible -> initiateur ou initiateur -> cible

Une fois que l'initiateur a reçu les données demandées, il doit générer par défaut une action de réponse d'état. Cette action est envoyée par l'initiateur, confirmant que la réception des données rapportées. Si l'indicateur Suppress Status Response est défini, l'initiateur ne doit pas envoyer l'action de réponse d'état.

Une fois que l'action de réponse d'état est envoyée par l'initiateur ou un rapport L'action est reçue par l'initiateur avec l'indicateur Supprimer la réponse activé, le de lecture/de rapport est terminée.

L'action de réponse d'état contient simplement un champ status qui confirmer la réussite de l'opération ou afficher un code d'échec.

Restrictions de lecture

Les actions "Read Request Action" et "Report Data Action" sont Unicast seulement. De plus, les chemins de ces requêtes ne doivent pas cibler un groupe de nœuds.

L'action de réponse d'état est réservée à Unicast et ne peut pas être générée en réponse à un groupcast.

Transaction d'abonnement

Séquence des opérations d&#39;une transaction d&#39;abonnement <ph type="x-smartling-placeholder">
</ph> Figure 2: Transaction d'abonnement

Action de demande d'abonnement

Direction: Initiateur -> Cible

En plus d'une action de requête de lecture unique, un initiateur peut également s'abonner à des mises à jour périodiques d'un attribut ou d'un événement. Ainsi, la même action de rapport sur les données peuvent être générées suite à des mises à jour périodiques des données qui suivent Transaction d'abonnement.

Une interaction d'abonnement crée une relation entre deux nœuds, dans laquelle la cible génère périodiquement des actions pour les données de rapport à l'initiateur. L'initiateur est l'abonné et la cible est l'éditeur.

Une action de demande d'abonnement contient:

  • Min Interval Floor (Intervalle minimal entre les rapports) : l'intervalle minimal entre les rapports.
  • Max. Interval Ceiling (Seuil d'intervalle maximal) : intervalle maximal entre les rapports.
  • Rapports sur les attributs: liste de zéro, un ou plusieurs attributs signalés demandée dans la requête "Read Action".
  • Rapports sur les événements : liste d'événements signalés (zéro ou plusieurs).

Après la demande d'abonnement, la cible répond à l'initiateur avec un message Action de données de rapport contenant le premier lot de données de rapport: le champ Primed Données publiées :

L'initiateur reconnaît ensuite l'action de rapport de données avec une réponse de statut. Action envoyée à la cible. Une fois que la cible reçoit une action de réponse d'état indiquant qu'aucune erreur n'a été détectée, elle envoie une action de réponse d'abonnement.

Par la suite, la Cible enverra régulièrement des Actions sur les données de rapport à l'intervalle négocié. L'initiateur répondra à ces actions jusqu'à ce que l'abonnement est perdu ou résilié.

Action de réponse "S'abonner"

Direction: cible -> Initiateur

Il s'agit de la dernière action de la Transactions d'abonnement et met fin à la processus. Il inclut les éléments suivants :

  • ID d'abonnement: entier qui identifie l'abonnement.
  • Intervalle minimal: l'intervalle minimal final, déterminé entre rapports.
  • Intervalle maximal: l'intervalle maximal final, déterminé entre rapports.

Restrictions relatives aux abonnements

  • Les actions de demande d'abonnement et de réponse d'abonnement Actions limitées à Unicast.
  • Toutes les actions liées aux données de rapport dans une interaction d'abonnement doivent avoir le même ID d'abonnement.
  • Si l'abonné ne reçoit pas d'action de données de rapport dans l'intervalle maximal négocié entre les actions, l'abonnement sera résilié.
  • En vertu de la règle précédente, l'Éditeur peut résilier un Interaction avec l'abonnement en arrêtant simplement l'envoi de Données de rapport périodiques les actions.
  • L'Abonné peut mettre fin à l'Interaction d'abonnement en répondant à une Action de données de rapport avec un code d'état INACTIVE_SUBSCRIPTION.