Membaca Transaksi
Salah satu kasus penggunaan pertama saat berinteraksi dengan Node di Matter adalah membaca Atribut dari Node lain, seperti nilai suhu dari sensor. Dalam Interaksi tersebut, Tindakan pertama yang harus dilakukan adalah Tindakan Permintaan Baca.
Tindakan Permintaan Baca
Arah: Inisiator -> Target
Dalam Tindakan ini, Inisiator mengkueri Target yang menyediakan:
- Permintaan Atribut: daftar nol atau beberapa Atribut Target. Daftar ini terdiri dari nol atau beberapa Jalur ke Atribut yang diminta Target.
- Permintaan Peristiwa: daftar nol atau beberapa Jalur ke Peristiwa yang diminta Target.
Setelah Tindakan Permintaan Baca diterima oleh Target, tindakan ini akan mengumpulkan Tindakan Data Laporan dengan informasi yang diminta.
Tindakan Data Laporan
Arah: Target -> Inisiator
Dalam Tindakan ini, Target merespons dengan:
- Laporan Atribut: daftar nol atau beberapa Atribut yang dilaporkan yang diminta dalam Permintaan Tindakan Baca.
- Laporan Peristiwa: daftar nol atau beberapa Peristiwa yang dilaporkan.
- Respons Batalkan: flag yang menentukan apakah respons status untuk tindakan ini harus dibatalkan.
- ID Langganan: jika laporan ini adalah bagian dari transaksi langganan, laporan ini harus menyertakan bilangan bulat yang digunakan untuk mengidentifikasi transaksi langganan.
Tindakan Respons Status
Arah: Target -> Inisiator atau Inisiator -> Target
Setelah menerima data yang diminta, Inisiator secara default harus membuat Tindakan Respons Status. Tindakan ini dikirim dari Inisiator, yang mengonfirmasi penerimaan data yang dilaporkan. Jika flag Batalkan Respons Status ditetapkan, Inisiator tidak boleh mengirim Tindakan Respons Status.
Setelah Tindakan Respons Status dikirim oleh Inisiator, atau Tindakan Data Laporan diterima oleh Inisiator dengan flag Batalkan Respons diaktifkan, kueri baca/laporan akan selesai.
Tindakan Respons Status hanya berisi kolom status yang akan mengonfirmasi keberhasilan operasi atau menampilkan kode kegagalan.
Batasan Baca
Tindakan Permintaan Baca dan Tindakan Data Laporan hanya Unicast-only. Selain itu, Jalur permintaan ini tidak dapat menargetkan Grup Node.
Tindakan Respons Status hanya Unicast-only dan tidak dapat dibuat sebagai respons terhadap groupcast.
Transaksi Langganan
Tindakan Permintaan Berlangganan
Arah: Inisiator -> Target
Selain Tindakan Permintaan Baca tunggal, Inisiator juga dapat berlangganan update berkala Atribut atau Peristiwa. Dengan demikian, Tindakan Data Laporan yang sama dapat dibuat sebagai hasil dari update data berkala yang mengikuti Transaksi Langganan.
Interaksi Langganan membuat hubungan antara dua Node, yang mana Target secara berkala membuat Tindakan Data Laporan ke Inisiator. Inisiator adalah Pelanggan dan Target adalah Penayang.
Tindakan Permintaan Berlangganan berisi:
- Batas Interval Minimum: interval minimum antar-laporan.
- Batas Interval Maksimum: interval maksimum antar-laporan.
- Laporan Atribut: daftar nol atau beberapa Atribut yang dilaporkan yang diminta dalam Permintaan Tindakan Baca.
- Laporan Peristiwa: daftar nol atau beberapa Peristiwa yang dilaporkan.
Setelah Permintaan Berlangganan, Target merespons Inisiator dengan Tindakan Data Laporan yang berisi batch pertama data yang dilaporkan: Data yang Dipublikasikan yang Dioptimalkan.
Inisiator kemudian mengonfirmasi Tindakan Data Laporan dengan Tindakan Respons Status yang dikirim ke Target. Setelah menerima Tindakan Respons Status yang melaporkan tidak ada error, Target akan mengirim Tindakan Respons Berlangganan.
Selanjutnya, Target akan mengirim Tindakan Data Laporan secara berkala pada interval yang dinegosiasikan dan Inisiator akan merespons Tindakan tersebut hingga langganan hilang atau dibatalkan.
Tindakan Respons Berlangganan
Arah: Target -> Inisiator
Ini adalah Tindakan terakhir pada Transaksi Langganan dan mengakhiri proses. Tindakan ini mencakup:
- ID Langganan: bilangan bulat yang mengidentifikasi langganan.
- Interval Minimum: interval minimum akhir, ditentukan antar-laporan.
- Interval Maksimum: interval maksimum akhir, ditentukan antar- laporan.
Batasan Berlangganan
- Tindakan Permintaan Berlangganan dan Tindakan Respons Berlangganan adalah Unicast-only actions.
- Semua Tindakan Data Laporan dalam Interaksi Langganan harus memiliki ID Langganan yang sama.
- Jika Pelanggan tidak menerima Tindakan Data Laporan dalam interval maksimum yang dinegosiasikan antar-Tindakan, langganan akan dihentikan.
- Sebagai konsekuensi dari aturan sebelumnya, Penayang dapat menghentikan Interaksi Langganan dengan berhenti mengirim Tindakan Data Laporan berkala.
- Pelanggan dapat menghentikan Interaksi Langganan dengan merespons Tindakan Data Laporan dengan kode status
INACTIVE_SUBSCRIPTION.