Odczytywanie transakcji

Odczytywanie transakcji

Jeden z pierwszych przypadków użycia podczas interakcji z węzłami Matter to odczyt atrybutu z innego węzła, np. wartość temperatury z czujnika. W takich interakcjach pierwszy Czynność, którą należy wykonać, to Odczyt żądania.

Sekwencja operacji odczytu transakcji odczytu
Rysunek 1. Odczytywanie transakcji

Odczytywanie działania żądania

Kierunek: Inicjator -> Docelowe

W tym działaniu inicjator wysyła zapytanie do elementu docelowego, podając:

  • Żądania atrybutu: lista zawierająca zero lub więcej atrybutów celu. Ta lista zawiera zero lub więcej ścieżek do żądanych ścieżek Atrybuty.
  • Żądania zdarzenia: lista zero lub więcej ścieżek do żądanych ścieżek celu. Wydarzenia.

Gdy element docelowy otrzyma działanie odczytu, utworzy Raportuj działanie dotyczące danych z wymaganymi informacjami.

Działanie na danych w raporcie

Kierunek: Cel -> Inicjator

W ramach tej akcji cel w odpowiedzi przesyła:

  • raporty dotyczące atrybutów: lista zawierająca co najmniej 0 atrybutów zgłaszanych; w żądaniu działania związanego z odczytem.
  • Raporty o zdarzeniach: lista co najmniej 0 zgłoszonych zdarzeń.
  • Suppress Response (Pomiń odpowiedź): flaga określająca, czy stan odpowiedź na to działanie powinna być pomijana.
  • Identyfikator subskrypcji: jeśli raport jest częścią transakcji subskrypcji, musi zawierać liczbę całkowitą używaną do identyfikacji transakcji dotyczącej subskrypcji.

Działanie w odpowiedzi na stan

Kierunek: albo Cel -> Inicjator lub inicjator -> Docelowe

Gdy inicjator otrzyma żądane dane, domyślnie musi wygenerować Działanie związane ze stanem. To działanie jest wysyłane z inicjatora w celu potwierdzenia odebranie raportowanych danych. Jeśli flaga „Suppress Status Response” jest ustawiona, Inicjator nie może wysyłać działania stanu odpowiedzi.

Gdy inicjator wyśle działanie stanu odpowiedzi lub dane do raportu Działanie jest odbierane przez inicjatora z włączoną flagą Suppress Response, Zapytanie o odczyt/raport zostało zakończone.

Pole Status Action (Stan) zawiera tylko pole status, które potwierdza powodzenie operacji lub wyświetla kod błędu.

Odczyt ograniczeń

Działanie związane z żądaniem odczytu i działaniem danych w raportach są Tylko Unicast. Co więcej, ścieżki tych żądań mogą nie być są kierowane na grupę węzłów.

Działanie związane ze stanem jest dostępne tylko w trybie Unicast i nie można go wygenerowane jako odpowiedź na transmisję Groupcast.

Transakcja subskrypcji

Kolejność działań Transakcji subskrypcji
Rysunek 2. Transakcja subskrypcji

Działanie prośby o subskrypcję

Kierunek: Inicjator -> Docelowe

Oprócz pojedynczej akcji odczytu, inicjator może również subskrybować do okresowych aktualizacji atrybutu lub zdarzenia. Dlatego to samo działanie związane z danymi w raporcie mogą być generowane w wyniku okresowych aktualizacji danych następujących po Transakcja subskrypcji.

Interakcja w ramach subskrypcji tworzy relację między dwoma węzłami, w której element docelowy okresowo generuje dla inicjatora działania na danych raportowania. Inicjator to Subskrybent, a elementem docelowym to Wydawca.

Działanie żądania subskrypcji zawiera:

  • Minimalny interwał: minimalny odstęp czasu między raportami.
  • Maksymalny odstęp czasu: maksymalny odstęp między raportami.
  • raporty dotyczące atrybutów: lista z co najmniej 0 zgłoszonych atrybutów; w żądaniu działania związanego z odczytem.
  • Raporty o zdarzeniach: lista z co najmniej 0 zgłoszonych zdarzeń.

Po żądaniu subskrypcji obiekt docelowy odpowiada inicjatorowi, wysyłając wiadomość Raport Akcja dotycząca danych, która zawiera pierwszą partię raportowanych danych: raport Primed Opublikowane dane.

Następnie inicjator potwierdza wykonanie działania dotyczącego danych w raporcie, podając odpowiedź stanu Działanie wysłane do celu. Gdy cel otrzyma działanie związane ze stanem nie zgłasza żadnych błędów, wysyła działanie związane z subskrypcją.

Cel będzie okresowo wysyłać Działanie dotyczące danych raportu co jakiś czas, w wynegocjowanym przedziale czasu, a Inicjator zareaguje na te Działania do subskrypcja zostanie utracona lub anulowana.

Działanie w odpowiedzi na subskrypcję

Kierunek: Cel -> Inicjator

Jest to ostatnie działanie w ramach Transakcji subskrypcji i zakończy proces tworzenia konta. Usługa ta obejmuje:

  • Identyfikator subskrypcji: liczba całkowita określająca subskrypcję.
  • Interwał minimalny: końcowy, określony minimalny interwał pomiędzy raportów.
  • Maksymalny interwał: końcowy, określony maksymalny odstęp między raportów.

Ograniczenia subskrypcji

  • Działania związane z żądaniem subskrypcji i reakcją subskrypcji to Działania dostępne tylko na Unicast.
  • Wszystkie działania dotyczące danych z raportów w interakcji z subskrypcją muszą mieć takie samo Identyfikator subskrypcji.
  • Jeśli subskrybent nie otrzyma Działania na danych z raportu w zakresie w wynegocjowanym okresie między działaniami, subskrypcja zostanie zakończona.
  • W związku z poprzednią regułą Wydawca może zakończyć interakcje z subskrypcjami przez przerwanie wysyłania okresowych danych z raportów; Działania.
  • Subskrybent może zakończyć interakcję z subskrypcją, odpowiadając na Raportowanie działań dotyczących danych z kodem stanu INACTIVE_SUBSCRIPTION.