Model Data Perangkat

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.

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

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.

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 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.

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

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.

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

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.


  1. 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.