Perangkat di Matter memiliki model data (DM) yang ditentukan dengan baik, yang merupakan pemodelan hierarkis 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 yang mudah dikenali dalam suatu jaringan dan alamat unik dapat ditetapkan padanya. Pelanggan dapat mengenali dan berinteraksi dengan node sebagai entitas mandiri dengan fungsionalitasnya sendiri. Komunikasi jaringan dalam Matter berasal dan berakhir di Node.
Node adalah kumpulan Endpoint. Setiap Endpoint melampirkan kumpulan fitur. Misalnya, Endpoint mungkin terkait dengan fungsi pencahayaan, sementara yang lain terkait dengan deteksi gerakan, dan yang lain menangani utilitas seperti OTA Perangkat.
Peran node
Peran node adalah sekumpulan perilaku terkait. Setiap Node dapat memiliki satu atau beberapa peran. Peran node mencakup:
- Commissioner: Node yang melakukan Commissioning.
- Pengontrol: Node yang dapat mengontrol satu atau beberapa Node. Contohnya meliputi 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 Kontrol, kecuali untuk beberapa jenis perangkat yang memiliki peran Pengontrol, seperti Tombol Lampu Aktif/Nonaktif. Tombol Lampu Aktif/Nonaktif hanya dapat menjadi Pengontrol. Tidak dapat menjadi Kontrol.
- Penyedia OTA: Node yang dapat menyediakan update software OTA.
- Peminta 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 smart plug, atau cluster kontrol level pada Endpoint lampu yang dapat diredupkan.
Node juga dapat memiliki beberapa Endpoint, yang masing-masing membuat instance fungsi yang sama. Misalnya, perlengkapan lampu dapat mengekspos kontrol independen setiap lampu atau strip daya dapat mengekspos kontrol setiap soket.
Atribut
Di tingkat terakhir, kita akan menemukan Attributes, yang merupakan status yang disimpan oleh node, seperti atribut current level dari cluster level control. Atribut dapat ditentukan sebagai jenis data yang berbeda seperti uint8, string, atau array.
Perintah
Selain Atribut, Cluster juga memiliki Perintah, yang merupakan tindakan yang dapat dilakukan. Keduanya setara dengan DM Matter untuk remote procedure call. Perintah mirip dengan kata kerja, seperti kunci pintu di cluster Kunci Pintu. Perintah dapat menghasilkan respons dan hasil; di Matter, respons tersebut juga ditentukan sebagai Perintah, yang mengarah ke 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 dari masa lalu, dan menyertakan penghitung yang meningkat secara monoton, stempel waktu, dan prioritas. Fungsi ini memungkinkan perekaman transisi status, serta pemodelan data yang tidak mudah dicapai dengan atribut.
Endpoint 0 dicadangkan untuk Cluster Utilitas. Cluster Utilitas adalah Cluster tertentu yang menyertakan fungsi layanan di Endpoint, seperti penemuan, pemberian alamat, diagnostik, dan update software. Di sisi lain, Application Clusters 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 mewajibkan perangkat menerapkan atau memperluas satu atau beberapa Jenis Perangkat. Jenis Perangkat adalah kumpulan Cluster wajib dan opsional yang menentukan atribut tingkat atas Perangkat fisik, seperti Lampu yang Dapat Disesuaikan Kecerahannya, 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 dalam 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 bersifat hierarkis dalam Node, hubungan antar-Node tidak. Node di Matter tidak memiliki hubungan pengontrol/periferal vertikal atau pemimpin/pengikut. Sebaliknya, hubungannya bersifat horizontal: Setiap Cluster dapat berupa Server atau Klien. 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 Lampu Aktif/Nonaktif. Jenis Perangkat ini mencakup Cluster Server Aktif/Nonaktif yang mengontrol output cahaya fisik masing-masing.
Namun, seperti lampu meja biasa, perangkat fisik kami juga akan menyertakan Jenis Perangkat Tombol Lampu Aktif/Nonaktif untuk tombol aktif/nonaktif lokalnya. Jenis Perangkat ini harus menerapkan Cluster Klien Aktif/Nonaktif agar dapat mengontrol Cluster 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
Seperti namanya, Server Cluster Deskripsi menyediakan informasi introspeksi. File ini menjelaskan Endpoint yang menghitung:
- Cluster Server.
- Cluster Klien.
- Jenis Perangkat.
- Endpoint Tambahan, yang dikenal sebagai Bagian.
Setiap Jenis Perangkat memerlukan penerapan Cluster Deskripsi. Jenis Perangkat Root ditentukan di Endpoint 0. Membaca Cluster Deskripsinya akan memberikan visibilitas kepada klien untuk menjelajahi hierarki lengkap Endpoint yang tersedia dan melakukan operasi yang berlaku.
Perangkat Komisi atau Pengontrol seperti ponsel atau hub dapat menggunakan informasi yang ditemukan di Cluster Deskripsi untuk membuat model Perangkat (lampu, tombol, pompa, termostat), dan fitur tertentu 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, beserta revisinya masing-masing. File ini harus berisi setidaknya satu
Jenis Perangkat.
Daftar Komponen
PartsList
berisi daftar Endpoint yang digunakan untuk menerapkan Jenis
Perangkat ini.
PartsList
Endpoint 0 (Node Root) berisi semua Endpoint
perangkat selain dirinya sendiri (Endpoint 0).
PartsList
Endpoint lainnya biasanya akan kosong. Misalnya, Sensor Suhu mewajibkan Cluster Server Pengukuran Suhu dan tidak ada
yang lain.
Jenis perangkat lainnya mungkin disusun dalam struktur hierarki 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.
-
Spesifikasi Matter menentukan bahwa Perangkat dapat memiliki beberapa Node. Misalnya, smartphone mungkin memiliki beberapa aplikasi, dengan setiap aplikasi merupakan Node yang berbeda. Untuk tujuan pengantar ini, semua Perangkat akan berisi satu Node. Sebagian besar perangkat fisik diperkirakan akan mengikuti pola ini. ↩