Model Data Perangkat

Perangkat di Matter memiliki model data (DM) yang terdefinisi dengan baik, yang merupakan pemodelan hierarkis fitur Perangkat. Di tingkat teratas hierarki ini ada Perangkat.

Perangkat dan Endpoint

Semua Perangkat, termasuk smartphone dan asisten rumah, terdiri dari Node1. Node adalah resource yang dapat diidentifikasi dan ditujukan secara unik dalam sebuah jaringan yang dapat dipersepsi pengguna sebagai keseluruhan fungsi. Komunikasi jaringan di Matter berawal dan berakhir di Node.

Node adalah kumpulan Endpoint. Setiap Endpoint menyertakan set fitur. Misalnya, Endpoint mungkin berkaitan dengan fungsi pencahayaan, sementara Endpoint lainnya berkaitan dengan deteksi gerakan, dan Endpoint lainnya berkaitan dengan utilitas seperti OTA Perangkat.

Hierarki Perangkat, Node, dan Endpoint
Gambar 1: Perangkat, Node, dan Endpoint

Peran node

Peran Node adalah kumpulan perilaku terkait. Setiap Node dapat memiliki satu atau beberapa peran. Peran node meliputi:

  • Komisioner: Node yang melakukan Commissioning.
  • Pengontrol: Node yang dapat mengontrol satu atau beberapa Node. Contohnya mencakup Google Home app (GHA), Google Assistant, dan Google Nest Hub (2nd gen). Beberapa jenis perangkat, seperti Tombol Lampu Aktif/Nonaktif, memiliki peran Pengontrol.
  • Kontrol: Node yang dapat dikontrol oleh satu atau beberapa Node. Sebagian besar jenis perangkat dapat menjadi Kontrol, kecuali untuk beberapa jenis perangkat yang memiliki peran Pengontrol, seperti Tombol Lampu Aktif/Nonaktif. Sakelar Lampu Aktif/Nonaktif hanya bisa menjadi Pengontrol. Mereka tidak boleh menjadi {i>Controlee<i}.
  • Penyedia OTA: Node yang dapat menyediakan update software OTA.
  • Pemohon OTA: Node yang dapat meminta update software OTA.

Cluster

Dalam Endpoint, Node memiliki satu atau beberapa Cluster. Ini adalah langkah lain dalam hierarki Perangkat, karena mengelompokkan fungsi tertentu seperti cluster aktif/nonaktif pada steker smart, atau cluster kontrol level pada Endpoint cahaya yang dapat diredupkan.

Node juga dapat memiliki beberapa Endpoint, yang masing-masing membuat instance dengan fungsi yang sama. Misalnya, lampu dapat mengekspos kontrol independen atas setiap lampu atau strip daya dapat mengekspos kontrol setiap soket.

Atribut

Pada level terakhir, kita akan menemukan Attributes, yang merupakan status yang dimiliki oleh node, seperti atribut level saat ini dari cluster kontrol level. Atribut dapat didefinisikan sebagai berbagai jenis data seperti uint8, string, atau array.

Hierarki Node, Endpoint, Atribut, dan Perintah
Gambar 2: Node, Endpoint, Atribut, dan Perintah

Perintah

Selain Atribut, Cluster juga memiliki Perintah, yang merupakan tindakan yang dapat dilakukan. DM ini setara dalam DM dari panggilan prosedur jarak jauh milik Matter. Perintah bersifat verb, misalnya pintu kunci di cluster Door Lock. Perintah dapat menghasilkan respons dan hasil; dalam Matter, respons tersebut juga didefinisikan sebagai Perintah, yang melakukan arah sebaliknya.

Acara

Terakhir, Cluster juga dapat memiliki Peristiwa, yang dapat dianggap sebagai catatan transisi status sebelumnya. Meskipun Atribut mewakili status saat ini, peristiwa adalah jurnal masa lalu, dan menyertakan penghitung yang meningkat secara monoton, stempel waktu, dan prioritas. Keduanya memungkinkan pengambilan transisi status, serta pemodelan data yang tidak siap dilakukan dengan atribut.

Perangkat contoh lengkap
Gambar 3: Contoh hierarki Matter Model interaksi perangkat

Endpoint 0 dicadangkan untuk Cluster Utilitas. Cluster Utilitas adalah Cluster tertentu yang mencakup fungsi layanan pada Endpoint, seperti penemuan, penanganan, diagnostik, dan update software. Di sisi lain, Cluster Aplikasi mendukung tindakan utama seperti aktif/nonaktif atau pengukuran suhu.

Jenis Perangkat

Secara keseluruhan, kombinasi Cluster mana yang harus disertakan sebagai produsen perangkat yang merencanakan Perangkat baru?

Spesifikasi Matter mengharuskan perangkat mengimplementasikan atau memperluas satu atau beberapa Jenis Perangkat. Jenis Perangkat adalah kumpulan Cluster wajib dan opsional yang menentukan atribut tingkat atas Perangkat fisik, seperti Cahaya yang Dapat Diredupkan, Kunci Pintu, atau Pemutar Video.

Jenis Perangkat tidak ditentukan oleh dokumen utama spesifikasi Matter, tetapi dengan dokumen yang menyertainya: Library Perangkat. Demikian pula, semua Cluster Aplikasi ditetapkan di Library Cluster Aplikasi. Ketiga dokumen ini dapat ditemukan di situs anggota Connectivity Standards Alliance (Alliance).

