Membaca Transaksi

Membaca Transaksi

Salah satu kasus penggunaan pertama saat berinteraksi dengan Node di Matter adalah pembacaan Atribut dari Node lain, seperti nilai suhu dari sensor. Dalam Interaksi tersebut, hal pertama Tindakan yang harus dilakukan adalah Tindakan Permintaan Baca.

Urutan operasi Transaksi Baca
Gambar 1: Membaca Transaksi

Tindakan Permintaan Baca

Arah: Inisiator -> Target

Dalam Tindakan ini, Inisiator akan mengkueri Target dengan memberikan:

  • Permintaan Atribut: daftar yang berisi nol atau beberapa Atribut Target. Daftar ini terdiri dari nol atau beberapa Jalur ke Target yang diminta Atribut.
  • Permintaan Peristiwa: daftar berisi nol atau beberapa Jalur ke Target yang diminta Acara.

Setelah Tindakan Permintaan Baca diterima oleh Target, target akan menyusun Melaporkan Tindakan Data dengan informasi yang diminta.

Tindakan Data Laporan

Arah: Target -> Inisiator

Dalam Tindakan ini, Target merespons dengan:

  • Laporan Atribut: daftar yang berisi nol atau beberapa Atribut yang dilaporkan yang diminta dalam Permintaan Tindakan Baca.
  • Laporan Peristiwa: daftar yang berisi nol atau beberapa Peristiwa yang dilaporkan.
  • Hentikan Respons: tanda yang menentukan apakah status respons terhadap tindakan ini harus dihentikan.
  • ID Langganan: jika laporan ini adalah bagian dari transaksi berlangganan, harus menyertakan bilangan bulat yang digunakan untuk mengidentifikasi transaksi langganan.

Tindakan Respons Status

Arah: target -> Inisiator atau Inisiator -> Target

Setelah Inisiator menerima data yang diminta, secara {i>default<i} ia harus membuat Tindakan Respons Status. Tindakan ini dikirim dari Inisiator, yang mengakui penerimaan data yang dilaporkan. Jika penanda {i>suppress Status Response<i} diatur, Inisiator tidak boleh mengirimkan Tindakan Respons Status.

Setelah Tindakan Respons Status dikirim oleh Inisiator, atau Data Laporan Tindakan diterima oleh Inisiator dengan tanda Pencegatan Respons diaktifkan, kueri baca/laporan selesai.

Tindakan Respons Status hanya berisi kolom status yang akan mengonfirmasi keberhasilan operasi atau menunjukkan kode kegagalan.

Baca Batasan

Tindakan Permintaan Baca dan Tindakan Data Laporan Khusus Unicast. Selain itu, Jalur permintaan ini mungkin menargetkan Grup Node.

Tindakan Respons Status bersifat Unicast saja dan tidak dapat yang dihasilkan sebagai respons terhadap {i>groupcast<i}.

Transaksi Langganan

Urutan operasi Transaksi Langganan
Gambar 2: Transaksi Langganan

Tindakan Permintaan Langganan

Arah: Inisiator -> Target

Selain Tindakan Permintaan Baca tunggal, Inisiator juga dapat berlangganan pembaruan berkala dari Atribut atau Peristiwa. Dengan demikian, Tindakan Data Laporan yang sama dapat dihasilkan sebagai hasil dari pembaruan data berkala yang mengikuti Transaksi Langganan.

Interaksi Langganan menciptakan hubungan antara dua Node, di mana Target secara berkala membuat Tindakan Data Laporan kepada Inisiator. Inisiator adalah Subscriber dan Targetnya adalah Publisher.

Tindakan Permintaan Berlangganan berisi:

  • Minimum Interval Minimum: interval minimum antarlaporan.
  • Batas Interval Maks: interval maksimum antarlaporan.
  • Laporan Atribut: daftar yang berisi nol atau beberapa Atribut yang dilaporkan yang diminta dalam Permintaan Tindakan Baca.
  • Laporan Peristiwa: daftar yang berisi nol atau beberapa Peristiwa yang dilaporkan.

Setelah Permintaan Berlangganan, Target merespons Inisiator dengan Tindakan Data Laporan yang berisi batch pertama dari data yang dilaporkan: Primed Data yang Dipublikasikan.

Inisiator kemudian mengonfirmasi Tindakan Data Laporan dengan Respons Status Tindakan dikirim ke Target. Setelah Target menerima Tindakan Respons Status melaporkan tidak ada error, tindakan ini akan mengirimkan Tindakan Respons Langganan.

Target kemudian akan mengirim Tindakan Data Laporan secara berkala pada interval yang dinegosiasikan dan Inisiator akan menanggapi Tindakan tersebut sampai langganan tersebut hilang atau dibatalkan.

Tindakan Respons Langganan

Arah: Target -> Inisiator

Ini adalah Tindakan terakhir atas Transaksi Langganan dan mengakhiri {i>checkout<i}. Ini mencakup:

  • ID Langganan: bilangan bulat yang mengidentifikasi langganan.
  • Interval Min: interval minimum terakhir, ditentukan antara laporan.
  • Interval Maks: interval maksimum terakhir, ditentukan antara laporan.

Pembatasan Langganan

  • Tindakan Permintaan Berlangganan dan Tindakan Respons Langganan Tindakan khusus Unicast.
  • Semua Tindakan Data Laporan dalam Interaksi Langganan harus memiliki ID Langganan.
  • Jika Pelanggan tidak menerima Tindakan Data Laporan dalam jangka waktu maksimum interval yang dinegosiasikan antar-Tindakan, langganan akan dihentikan.
  • Sebagai konsekuensi dari aturan sebelumnya, Penayang dapat menghentikan Interaksi Langganan dengan hanya menghentikan pengiriman Data Laporan berkala Tindakan.
  • Pelanggan dapat menghentikan Interaksi Langganan dengan menanggapi Laporkan Tindakan Data dengan kode status INACTIVE_SUBSCRIPTION.