Model Data Perangkat

Perangkat di Matter memiliki model data yang ditetapkan dengan baik (DM), yang merupakan pemodelan hierarki dari fitur Perangkat. Di tingkat teratas hierarki ini terdapat Perangkat.

Perangkat dan Endpoint

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

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

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

Peran node

Peran node adalah sekumpulan perilaku terkait. Setiap Node mungkin memiliki satu atau beberapa peran. Peran node meliputi:

  • Komisioner: Node yang melakukan Komisi.
  • 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 Aktif/Nonaktif, memiliki peran Pengontrol.
  • Controlee: Node yang dapat dikontrol oleh satu atau beberapa Node. Sebagian besar jenis perangkat dapat berupa Controlee, kecuali untuk beberapa jenis perangkat yang memiliki peran Pengontrol, seperti On/Off Light Switch. Sakelar Lampu Aktif/Nonaktif hanya dapat menjadi Pengontrol. Tidak boleh berupa 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 mereka mengelompokkan fungsionalitas tertentu seperti cluster aktif/nonaktif pada steker smart, atau cluster kontrol level pada Endpoint lampu yang dapat diredupkan.

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

Atribut

Pada tingkat terakhir, kita akan menemukan Atribut, yang merupakan status yang dimiliki oleh node, seperti atribut tingkat saat ini dari cluster kontrol level. Atribut dapat ditentukan 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 Perintah, yang merupakan tindakan yang dapat dilakukan. Keduanya setara dalam DM Matter untuk panggilan prosedur jarak jauh. Perintah mirip, seperti pintu kunci pada cluster Kunci Pintu. Perintah dapat menghasilkan respons dan hasil; di Matter, respons tersebut juga ditentukan sebagai Perintah, berlawanan dengan arah sebaliknya.

Peristiwa

Terakhir, Cluster juga dapat memiliki Peristiwa, yang dapat dianggap sebagai data 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. Fungsi ini memungkinkan pengambilan transisi status, serta pemodelan data yang tidak mudah dicapai dengan atribut.

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

Endpoint 0 dicadangkan untuk Cluster Utilitas. Cluster Utilitas adalah Cluster spesifik yang menyertakan fungsi servis pada Endpoint, seperti penemuan, pengalamatan, diagnostik, dan update software. Di sisi lain, Cluster Aplikasi mendukung tindakan utama seperti pengukuran aktif/nonaktif atau temperatur.

Jenis Perangkat

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

Spesifikasi Matter mengharuskan perangkat menerapkan atau memperluas satu atau beberapa Jenis Perangkat. Jenis Perangkat adalah sekumpulan Cluster wajib dan opsional yang menentukan atribut level teratas dari Perangkat fisik, seperti Dimmable Light, Door Lock, atau Video Player.

Jenis Perangkat tidak ditentukan oleh dokumen utama spesifikasi Matter, tetapi oleh dokumen yang menyertainya: Library Device. 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 mengimplementasikan 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. Meskipun Server stateful dan menyimpan Atribut, Peristiwa, dan Perintah, Klien stateless dan bertanggung jawab untuk memulai Interaksi dengan Cluster Server jarak jauh, sehingga melakukan:

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

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

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

Namun, seperti halnya lampu meja pada umumnya, perangkat fisik kami juga akan menyertakan Jenis Perangkat Tombol Aktif/Nonaktif untuk tombol aktif/nonaktif lokalnya. Jenis Perangkat ini harus mengimplementasikan Cluster Klien Aktif/Nonaktif agar dapat mengontrol Cluster Server.

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

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

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

Cluster Deskriptor

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

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

Setiap Jenis Perangkat memerlukan implementasi Cluster Deskriptor. Jenis Perangkat Root ditentukan pada Endpoint 0. Membaca Cluster Deskriptor akan memberi klien visibilitas untuk menelusuri seluruh hierarki Endpoint yang tersedia dan melakukan operasi yang berlaku.

Perangkat Komisaris atau Mengontrol seperti ponsel atau hub dapat menggunakan informasi yang ditemukan di Cluster Deskriptor untuk membuat model Perangkat (lampu, tombol, pompa, termostat), dan fitur tertentu yang diterapkan oleh instance Perangkat tertentu, yang 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. Daftar ini harus berisi minimal satu Jenis Perangkat.

Daftar Suku Cadang

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

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

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

Jenis perangkat lainnya mungkin disusun 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 Jenis Perangkat Aplikasi Konten yang berbeda, masing-masing di Endpoint yang berbeda.


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