Setiap Endpoint yang menerapkan Jenis Perangkat harus menerapkan Cluster wajib yang menentukan Jenis Perangkat tersebut. Selain Cluster wajib, Endpoint dapat menerapkan Cluster tambahan, termasuk satu atau beberapa Cluster opsional Jenis Perangkat, atau bahkan Cluster yang bukan bagian dari Jenis Perangkat.

Klien dan Server

Cluster dapat berupa Cluster Klien atau Cluster Server. Meskipun Server bersifat stateful dan menyimpan Atribut, Peristiwa, dan Perintah, Klien bersifat stateless dan tanggung jawabnya adalah memulai Interaksi dengan Cluster Server jarak jauh sehingga melakukan:

  • membaca dari dan menulis ke Atribut jarak jauhnya.
  • membaca Peristiwa jarak jauhnya.
  • pemanggilan Perintah jarak jauhnya.

Meskipun DM memiliki hierarki dalam Node, hubungan antara Node tidak. Node di Matter tidak memiliki hubungan pengontrol/periferal atau pemimpin/pengikut vertikal. Sebaliknya, hubungan bersifat horizontal: Setiap Cluster dapat berupa Server atau Client. Dengan demikian, Node dapat berupa Server dan Klien sehubungan dengan Cluster dan fungsi yang berbeda.

Misalnya, kita mungkin memiliki dua lampu meja: Node A dan Node B. Kedua node menerapkan Jenis Perangkat On/Off Light. Jenis Perangkat ini mencakup Cluster Server Aktif/Nonaktif yang mengontrol output lampu fisiknya masing-masing.

Namun, seperti lampu meja biasa, perangkat fisik kami juga akan menyertakan Jenis Perangkat Sakelar Lampu Aktif/Nonaktif untuk tombol aktif/nonaktif lokal. Jenis Perangkat ini harus menerapkan Cluster Klien Aktif/Nonaktif sehingga dapat mengontrol Cluster Server.

Lampu yang menerapkan Lampu Aktif/Nonaktif dan Sakelar Lampu
Gambar 4: Cluster Klien dan Server

Dalam contoh ini, Cluster Klien Aktif/Nonaktif di Node A mengubah atribut Cluster Server Aktif/Nonaktif di Node A dan Node B, sedangkan Cluster Klien Node B hanya mengubah Cluster Server di Node B itu sendiri.

Di bagian berikutnya, kami akan menjelaskan cara Cluster Klien dan Server berinteraksi: Model Interaksi.

Cluster Deskripsi

Sesuai dengan namanya, Server Cluster Deskripsi memberikan informasi introspeksi. Contoh ini menjelaskan Endpoint yang menghitung:

  • Cluster Server.
  • Cluster Klien.
  • Jenis Perangkat.
  • Endpoint Tambahan, yang dikenal sebagai Bagian.

Setiap Jenis Perangkat memerlukan implementasi Cluster Deskripsi. Jenis Perangkat Root ditentukan di Endpoint 0. Membaca Cluster Deskripsinya akan memberi klien visibilitas untuk menjelajahi hierarki lengkap Endpoint yang tersedia dan menjalankan operasi yang berlaku.

Perangkat Commissioner atau Kontrol seperti ponsel atau hub dapat menggunakan informasi yang ditemukan di Cluster Deskripsi untuk membuat model Perangkat (cahaya, tombol, pompa, termostat), dan fitur spesifik yang diterapkan oleh instance Perangkat tertentu tersebut, yang menampilkan UI yang benar kepada pengguna.

Cluster Server

Atribut ServerList mencantumkan Server Cluster di Endpoint.

Cluster Klien

Atribut ClientList mencantumkan Klien Cluster di Endpoint.

Daftar Jenis Perangkat

Atribut DeviceTypeList adalah daftar Jenis Perangkat yang didukung oleh Endpoint, bersama dengan revisinya masing-masing. File ini harus berisi setidaknya satu Jenis Perangkat.

Daftar Suku Cadang

PartsList berisi daftar Endpoint yang digunakan untuk menerapkan Jenis Perangkat ini.

PartsList dari Endpoint 0 (Root Node) berisi semua Endpoint perangkat yang terpisah darinya sendiri (Endpoint 0).

PartsList Endpoint lainnya biasanya akan kosong. Misalnya, Sensor Suhu mewajibkan Cluster Server Pengukuran Suhu dan bukan lainnya.

Jenis perangkat lainnya mungkin tersusun dalam struktur hierarki yang terdiri dari lebih dari satu instance Jenis Perangkat. Misalnya, jenis Perangkat Pemutar Video dapat terdiri dari TV, Pemutar Video, Speaker, dan berbagai Jenis Perangkat Aplikasi Konten, masing-masing di Endpoint yang berbeda.


  1. Spesifikasi Matter menentukan bahwa Perangkat dapat memiliki beberapa Node. Misalnya, smartphone dapat memiliki beberapa aplikasi, dan setiap aplikasi merupakan Node yang berbeda. Untuk tujuan primer ini, semua Perangkat akan berisi satu Node. Diperkirakan sebagian besar perangkat fisik akan mengikuti pola ini.