Transaktionen lesen

Transaktion lesen

Einer der ersten Anwendungsfälle bei der Interaktion mit Knoten in Matter ist das Lesen eines Attributs von einem anderen Knoten. zum Beispiel den Temperaturwert eines Sensors. Bei solchen Interaktionen Die auszuführende Aktion ist die Leseanfrageaktion.

<ph type="x-smartling-placeholder">
</ph> Abfolge von Vorgängen einer Lesetransaktion <ph type="x-smartling-placeholder">
</ph> Abbildung 1: Lesetransaktion

Leseanfrageaktion

Richtung: Initiator -> Ziel

Bei dieser Aktion fragt der Initiator ein Target ab, das Folgendes bereitstellt:

  • Attributanfragen: eine Liste mit null oder mehr Attributen des Ziels. Diese Liste besteht aus null oder mehr Pfaden zum angeforderten Attribute.
  • Ereignisanfragen: Liste mit null oder mehr Pfaden zum angeforderten Ziel Ereignisse.

Nachdem die Leseanfrageaktion beim Ziel empfangen wurde, wird eine Berichtsdatenaktion mit den angeforderten Informationen.

Aktion für Berichtsdaten

Richtung: Ziel -> Initiator

In dieser Aktion antwortet das Ziel mit:

  • Attributberichte: eine Liste mit null oder mehr der gemeldeten Attribute in der Leseaktionsanfrage angefordert.
  • Ereignisberichte: Eine Liste mit null oder mehr gemeldeten Ereignissen.
  • Suppress Response (Antwort unterdrücken): Ein Flag, das bestimmt, ob der status auf diese Aktion unterdrückt werden.
  • Subscription ID: Wenn dieser Bericht Teil einer Abotransaktion ist, Es muss eine Ganzzahl enthalten, mit der die Abotransaktion identifiziert wird.

Aktion für Statusantwort

Richtung: entweder Ziel -> Initiator oder Initiator -> Ziel

Sobald der Initiator die angeforderten Daten erhält, muss er standardmäßig eine Aktion für Statusantwort. Diese Aktion wird vom Initiator gesendet. den Empfang der gemeldeten Daten. Ist das Kennzeichen „Statusantwort unterdrücken“ gesetzt, Der Initiator darf die Statusantwortaktion nicht senden.

Sobald die Statusantwortaktion vom Initiator gesendet wurde oder Der Initiator empfängt die Aktion mit aktiviertem Flag „Antwort unterdrücken“, der Methode Lese-/Berichtsabfrage ist abgeschlossen.

Die Statusantwortaktion enthält einfach das Feld status, in dem den Vorgang bestätigen oder einen Fehlercode anzeigen.

Lesebeschränkungen

Die Aktion „Leseanfrage“ und „Berichtsdaten“ sind Nur Unicast. Außerdem dürfen die Pfade dieser Anfragen eine Gruppe von Knoten als Ziel haben.

Die Aktion für Statusantwort ist nur Unicast und kann nicht die als Antwort auf einen Groupcast generiert wurden.

Abotransaktion

<ph type="x-smartling-placeholder">
</ph> Abfolge von Vorgängen einer Abotransaktion <ph type="x-smartling-placeholder">
</ph> Abbildung 2: Abotransaktion

Aktion für Aboanfrage

Richtung: Initiator -> Ziel

Neben einer einzelnen Leseanfrageaktion kann ein Initiator auch von Attributen oder Ereignissen zu aktualisieren. Daher ist dieselbe Berichtsdatenaktion kann als Ergebnis regelmäßiger Datenaktualisierungen generiert werden, die auf einen Abotransaktion:

Eine Abointeraktion erstellt eine Beziehung zwischen zwei Knoten, wobei generiert das Ziel regelmäßig Berichtsdatenaktionen für den Initiator. Der Initiator ist der Abonnent und das Ziel ist der Publisher.

Eine Aktion für eine Aboanfrage enthält Folgendes:

  • Min Interval Floor: Das Mindestintervall zwischen Berichten.
  • Max Interval Ceiling: Das maximale Intervall zwischen Berichten.
  • Attributberichte: eine Liste mit null oder mehr der gemeldeten Attribute in der Leseaktionsanfrage angefordert.
  • Ereignisberichte: Eine Liste mit null oder mehr gemeldeten Ereignissen.

Nach der Abonnieren-Anfrage antwortet das Ziel dem Initiator mit einer Berichtsdatenaktion, die den ersten Batch gemeldeter Daten enthält: die Primed- Veröffentlichte Daten.

Der Initiator bestätigt dann die Berichtsdatenaktion mit einer Statusantwort Aktion an Ziel gesendet. Sobald das Ziel eine Statusantwortaktion erhält keine Fehler meldet, wird eine „Abonnieren-Antwort“-Aktion gesendet.

Das Ziel sendet daraufhin regelmäßig Berichtsdatenaktionen und der Initiator reagiert auf diese Aktionen, bis geht das Abo verloren oder wurde gekündigt.

Antwortaktion für Abonnieren

Richtung: Ziel -> Initiator

Dies ist die letzte Aktion bei der Abotransaktion und der Abschluss des . Dazu gehören:

  • Abo-ID: Eine Ganzzahl, die das Abo identifiziert.
  • Min Interval (Mindestintervall): das abschließende, bestimmte Mindestintervall zwischen Berichte.
  • Max Interval (Max. Intervall): das abschließende, festgelegte maximale Intervall zwischen Berichte.

Abo-Einschränkungen

  • Die Aktionen für die „Abonnieren“-Anfrage und die „Abonnieren-Antwort“ sind Aktionen nur für Unicast.
  • Alle Berichtsdatenaktionen in einer Abointeraktion müssen dieselben Abo-ID.
  • Wenn der Abonnent keine Berichtsdatenaktion innerhalb der maximalen Intervall zwischen den Aktionen festgelegt, wird das Abo beendet.
  • Infolge der vorstehenden Regel kann der Publisher eine Abonnementinteraktion, indem Sie einfach das Senden regelmäßiger Berichtsdaten beenden Aktionen.
  • Der Abonnent kann die Interaktion mit dem Abonnement beenden, indem er auf eine Berichtsdatenaktion mit dem Statuscode INACTIVE_SUBSCRIPTION.