

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

# Plugin Materi
<a name="matter-plugin"></a>

**Topics**
+ [Apa itu Plugin Matter](#what-is-matter-plugin)
+ [Bagaimana membangun Plugin Matter](#how-to-build-matter-plugin)
+ [Quickstart: Siapkan dan Jalankan Plugin Matter](#quickstart-setup-run-matter-plugin)
+ [Langkah-langkah di bawah ini harus dijalankan pada Raspberry Pi yaitu Komisaris.](#raspberry-pi-commissioner-steps)
+ [Jenis perangkat Matter yang didukung](#supported-matter-device-types)
+ [Menambahkan Support untuk Cluster Tambahan](#adding-support-for-additional-clusters)
+ [Integrasikan solusi Matter Controller yang berbeda](#integrate-different-matter-controller-solutions)

## Apa itu Plugin Matter
<a name="what-is-matter-plugin"></a>

Matter Plugin adalah implementasi referensi yang dibuat menggunakan [Plugin protokol kustom](custom-protocol-plugin.md) fitur SDK Hub Integrasi Terkelola. Ini memungkinkan hub Anda untuk mengontrol perangkat Matter baik secara lokal di jaringan yang sama, mengikuti spesifikasi Matter, dan dari jarak jauh melalui integrasi Terkelola.

![Diagram arsitektur yang menunjukkan integrasi Matter Plugin dengan integrasi Terkelola Hub SDK](https://docs.aws.amazon.com/id_id/iot-mi/latest/devguide/images/iotmi-matter-plugin.png)


Plugin Matter disertakan dalam Hub SDK. Ini berkomunikasi dengan perangkat Matter, mengimplementasikan fungsionalitas Matter Controller, dan mengekspos jalur kendali jarak jauh melalui integrasi Terkelola.

[chip-tool adalah pengontrol referensi berbasis baris perintah dari connectedhomeip.](https://github.com/project-chip/connectedhomeip) Ini bertindak sebagai Commissioner/Controller kain Matter, memungkinkan Anda untuk menugaskan perangkat, read/write atribut, dan memanggil perintah dan dimaksudkan untuk pengembangan dan pengujian interoperabilitas. Dalam panduan ini, Plugin Matter akan menggunakan alat chip untuk mengontrol perangkat Matter dan juga mendemonstrasikan commissioning Matter dari Aplikasi Seluler.

Ruang lingkup distribusi ini tidak termasuk aplikasi seluler produksi, juga tidak mencakup sertifikasi dan kegiatan produksi seperti uji lab dan sertifikasi CSA. Ini tetap menjadi bagian dari proses pengembangan produk Anda.

## Bagaimana membangun Plugin Matter
<a name="how-to-build-matter-plugin"></a>

Plugin Matter memiliki dependensi berikut selain Hub SDK:
+ OpenSSL 3.0.x: Persyaratan versi OpenSSL tidak ketat — dalam banyak kasus, versi default sistem berfungsi dengan baik.
+ [nng v1.4.0](https://github.com/nanomsg/nng)
+ [CJSON v1.7.18](https://github.com/DaveGamble/cJSON)
+ [Perangkat AWS IoT SDK](https://github.com/aws/aws-iot-device-sdk-cpp-v2) CPP V2 v1.33.0
+ [AWS SDK CPP](https://github.com/aws/aws-sdk-cpp) 1.11.433

Konfigurasikan repo dengan perintah berikut:

```
cd IotMI-DeviceSDK-MatterPlugin  
mkdir build  
cd build  
cmake ..
```

Kemudian bangun dengan perintah berikut:

```
cmake --build .
```

Setelah membangun, tambahkan jalur perpustakaan ke LD\_LIBRARY\_PATH:

```
export LD_LIBRARY_PATH=/path/to/libraries:$LD_LIBRARY_PATH
```

## Quickstart: Siapkan dan Jalankan Plugin Matter
<a name="quickstart-setup-run-matter-plugin"></a>

Ikuti langkah-langkah di bawah ini untuk mengatur Plugin Matter dan solusi Matter yang sesuai. Aliran mengasumsikan dua mesin: Hub (menjalankan Plugin Hub SDK\+Matter) dan Raspberry Pi yang mewakili “Aplikasi Seluler” untuk commissioning dan kontrol dasar.

### Manajemen ID Node
<a name="node-id-management"></a>

Di Matter, setiap node pada kain — termasuk perangkat, pengontrol, dan komisaris — harus memiliki ID Node yang unik. Untuk menghindari tabrakan, diperlukan kebijakan alokasi yang konsisten. Dalam panduan ini, ID Node ditetapkan secara manual; dalam produksi, Anda harus mengelola ID Node dengan benar.

Untuk contoh dalam dokumen ini, alat chip Hub (digunakan oleh Plugin Matter) menggunakan ID Node default`112233`, dan alat chip pada Aplikasi Seluler Raspberry Pi menggunakan ID Node. `123456` Perangkat yang baru ditugaskan diberi ID Node yang tidak bertentangan pada kain yang sama (misalnya, 101 di quickstart).

### Prasyarat
<a name="prerequisites"></a>

Sebelum Anda mulai, pastikan Anda memiliki yang berikut:
+ Hub Anda sudah onboard ke integrasi Terkelola dan Hub SDK diterapkan (melalui skrip atau systemd). Jika belum onboard, ikuti [Pengaturan orientasi hub](managedintegrations-sdk-v2-cookbook-hubsetup.md) ke onboard ke Integrasi terkelola, dan jalankan SDK [Instal dan validasi Hub SDK integrasi terkelola](managedintegrations-sdk-v2-cookbook-deployment.md) hub. Setelah onboard, catat ID hal terkelola hub Anda. Ini akan diperlukan nanti.
+ Anda memiliki Raspberry Pi (atau mesin apa pun) yang dapat menjalankan chip-tool dan AWS CLI.
+ Anda memiliki perangkat Matter untuk pengujian. Ini bisa berupa perangkat materi nyata atau perangkat Materi virtual (misalnya, aplikasi [pencahayaan](https://github.com/project-chip/connectedhomeip/tree/master/examples/lighting-app/linux))

### Langkah 1. Siapkan Raspberry Pi (mewakili Aplikasi Seluler)
<a name="step1-prepare-raspberry-pi"></a>
+ Instal AWS CLI dan buat serta instal chip-tool
+ Buat chip-tool mengikuti panduan pembuatan alat [chip resmi](https://github.com/project-chip/connectedhomeip/blob/master/docs/development_controllers/chip-tool/chip_tool_guide.md#building-from-source). Versi yang telah kami verifikasi adalah v1.4.2.0.
+ Instal AWS CLI mengikuti instruksi [resmi](https://docs.aws.amazon.com/cli/latest/userguide/getting-started-install.html).
+ Siapkan penyimpanan persisten untuk alat chip

  ```
  mkdir -p $HOME/iotmi/matter/
  ```
+ Hasilkan rantai sertifikat komisaris (tetapkan ID simpul `123456` ke alat chip ini)

  ```
  cd connectedhomeip/  
  cd out/chip-tool/  
  ./chip-tool pairing get-commissioner-root-certificate \  
      --commissioner-nodeid 123456 \  
      --storage-directory $HOME/iotmi/matter/
  ```

Rantai yang dihasilkan disimpan di: `$HOME/iotmi/matter/chip_tool_config.alpha.ini`

Anda akan menyalin file ini ke Hub nanti.

### Langkah 2. Siapkan Hub (yang menjalankan Plugin Matter)
<a name="step2-prepare-hub"></a>
+ Bangun atau Instal alat chip di Hub (Plugin Matter menggunakannya untuk melakukan operasi Matter). Anda dapat merujuk ke panduan [pembuatan alat chip](https://github.com/project-chip/connectedhomeip/blob/master/docs/development_controllers/chip-tool/chip_tool_guide.md#building-from-source). Versi yang telah kami verifikasi adalah v1.4.2.0.

Kita juga membutuhkan sha256sum dari chip-tool untuk digunakan nanti. Anda dapat menggunakan perintah berikut untuk mendapatkan sha256sum:

```
sha256sum /path/to/chip-tool
```
+ Siapkan penyimpanan dan salin file komisaris dari Raspberry Pi

  ```
  mkdir -p $HOME/iotmi/matter/  
  # From Raspberry Pi to Hub (example):  
  # scp $HOME/iotmi/matter/chip_tool_config.alpha.ini user@HUB_HOST:$HOME/iotmi/matter/
  ```
+ Jalankan Plugin Matter (sediakan jalur alat chip, SHA256-nya, dan folder penyimpanan)

  ```
  ./iotmi_matter_plugin \  
      --chip-tool-path /path/to/chip-tool \  
      --sha256sum SHA256SUM_OF_THE_CHIP_TOOL \  
      --storage-folder $HOME/iotmi/matter/ \
      --node-id 112233
  ```

## Langkah-langkah di bawah ini harus dijalankan pada Raspberry Pi yaitu Komisaris.
<a name="raspberry-pi-commissioner-steps"></a>

### Langkah 3. Komisi perangkat Matter (pada Raspberry Pi)
<a name="step3-commission-matter-device"></a>

Gunakan chip-tool untuk menugaskan perangkat menggunakan kode QR yang didekodekan dan kredensialnya. Wi-Fi Dalam contoh ini, perangkat akan menggunakan ID node 101 dan ID node komisaris adalah`123456`.

```
./chip-tool pairing code-wifi 101 \  
    YOUR_WIFI_SSID YOUR_WIFI_PW  \  
    MT:MFAA0W8C00UFQV2VL00 \  
    --bypass-attestation-verifier 1 \  
    --commissioner-nodeid 123456 \  
    --storage-directory $HOME/iotmi/matter/
```

**Catatan:**
+ `101`adalah ID node Matter perangkat (Anda dapat memilih nilai yang berbeda).
+ `MT:MFAA0W8C00UFQV2VL00`adalah konten QR yang diterjemahkan untuk perangkat. Untuk mendapatkan konteks yang diterjemahkan dari kode QR, Anda harus memilih aplikasi atau pustaka kode QR untuk mendekodekannya. Anda juga dapat menggunakan layanan web yang mendukung decoding kode QR decoding.
+ `-bypass-attestation-verifier 1`hanya untuk penggunaan uji. Untuk produksi, perbarui toko PAA dan lakukan pemeriksaan pengesahan.

chip-tool mendukung metode pemasangan yang berbeda, termasuk kode QR atau pemasangan kode PIN dengan Thread atau perangkat. WiFi Untuk informasi selengkapnya tentang [perintah pemasangan alat chip](https://github.com/project-chip/connectedhomeip/blob/master/docs/development_controllers/chip-tool/chip_tool_guide.md#pairing), lihat dokumentasi resmi.

### Langkah 4. Berikan akses Hub di perangkat (perbarui ACL)
<a name="step4-grant-hub-access"></a>

Setelah commissioning, izinkan alat chip Hub untuk mengontrol perangkat. Dalam contoh ini, ID node `123456` (Raspberry Pi) memiliki izin Admin (5) dan ID node `112233` (Hub) memiliki izin Kelola (4).

```
chip-tool accesscontrol write acl \  
    '[{"fabricIndex":1,"privilege":5,"authMode":2,"subjects":[123456], "targets": null},{"fabricIndex":1,"privilege":4,"authMode":2,"subjects":[112233], "targets": null}]' \  
    101 0 \  
    --commissioner-nodeid 123456  
    --storage-directory $HOME/iotmi/matter/
```

### Langkah 5. Buat hal yang dikelola untuk perangkat (User-Guided Pengaturan)
<a name="step5-create-managed-thing"></a>
+ Mulai penemuan (ganti dengan ID hal terkelola Hub Anda):

  ```
  aws iot-managed-integrations start-device-discovery \  
      --discovery-type CUSTOM \  
      --custom-protocol-detail '{"Name": "Matter", "NodeId":"101", "FabricId":"1"}' \  
      --controller-identifier <HUB_MANAGED_THING_ID>
  ```

Contoh respons mencakup ID pekerjaan penyiapan yang dipandu pengguna:

```
{  
    "Id": "USER_GUIDED_SETUP_JOB_ID",  
    "StartedAt": 1753683326.056  
}
```
+ Kueri perangkat yang ditemukan menggunakan ID pekerjaan:

  ```
  aws iot-managed-integrations \  
      list-discovered-devices --identifier <USER_GUIDED_SETUP_JOB_ID>
  ```

Contoh respons:

```
{  
    "Items": [  
        {  
            "DeviceTypes": [],  
            "DiscoveredAt": "2025-08-05T06:46:35.407000+08:00",  
            "AuthenticationMaterial": "<AUTH_MATERIAL>"  
        }  
    ]  
}
```
+ Buat hal yang dikelola untuk perangkat menggunakan AuthenticationMaterial:

  ```
  aws iot-managed-integrations create-managed-thing \  
      --role DEVICE \  
      --authentication-material-type DISCOVERED_DEVICE \  
      --authentication-material "<AUTH_MATERIAL>"
  ```

Respons sampel (dengan ID benda terkelola perangkat):

```
{  
    "Id": "DEVICE_MANAGED_THING_ID",  
    "Arn": "arn:aws:iotmanagedintegrations:eu-west-1:228183742813:managed-thing/515cf5a707ec41aaabb9914a1dd2889f",  
    "CreatedAt": "2025-08-06T15:00:08.718000+08:00"  
}
```

### Langkah 6. Kontrol perangkat melalui integrasi Terkelola
<a name="step6-control-device"></a>

Gunakan `send-managed-thing-command` perintah untuk mengirim perintah ke hal yang Anda kelola.

```
json=$(jq -cr '.|@json' <<EOF  
[  
  {  
    "endpointId": "1",  
    "capabilities": [  
      {  
        "id": "matter.OnOff@1.4",  
        "name": "On/Off",  
        "version": "1",  
        "actions": [  
          {  
            "name": "Toggle",  
            "parameters": {}  
          }  
        ]  
      }  
    ]  
  }  
]  
EOF  
)  
aws iot-managed-integrations send-managed-thing-command \  
    --managed-thing-id "DEVICE_MANAGED_THING_ID" \  
    --endpoints "$json"
```

### Langkah 7. Membaca status perangkat
<a name="step7-read-device-state"></a>

Kirim perintah berikut untuk mendapatkan status perangkat.

```
aws iot-managed-integrations get-managed-thing-state \  
    --managed-thing-id "DEVICE_MANAGED_THING_ID"
```

Hasil sampel:

```
{  
    "Endpoints": [  
        {  
            "endpointId": "1",  
            "capabilities": [  
                {  
                    "id": "matter.OnOff@1.4",  
                    "name": "On/Off",  
                    "version": "1.4",  
                    "properties": [  
                        {  
                            "value": {  
                                "lastChangedAt": "2025-08-14T13:16:02.132Z",  
                                "propertyValue": false  
                            },  
                            "name": "OnOff"  
                        }  
                    ]  
                }  
            ]  
        }  
    ]  
}
```

### Langkah 8. Hapus hal yang dikelola dari hub Anda
<a name="step8-remove-managed-thing"></a>
+ Hapus hal yang dikelola dari hub Anda dengan perintah berikut

  ```
  aws iot-managed-integrations delete-managed-thing \  
      --identifier "DEVICE_MANAGED_THING_ID"
  ```
+ Lepaskan perangkat dari kain Raspberry Pi (jika diinginkan):

  ```
  ./chip-tool pairing unpair 101 \  
      --commissioner-nodeid 123456 \  
      --storage-directory $HOME/iotmi/matter/
  ```

## Jenis perangkat Matter yang didukung
<a name="supported-matter-device-types"></a>


| Jenis perangkat materi | Kemampuan yang Didukung | 
| --- | --- | 
| [OnOffLight](https://github.com/project-chip/connectedhomeip/blob/master/data_model/1.4/device_types/OnOffPlug-inUnit.xml) | [Identifikasi (0x0003), On/Off (0x0006)](https://github.com/project-chip/connectedhomeip/blob/master/data_model/1.4/clusters/Identify.xml) [[, Kontrol Level (0x0008)](https://github.com/project-chip/connectedhomeip/blob/master/data_model/1.4/clusters/LevelControl.xml)](https://github.com/project-chip/connectedhomeip/blob/master/data_model/1.4/clusters/OnOff.xml) | 
| [DimmableLight](https://github.com/project-chip/connectedhomeip/blob/master/data_model/1.4/device_types/DimmableLight.xml) | [Identifikasi (0x0003), On/Off (0x0006)](https://github.com/project-chip/connectedhomeip/blob/master/data_model/1.4/clusters/Identify.xml) [[, Kontrol Level (0x0008)](https://github.com/project-chip/connectedhomeip/blob/master/data_model/1.4/clusters/LevelControl.xml)](https://github.com/project-chip/connectedhomeip/blob/master/data_model/1.4/clusters/OnOff.xml) | 
| [ColorTemperatureLight](https://github.com/project-chip/connectedhomeip/blob/master/data_model/1.4/device_types/ColorTemperatureLight.xml) | [Identifikasi (0x0003), On/Off (0x0006)](https://github.com/project-chip/connectedhomeip/blob/master/data_model/1.4/clusters/Identify.xml)[, Kontrol Level (0x0008)](https://github.com/project-chip/connectedhomeip/blob/master/data_model/1.4/clusters/OnOff.xml)[, Kontrol Warna (0x0300](https://github.com/project-chip/connectedhomeip/blob/master/data_model/1.4/clusters/LevelControl.xml)[)](https://github.com/project-chip/connectedhomeip/blob/master/data_model/1.4/clusters/ColorControl.xml) | 
| [OnOffPlug-InUint](https://github.com/project-chip/connectedhomeip/blob/master/data_model/1.4/device_types/OnOffPlug-inUnit.xml) | [Identifikasi (0x0003), On/Off (0x0006)](https://github.com/project-chip/connectedhomeip/blob/master/data_model/1.4/clusters/Identify.xml) [[, Kontrol Level (0x0008)](https://github.com/project-chip/connectedhomeip/blob/master/data_model/1.4/clusters/LevelControl.xml)](https://github.com/project-chip/connectedhomeip/blob/master/data_model/1.4/clusters/OnOff.xml) | 
| [DimmablePlug-InUnit](https://github.com/project-chip/connectedhomeip/blob/master/data_model/1.4/device_types/DimmablePlug-InUnit.xml) | [Identifikasi (0x0003), On/Off (0x0006)](https://github.com/project-chip/connectedhomeip/blob/master/data_model/1.4/clusters/Identify.xml) [[, Kontrol Level (0x0008)](https://github.com/project-chip/connectedhomeip/blob/master/data_model/1.4/clusters/LevelControl.xml)](https://github.com/project-chip/connectedhomeip/blob/master/data_model/1.4/clusters/OnOff.xml) | 
| [OnOffLightSwitch](https://github.com/project-chip/connectedhomeip/blob/master/data_model/1.4/device_types/OnOffLightSwitch.xml) | [[Identifikasi (0x0003), (0x0006) On/Off ](https://github.com/project-chip/connectedhomeip/blob/master/data_model/1.4/clusters/OnOff.xml)](https://github.com/project-chip/connectedhomeip/blob/master/data_model/1.4/clusters/Identify.xml) | 
| [DimmerSwitch](https://github.com/project-chip/connectedhomeip/blob/master/data_model/1.4/device_types/DimmerSwitch.xml) | [Identifikasi (0x0003), On/Off (0x0006)](https://github.com/project-chip/connectedhomeip/blob/master/data_model/1.4/clusters/Identify.xml) [[, Kontrol Level (0x0008)](https://github.com/project-chip/connectedhomeip/blob/master/data_model/1.4/clusters/LevelControl.xml)](https://github.com/project-chip/connectedhomeip/blob/master/data_model/1.4/clusters/OnOff.xml) | 
| [ColorDimmerSwitch](https://github.com/project-chip/connectedhomeip/blob/master/data_model/1.4/device_types/ColorDimmerSwitch.xml) | [Identifikasi (0x0003), On/Off (0x0006)](https://github.com/project-chip/connectedhomeip/blob/master/data_model/1.4/clusters/Identify.xml)[, Kontrol Level (0x0008)](https://github.com/project-chip/connectedhomeip/blob/master/data_model/1.4/clusters/OnOff.xml)[, Kontrol Warna (0x0300](https://github.com/project-chip/connectedhomeip/blob/master/data_model/1.4/clusters/LevelControl.xml)[)](https://github.com/project-chip/connectedhomeip/blob/master/data_model/1.4/clusters/ColorControl.xml) | 
| [DoorLock](https://github.com/project-chip/connectedhomeip/blob/master/data_model/1.4/device_types/DoorLock.xml) | [Identifikasi (0x0003)](https://github.com/project-chip/connectedhomeip/blob/master/data_model/1.4/clusters/Identify.xml), [Kunci Pintu](https://github.com/project-chip/connectedhomeip/blob/master/data_model/1.4/clusters/DoorLock.xml) (0x0101) | 
| [Termostat](https://github.com/project-chip/connectedhomeip/blob/master/data_model/1.4/device_types/Thermostat.xml) | [Identifikasi (0x0003), [Thermostat](https://github.com/project-chip/connectedhomeip/blob/master/data_model/1.4/clusters/Thermostat.xml) (0x0201)](https://github.com/project-chip/connectedhomeip/blob/master/data_model/1.4/clusters/Identify.xml) | 
| [WaterLeakDetector](https://github.com/project-chip/connectedhomeip/blob/master/data_model/1.4/device_types/WaterLeakDetector.xml) | [Identifikasi (0x0003)](https://github.com/project-chip/connectedhomeip/blob/master/data_model/1.4/clusters/Identify.xml), Status [Boolean](https://github.com/project-chip/connectedhomeip/blob/master/data_model/1.4/clusters/BooleanState.xml) (0x0045) | 

## Menambahkan Support untuk Cluster Tambahan
<a name="adding-support-for-additional-clusters"></a>

Untuk memperluas Plugin Matter untuk mendukung jenis dan kemampuan perangkat tambahan, modifikasi **matter\_action\_converter.cpp** mengikuti pola ini:

**Pola implementasi:**

1. Tentukan pemetaan untuk enum dan bitmap

1. Tambahkan UpdateState logika untuk atribut yang dapat ditulis

1. Tambahkan pemrosesan perintah untuk tindakan cluster

1. Tambahkan parsing atribut untuk pelaporan status

**Gunakan cluster yang ada sebagai template:**

1. **OnOff cluster** - Referensi paling sederhana yang menunjukkan keempat komponen dengan enum dasar, atribut yang dapat ditulis, perintah, dan pelaporan atribut

1. **DoorLock cluster** - Contoh kompleks yang menunjukkan beberapa jenis enum, bidang bitmap, parameter struct, parameter perintah opsional, dan cakupan atribut yang luas

Semua cluster yang didukung (Identifikasi, OnOff,, LevelControl DoorLock, Thermostat, ColorControl, BooleanState) mengikuti struktur ini. Tinjau implementasi yang ada di matter\_action\_converter.cpp untuk memahami pola lengkapnya.

## Integrasikan solusi Matter Controller yang berbeda
<a name="integrate-different-matter-controller-solutions"></a>

Bagian ini memberikan panduan tentang cara mengintegrasikan berbagai solusi Matter Controller dengan Matter Plugin. Ini menguraikan pendekatan yang mungkin dan pertimbangan penting tetapi tidak memberikan kode implementasi rinci.

Ada dua cara utama untuk mengintegrasikan solusi Matter Controller. Yang pertama adalah menggunakan Plugin Matter dengan chip-tool yang disesuaikan. Yang kedua adalah menggunakan Matter Controller pilihan Anda dan integrasi dengan integrasi Terkelola melalui pustaka Protokol Kustom.

### Menggunakan Plugin Matter dengan Disesuaikan Chip-Tool
<a name="using-matter-plugin-customized-chip-tool"></a>

Dalam pendekatan ini, Plugin Matter diperluas untuk bekerja dengan versi yang disesuaikan dari file Chip-Tool. Untuk mencapai ini, Anda mungkin perlu memodifikasi kode sumber Matter Plugin dan memperkenalkan logika tambahan:
+ Sesuaikan logika penguraian STDIO: Jika alat chip khusus Anda menghasilkan log dengan pola yang berbeda, perbarui logika penguraian yang sesuai.
+ Menerapkan penyimpanan aman: Plugin Matter menyediakan mekanisme penyimpanan berbasis file untuk informasi perangkat. Untuk penggunaan produksi, ganti ini dengan implementasi penyimpanan yang lebih aman atau terapkan enkripsi ke data. Dan itu juga membutuhkan prosedur pembersihan yang tepat saat Plugin Matter dihapus.
+ Menerapkan penandatanganan biner dan perlindungan integritas: Dalam penerapan produksi, Anda harus menerapkan perlindungan integritas untuk alat chip yang disesuaikan dan Plugin Matter yang diperluas. Ini termasuk menandatangani binari sebagai bagian dari proses rilis perangkat lunak Anda, memverifikasi tanda tangan selama startup, dan mengintegrasikan fitur keamanan platform seperti boot aman atau alat integritas. OS-level 
+ Memperkenalkan pembatasan task/event tarif: Untuk mencegah kelebihan beban, pastikan Plugin Matter menyertakan tugas yang tepat dan pembatasan tingkat peristiwa. Dalam penerapan produksi, Anda juga harus menambahkan metrik dasar dan pemantauan untuk mendeteksi pola pembaruan abnormal dan menghentikan sementara atau menangguhkan perangkat atau langganan yang terpengaruh. Perilaku seperti pemutus sirkuit ini tidak disediakan oleh implementasi referensi dan harus diimplementasikan oleh pelanggan.
+ Integrasikan logika fungsi utama chip-tool secara langsung: Jika Anda memilih untuk tidak mengandalkan STDIO, Anda dapat mengintegrasikan fungsi utama chip-tool ke dalam Plugin Matter. input/output Logika standar kemudian dapat dihubungkan ke read/write fungsi ChptoolProc kelas.
+ Support code generation: Menerapkan mekanisme untuk menangani pembaruan versi spesifikasi Matter melalui pembuatan kode.
+ Menerapkan fitur Matter Administration, termasuk:
  + Menetapkan ID Node ke perangkat Commissioner, Controller, dan Matter.
  + Mengelola beberapa Kain.

Di sisi chip-tool, penyempurnaan berikut juga direkomendasikan:
+ Gunakan penyimpanan aman: alat chip menyimpan sertifikat Matter, kunci pribadi, dan statistik di direktori lokal. Ganti ini dengan implementasi yang aman.
+ Aktifkan pemrosesan paralel: Secara default, Chip-Tool jalankan satu perintah pada satu waktu. Menambahkan dukungan eksekusi paralel dapat meningkatkan efisiensi dalam skenario tertentu.

### Menggunakan Existing Matter Controller dengan integrasi Terkelola
<a name="using-existing-matter-controller-iot-managed-integration"></a>

Jika Matter Controller Anda tidak didasarkan pada chip-tool (misalnya, Python-based implementasi atau solusi berbasis panggilan fungsi), pendekatan STDIO mungkin tidak cocok. Dalam kasus seperti itu, Anda dapat berintegrasi langsung dengan integrasi Terkelola menggunakan[Plugin protokol kustom](custom-protocol-plugin.md), saat menggunakan Plugin Matter sebagai referensi. Pertimbangan berikut berlaku untuk instans Mac:
+ Pertahankan ID Fabric dan Node: Pastikan metadata perangkat, seperti adding/removing perangkat dan atribut caching, dipertahankan secara konsisten.
+ Kelola langganan: Setiap perangkat harus mempertahankan hingga satu langganan aktif, sehingga statusnya dapat diperbarui terus menerus.
+ Menyebarkan perubahan status: Saat perangkat memperbarui statusnya, verifikasi perubahan dan sebarkan peristiwa ke integrasi Terkelola.
+ Menerapkan penerjemah model data Matter: Meskipun integrasi Terkelola menggunakan model data Matter, representasinya dalam format JSON. Penerjemah diperlukan untuk memetakan antara format model data Matter Anda dan representasi JSON.