Model Data Perangkat

Perangkat di Matter memiliki model data yang ditentukan dengan baik (DM), yang merupakan pemodelan hierarkis dari fitur Perangkat. Di tingkat atas hierarki ini ada Device.

Perangkat dan Endpoint

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

Node adalah kumpulan Endpoint. Setiap Endpoint mencakup set fitur. Misalnya, Endpoint mungkin berhubungan dengan fungsi pencahayaan, sementara yang lain berkaitan dengan deteksi gerakan, dan yang lain 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:

  • Commissioner: Node yang menjalankan 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.
  • Controlee: Node yang dapat dikontrol oleh satu atau beberapa Node. Sebagian besar jenis perangkat dapat menjadi Controlee, kecuali untuk beberapa jenis perangkat yang memiliki peran Pengontrol, seperti Tombol Lampu Aktif/Nonaktif. Tombol Lampu Aktif/Nonaktif hanya dapat menjadi Pengontrol. Bukan Pengendali.
  • 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.

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

Atribut

Pada tingkat terakhir, kita akan menemukan Attributes, yaitu status yang dimiliki node, seperti atribut current level dari cluster kontrol level. Atribut dapat didefinisikan sebagai jenis data yang berbeda seperti uint8, string, atau array.

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

Perintah

Selain Atribut, Cluster juga memiliki Command, yang merupakan tindakan yang dapat dilakukan. Fungsi tersebut setara dalam DM Matter dari panggilan prosedur jarak jauh. Perintah mirip dengan kata kerja, misalnya kunci pintu di cluster Kunci Pintu. Perintah dapat memberikan respons dan hasil; dalam Matter, respons tersebut juga didefinisikan sebagai Perintah, yang berlawanan dengan arah sebaliknya.

Peristiwa

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

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

Endpoint 0 dicadangkan untuk Cluster Utilitas. Cluster Utilitas adalah Cluster spesifik yang menyertakan 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 saat produsen perangkat merencanakan Perangkat baru?

Spesifikasi Matter mengharuskan perangkat untuk menerapkan atau memperluas satu atau beberapa Jenis Perangkat. Jenis Perangkat adalah kumpulan Cluster wajib dan opsional yang menentukan atribut level teratas dari Perangkat fisik, seperti Cahaya yang Dapat Diredupkan, Kunci Pintu, atau Pemutar Video.

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

Setiap Endpoint yang menerapkan Jenis Perangkat harus mengimplementasikan Cluster wajib yang menentukan Jenis Perangkat tersebut. Selain Cluster wajib, Endpoint dapat mengimplementasikan 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. Server bersifat stateful serta menyimpan Atribut, Peristiwa, dan Perintah, Klien bersifat stateless dan tanggung jawabnya adalah memulai Interaksi dengan Cluster Server jarak jauh, sehingga melakukan:

  • membaca dan menulis ke Atribut jarak jauh.
  • membaca Peristiwa jarak jauhnya.
  • pemanggilan Command jarak jauhnya.

Meskipun DM bersifat hierarkis dalam suatu Node, hubungan antara Node tidak demikian. Node dalam Matter tidak memiliki hubungan pengontrol/periferal atau pemimpin/pengikut. Sebaliknya, hubungannya adalah horizontal: Setiap Cluster dapat berupa Server atau Client. Dengan demikian, Node dapat menjadi Server dan Klien sehubungan dengan Cluster dan fungsionalitas yang berbeda.

Misalnya, kami mungkin memiliki dua lampu tabel: Node A dan Node B. Kedua node menerapkan Jenis Perangkat Lampu Aktif/Nonaktif. Jenis Perangkat ini mencakup Cluster Server Aktif/Nonaktif yang mengontrol output cahaya fisiknya masing-masing.

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

Lampu yang menerapkan Lampu Aktif/Nonaktif dan Tombol 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, kita akan menjelaskan cara Cluster Klien dan Server berinteraksi: Model Interaksi.

Cluster Deskripsi

Sesuai dengan namanya, Server Cluster Deskriptor menyediakan informasi introspeksi. Bagian ini menjelaskan Endpoint yang menyebutkan:

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

Setiap Jenis Perangkat memerlukan penerapan Cluster Deskripsi. Jenis Perangkat Root ditentukan pada Endpoint 0. Membaca Cluster Deskriptornya akan memberi klien visibilitas untuk melewati pohon lengkap Endpoint yang tersedia dan melakukan operasi yang berlaku.

Perangkat Komisaris atau Pengendali seperti ponsel atau hub dapat menggunakan informasi yang ditemukan di Cluster Deskriptor untuk membuat model Perangkat (lampu, sakelar, pompa, termostat), dan fitur spesifik yang diterapkan oleh instance Perangkat tertentu, dan menunjukkan 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, beserta revisinya masing-masing. File harus berisi setidaknya satu Jenis Perangkat.

Daftar Suku Cadang

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

PartsList Endpoint 0 (Root Node) berisi semua Endpoint perangkat selain dari endpoint itu sendiri (Endpoint 0).

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

Jenis perangkat lainnya mungkin disusun dalam struktur hierarki yang berisi 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 mungkin memiliki beberapa Node. Misalnya, smartphone dapat memiliki beberapa aplikasi, dan setiap aplikasi menjadi Node yang berbeda. Untuk tujuan penjelasan ini, semua Perangkat akan berisi satu Node. Diperkirakan sebagian besar perangkat fisik akan mengikuti pola ini.