Transaction de lecture
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 action à effectuer est l'action de lecture de la requête.
Action de requête de lecture
Sens: initiateur -> cible
Dans cette action, l'initiateur interroge une cible en fournissant:
- Requêtes d'attributs: liste d'un ou plusieurs attributs de la cible. Cette liste est composée de zéro ou plusieurs chemins d'accès aux attributs demandés par la cible.
- Requêtes d'événements: liste de zéro ou plusieurs chemins d'accès aux événements demandés par la cible.
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 du rapport
Sens: cible -> initiateur
Dans cette action, la cible répond avec:
- Rapports sur les attributs: liste de zéro ou plusieurs attributs signalés demandés dans la requête d'action de lecture.
- Rapports sur les événements: liste de zéro ou plusieurs événements signalés.
- Suppress Response (Supprimer la réponse) : indicateur qui détermine si la réponse d'état à cette action doit être supprimée.
- ID d'abonnement: si ce rapport fait partie d'une transaction d'abonnement, il doit inclure un entier permettant d'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 pour confirmer la réception des données signalées. Si l'indicateur "Suppress Status Response" (Supprimer la réponse d'état) 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 qu'une action de création de rapports sur les données est reçue par l'initiateur avec l'indicateur de suppression de la réponse activé, la requête de lecture/de création de rapports est terminée.
L'action de réponse d'état contient simplement un champ status qui confirmera la réussite de l'opération ou présentera un code d'erreur.
Restrictions de lecture
Les actions "Action de requête de lecture" et "Action de données de rapport" sont réservées à Unicast. 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
Action de la demande d'abonnement
Sens: 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. Par conséquent, la même action de données de rapport peut être générée en raison de mises à jour de données périodiques qui suivent une 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 de données de rapport à l'initiateur. L'initiateur est l'abonné et la cible est l'éditeur.
Une action de demande d'abonnement contient les éléments suivants:
- Intervalle minimal: 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 ou plusieurs attributs signalés demandés dans la requête d'action de lecture.
- Rapports sur les événements: liste d'événements signalés (zéro ou plusieurs).
Après la requête d'abonnement, la cible répond à l'initiateur avec une action de création de rapports sur les données contenant le premier lot de données signalées: les données publiées activées.
L'initiateur confirme ensuite l'action de création de rapports sur les données par une action de réponse d'état 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.
La cible envoie ensuite l'action de création de rapports de données périodiquement à l'intervalle négocié, et l'initiateur répond à ces actions jusqu'à ce que l'abonnement soit perdu ou résilié.
Action de réponse "S'abonner"
Sens: cible -> initiateur
Il s'agit de la dernière action sur la transaction d'abonnement et conclut le processus. Il inclut les éléments suivants :
- ID d'abonnement: entier qui identifie l'abonnement.
- Intervalle minimal: intervalle minimal défini et déterminé entre les rapports.
- Intervalle maximal: intervalle maximal défini et définitif entre les rapports.
Restrictions concernant les abonnements
- L'action de requête d'abonnement et l'action de réponse d'abonnement sont des actions réservées à Unicast.
- Toutes les actions de données de rapport d'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é.
- Conformément à la règle précédente, l'éditeur peut mettre fin à une interaction d'abonnement en cessant simplement d'envoyer des actions de données de rapport périodiques.
- L'abonné peut mettre fin à l'interaction d'abonnement en répondant à une action de création de rapports sur les données avec un code d'état
INACTIVE_SUBSCRIPTION
.