

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 加入裝置並在中樞中操作它們
<a name="managedintegrations-sdk-v2-cookbook-onboard-to-hub"></a>

透過建立受管物件並將其連接到您的中樞，將裝置設定為加入受管整合中樞。裝置可以透過簡單設定或使用者引導式設定加入中樞。

**Topics**
+ [輕鬆設定以加入和操作裝置](managedintegrations-sdk-v2-cookbook-ss.md)
+ [使用者引導設定以加入和操作裝置](managedintegrations-sdk-v2-cookbook-ugs.md)

# 輕鬆設定以加入和操作裝置
<a name="managedintegrations-sdk-v2-cookbook-ss"></a>

透過建立受管物件並將其連接到您的中樞，將裝置設定為加入受管整合中樞。本節說明使用簡單設定完成裝置加入程序的步驟。

## 先決條件
<a name="managedintegrations-sdk-v2-cookbook-ss-prereq"></a>

在嘗試加入裝置之前，請先完成以下步驟：
+ 將中樞裝置加入受管整合中樞。
+  AWS CLI 從 [Managed Integrations AWS CLI 命令參考](https://docs.aws.amazon.com/cli/latest/reference/iot-managed-integrations/)安裝最新版本的
+ 訂閱 [DEVICE\$1LIFE\$1CYCLE](managedintegrations-notifications.md#managedintegrations-notification-setup) 事件通知。

**Topics**
+ [先決條件](#managedintegrations-sdk-v2-cookbook-ss-prereq)
+ [步驟 1：建立登入資料儲存庫](#managedintegrations-sdk-v2-cookbook-credential-locker)
+ [步驟 2：將登入資料儲存庫新增至您的中樞](#managedintegrations-sdk-v2-cookbook-add-to-hub)
+ [步驟 3：使用登入資料建立受管物件。](#managedintegrations-sdk-v2-cookbook-ss-create-managed-thing)
+ [步驟 4：插入裝置並檢查其狀態。](#managedintegrations-sdk-v2-cookbook-ss-check-device-status)
+ [步驟 5：取得裝置功能](#managedintegrations-sdk-v2-cookbook-ss-check-device-capabilities)
+ [步驟 6：將命令傳送至受管物件](#managedintegrations-sdk-v2-cookbook-ss-control-device)
+ [步驟 7：從您的中樞移除受管物件](#managedintegrations-sdk-v2-cookbook-clean-up)

## 步驟 1：建立登入資料儲存庫
<a name="managedintegrations-sdk-v2-cookbook-credential-locker"></a>

為您的裝置建立登入資料儲存庫。

**建立登入資料儲存庫**
+ 使用 `create-credential-locker` 命令。執行此命令將觸發建立所有製造資源，包括 Wi-Fi 設定金鑰對和裝置憑證。

  **create-credential-locker 範例**

  ```
  aws iot-managed-integrations create-credential-locker \
    --name "DEVICE_NAME"
  ```

  **回應：**

  ```
  {    
    "Id": "LOCKER_ID"
    "Arn": "arn:aws:iotmanagedintegrations:AWS_REGION:AWS_ACCOUNT_ID:credential-locker/LOCKER_ID
    "CreatedAt": "2025-06-09T13:58:52.977000+08:00"
  }
  ```

  如需詳細資訊，請參閱 受管整合命令參考中的 [create-credential-locker](https://docs.aws.amazon.com/cli/latest/reference/iot-managed-integrations/create-credential-locker.html) AWS CLI 命令。 **

## 步驟 2：將登入資料儲存庫新增至您的中樞
<a name="managedintegrations-sdk-v2-cookbook-add-to-hub"></a>

將登入資料儲存貯體新增至您的中樞。

**將登入資料儲存貯體新增至您的中樞**
+ 使用下列命令將登入資料儲存庫新增至您的中樞。

  ```
  aws iotmi --region AWS_REGION --endpoint AWS_ENDPOINT update-managed-thing \
  --identifier "HUB_MANAGED_THING_ID" --credential-locker-id "LOCKER_ID"
  ```

## 步驟 3：使用登入資料建立受管物件。
<a name="managedintegrations-sdk-v2-cookbook-ss-create-managed-thing"></a>

使用裝置的登入資料建立受管物件。每個裝置都需要自己的受管物件。

**建立受管物件**
+ 使用 `create-managed-thing`命令為您的裝置建立受管物件。

  **create-managed-thing 範例**

  ```
  #ZWAVE: 
  aws iot-managed-integrations create-managed-thing --role DEVICE \
  --authentication-material '900137947003133...' \ #auth material from zwave qr code
  --authentication-material-type ZWAVE_QR_BAR_CODE \
  --credential-locker-id ${locker_id}
  
  #ZIGBEE:
  aws iot-managed-integrations create-managed-thing --role DEVICE \
  --authentication-material 'Z:286...$I:A4DC00.' \ #auth material from zigbee qr code
  --authentication-material-type ZIGBEE_QR_BAR_CODE \
  --credential-locker-id ${locker_id}
  ```
**注意**  
Z-wave 和 Zigbee 裝置有不同的命令。

  **回應：**

  ```
  {    
    "Id": "DEVICE_MANAGED_THING_ID"
    "Arn": "arn:aws:iotmanagedintegrations:AWS_REGION:AWS_ACCOUNT_ID:managed-thing/DEVICE_MANAGED_THING_ID"
    "CreatedAt": "2025-06-09T13:58:52.977000+08:00"
  }
  ```

  如需詳細資訊，請參閱 受管整合命令參考中的 [create-managed-thing](https://docs.aws.amazon.com/cli/latest/reference/iot-managed-integrations/create-managed-thing.html) AWS CLI 命令。 **

## 步驟 4：插入裝置並檢查其狀態。
<a name="managedintegrations-sdk-v2-cookbook-ss-check-device-status"></a>

**插入裝置並檢查其狀態。**
+ 使用 `get-managed-thing`命令來檢查裝置的狀態。受管物件的 ProvisioningStatus 必須啟用。如需 ProvisioningStatus 的詳細資訊，請參閱 [裝置佈建](https://docs.aws.amazon.com/iot-mi/latest/devguide/device-provisioning.html)。

  **get-managed-thing 範例**

  ```
  #KINESIS NOTIFICATION:
  {
      "version": "1.0.0",
      "messageId": "4ac684bb7f4c41adbb2eecc1e7991xxx",
      "messageType": "DEVICE_LIFE_CYCLE",
      "source": "aws.iotmanagedintegrations",
      "customerAccountId": "12345678901",
      "timestamp": "2025-06-10T05:30:59.852659650Z",
      "region": "us-east-1",
      "resources": ["XXX"],
      "payload": {
          "deviceDetails": {
              "id": "1e84f61fa79a41219534b6fd57052XXX",
              "arn": "XXX",
              "createdAt": "2025-06-09T06:24:34.336120179Z",
              "updatedAt": "2025-06-10T05:30:59.784157019Z"
          },
          "status": "ACTIVATED"
      }
  }
  aws iot-managed-integrations get-managed-thing \
  --identifier :"DEVICE_MANAGED_THING_ID"
  ```

  **回應：**

  ```
  {    
    "Id": "DEVICE_MANAGED_THING_ID"
    "Arn": "arn:aws:iotmanagedintegrations:AWS_REGION:AWS_ACCOUNT_ID:managed-thing/MANAGED_THING_ID"
    "CreatedAt": "2025-06-09T13:58:52.977000+08:00"
  }
  ```

  如需詳細資訊，請參閱 受管整合命令參考中的 [get-managed-thing](https://docs.aws.amazon.com/cli/latest/reference/iot-managed-integrations/get-managed-thing.html) AWS CLI 命令。 **

## 步驟 5：取得裝置功能
<a name="managedintegrations-sdk-v2-cookbook-ss-check-device-capabilities"></a>

使用 `get-managed-thing-capabilities`命令來取得您的端點 ID，並檢視裝置的可能動作清單。

**取得裝置的功能**
+ 使用 `get-managed-thing-capabilities`命令並記下端點 ID。

  **get-managed-thing-capabilties 範例**

  ```
  aws iotmi get-managed-thing-capabilities \
  --identifier "DEVICE_MANAGED_THING_ID"
  ```

  **回應：**

  ```
  {    
      "ManagedThingId": "1e84f61fa79a41219534b6fd57052cbc",
      "CapabilityReport": {
          "version": "1.0.0",
          "nodeId": "zw.FCB10009+06",
          "endpoints": [
              {
                  "id": "ENDPOINT_ID"
                  "deviceTypes": [
                      "On/Off Switch"
                  ],
                  "capabilities": [
                      {
                          "id": "matter.OnOff@1.4",
                          "name": "On/Off",
                          "version": "6",
                          "properties": [
                              "OnOff"
                          ],
                          "actions": [
                              "Off",
                              "On"
                          ],
                          "events": []
                      }
                      ...
  }
  ```

  如需詳細資訊，請參閱 受管整合命令參考中的 [get-managed-thing-capabilities](https://docs.aws.amazon.com/cli/latest/reference/iot-managed-integrations/get-managed-thing-capabilities.html) AWS CLI 命令。 **

## 步驟 6：將命令傳送至受管物件
<a name="managedintegrations-sdk-v2-cookbook-ss-control-device"></a>

使用 `send-managed-thing-command`命令將切換動作命令傳送至您的受管物件。

**將命令傳送至受管物件**
+ 使用 `send-managed-thing-command`命令將命令傳送至您的受管物件。

  **send-managed-thing-command 範例**

  ```
  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 "ENDPOINT_ID"
  ```
**注意**  
此範例使用 jq cli 至 ，但您也可以傳遞整個`endpointId`字串

  **回應：**

  ```
  {    
  "TraceId": "TRACE_ID"
  }
  ```

  如需詳細資訊，請參閱 受管整合 AWS CLI 命令參考中的 [send-managed-thing-command](https://docs.aws.amazon.com/cli/latest/reference/iot-managed-integrations/send-managed-thing-command.html) 命令。 **

## 步驟 7：從您的中樞移除受管物件
<a name="managedintegrations-sdk-v2-cookbook-clean-up"></a>

移除 受管物件以清除您的中樞。

**刪除受管物件**
+ 使用 `delete-managed-thing`命令從裝置中樞移除受管物件。

  **delete-managed-thing 範例**

  ```
  aws iot-managed-integrations delete-managed-thing \
  --identifier "DEVICE_MANAGED_THING_ID"
  ```

  如需詳細資訊，請參閱 受管整合命令參考中的 [delete-managed-thing](https://docs.aws.amazon.com/cli/latest/reference/iot-managed-integrations/delete-managed-thing.html) AWS CLI 命令。 **
**注意**  
如果裝置卡在 `DELETE_IN_PROGRESS` 狀態，請將 `--force`旗標附加到 `delete-managed-thing command`。
**注意**  
對於 Z-wave 裝置，您需要在執行 命令之後，讓裝置進入配對模式。

# 使用者引導設定以加入和操作裝置
<a name="managedintegrations-sdk-v2-cookbook-ugs"></a>

透過建立 受管物件並將其連接到 中樞，將您的裝置設定為加入受管整合中樞。本節說明使用使用者引導設定完成裝置加入程序的步驟。

## 先決條件
<a name="managedintegrations-sdk-v2-cookbook-ugs-prereq"></a>

在嘗試加入裝置之前，請先完成以下步驟：
+ 將中樞裝置加入受管整合中樞。
+  AWS CLI 從 [Managed Integrations AWS CLI 命令參考](https://docs.aws.amazon.com/cli/latest/reference/iot-managed-integrations/)安裝最新版本的
+ 訂閱 [DEVICE\$1DISCOVERY-STATUS](managedintegrations-notifications.md#managedintegrations-notification-setup) 事件通知。

**Topics**
+ [先決條件](#managedintegrations-sdk-v2-cookbook-ugs-prereq)
+ [先決條件：在 Z Wave 裝置上啟用配對模式](#managedintegrations-sdk-v2-cookbook-pairing-mode)
+ [步驟 1：開始裝置探索](#managedintegrations-sdk-v2-cookbook-device-discovery)
+ [步驟 2：查詢探索任務 ID](#managedintegrations-sdk-v2-cookbook-query-discovery)
+ [步驟 3：為您的裝置建立受管物件](#managedintegrations-sdk-v2-cookbook-ugs-managed-thing)
+ [步驟 4：查詢受管物件](#managedintegrations-sdk-v2-cookbook-query-managed-thing)
+ [步驟 5：取得受管物件功能](#managedintegrations-sdk-v2-cookbook-check-device-capabilties)
+ [步驟 6：將命令傳送至受管物件](#managedintegrations-sdk-v2-cookbook-ugs-control-device)
+ [步驟 7：檢查受管物件狀態](#managedintegrations-sdk-v2-cookbook-ugs-device-state)
+ [步驟 8：從您的中樞移除受管物件](#managedintegrations-sdk-v2-cookbook-ugs-clean-up)

## 先決條件：在 Z Wave 裝置上啟用配對模式
<a name="managedintegrations-sdk-v2-cookbook-pairing-mode"></a>

在 Z 波裝置上啟用配對模式。配對模式會因每個 Z-Wave 裝置而異，因此請參閱裝置的說明以正確設定配對模式。它通常是使用者必須按下的按鈕。

## 步驟 1：開始裝置探索
<a name="managedintegrations-sdk-v2-cookbook-device-discovery"></a>

為您的中樞啟動裝置探索，以取得用於加入裝置的探索任務 ID。

**啟動裝置探索**
+ 使用 [start-device-discovery](https://docs.aws.amazon.com/cli/latest/reference/iot-managed-integrations/start-device-discovery.html) 命令來取得探索任務 ID。

  **start-device-discovery 範例**

  ```
  #For Zigbee
    aws iot-managed-integrations start-device-discovery --discovery-type ZIGBEE \
    --controller-identifier HUB_MANAGED_THING_ID
    
    #For Zwave
    aws iot-managed-integrations start-device-discovery --discovery-type ZWAVE \
    --controller-identifier HUB_MANAGED_THING \
    --authentication-material-type ZWAVE_INSTALL_CODE \
    --authentication-material 13333
    
    #For Cloud
    aws iot-managed-integrations start-device-discovery --discovery-type CLOUD \
    --account-association-id C2C_ASSOCIATION_ID \
    
    #For Custom
    aws iot-managed-thing start-device-discovery --discovery-type CUSTOM \
    --controller-identifier HUB_MANAGED_THING_ID \
    --custom-protocol-detail NAME : NON_EMPTY_STRING \
  ```

  **回應：**

  ```
  {
        "Id": DISCOVERY_JOB_ID,
        "StartedAt": "2025-06-03T14:43:12.726000-07:00"
    }
  ```
**注意**  
Z-wave 和 Zigbee 裝置有不同的命令。

  如需詳細資訊，請參閱 受管 integrations AWS CLI *Command Reference* 中的 [start-device-discovery](https://docs.aws.amazon.com/cli/latest/reference/iot-managed-integrations/start-device-discovery.html) API。

## 步驟 2：查詢探索任務 ID
<a name="managedintegrations-sdk-v2-cookbook-query-discovery"></a>

使用 `list-discovered-devices`命令來取得裝置的身分驗證資料。

**查詢您的探索任務 ID**
+ 使用探索任務 ID 搭配 list-discovered-devices 命令，以取得裝置的身分驗證資料。

  ```
  aws iot-managed-integrations list-discovered-devices --identifier DISCOVERY_JOB_ID
  ```

**回應：**

```
"Items": [
    {
        "DeviceTypes": [],
        "DiscoveredAt": "2025-06-03T14:43:37.619000-07:00",
        "AuthenticationMaterial": AUTHENTICATION_MATERIAL
    }
]
```

## 步驟 3：為您的裝置建立受管物件
<a name="managedintegrations-sdk-v2-cookbook-ugs-managed-thing"></a>

使用 `create-managed-thing`命令為您的裝置建立受管物件。每個裝置都需要自己的受管物件。

**建立受管物件**
+ 使用 `create-managed-thing`命令為您的裝置建立受管物件。

  **create-managed-thing 範例**

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

  **回應：**

  ```
  {    
      "Id": "DEVICE_MANAGED_THING_ID"
      "Arn": "arn:aws:iotmanagedintegrations:AWS_REGION:AWS_ACCOUNT_ID:managed-thing/DEVICE_MANAGED_THING_ID"
      "CreatedAt": "2025-06-09T13:58:52.977000+08:00"
    }
  ```

  如需詳細資訊，請參閱 受管整合命令參考中的 [create-managed-thing](https://docs.aws.amazon.com/cli/latest/reference/iot-managed-integrations/create-managed-thing.html) AWS CLI 命令。 **

## 步驟 4：查詢受管物件
<a name="managedintegrations-sdk-v2-cookbook-query-managed-thing"></a>

您可以使用 `get-managed-thing`命令來檢查受管物件是否已啟用。

**查詢受管物件**
+ 使用 `get-managed-thing`命令來檢查受管物件的佈建狀態是否設定為 `ACTIVATED`。如需佈建狀態的詳細資訊，請參閱 [裝置佈建](https://docs.aws.amazon.com/iot-mi/latest/devguide/device-provisioning.html)。

  **get-managed-thing 範例**

  ```
  aws iot-managed-integrations get-managed-thing \
    --identifier "DEVICE_MANAGED_THING_ID"
  ```

  **回應：**

  ```
  {
        "Id": "DEVICE_MANAGED_THING_ID",
        "Arn": "arn:aws:iotmanagedintegrations:AWS_REGION:AWS_ACCOUNT_ID:managed-thing/DEVICE_MANAGED_THING_ID,
        "Role": "DEVICE",
        "ProvisioningStatus": "ACTIVATED",
        "MacAddress": "MAC_ADDRESS",
        "ParentControllerId": "PARENT_CONTROLLER_ID",
        "CreatedAt": "2025-06-03T14:46:35.149000-07:00",
        "UpdatedAt": "2025-06-03T14:46:37.500000-07:00",
        "Tags": {}
    }
  ```

  如需詳細資訊，請參閱 受管整合命令參考中的 [get-managed-thing](https://docs.aws.amazon.com/cli/latest/reference/iot-managed-integrations/get-managed-thing.html) AWS CLI 命令。 **

## 步驟 5：取得受管物件功能
<a name="managedintegrations-sdk-v2-cookbook-check-device-capabilties"></a>

您可以使用 檢視受管物件的可用動作清單`get-managed-thing-capabiltiies`。

**取得裝置的功能**
+ 使用 `get-managed-thing-capabilities`命令來取得端點 ID。另請注意可能的動作清單。

  **get-managed-thing-capabilities 範例**

  ```
  aws iot-managed-integrations get-managed-thing-capabilities \
    --identifier "DEVICE_MANAGED_THING_ID"
  ```

  **回應：**

  ```
  {
        "ManagedThingId": "DEVICE_MANAGED_THING_ID",
        "CapabilityReport": {
            "version": "1.0.0",
            "nodeId": "zb.539D+4A1D",
            "endpoints": [
                {
                    "id": "1",
                    "deviceTypes": [
                        "Unknown Device"
                    ],
                    "capabilities": [
                        {
                            "id": "matter.OnOff@1.4",
                            "name": "On/Off",
                            "version": "6",
                            "properties": [
                                "OnOff",
                                "OnOff",
                                "OnTime",
                                "OffWaitTime"
                            ],
                            "actions": [
                                "Off",
                                "On",
                                "Toggle",
                                "OffWithEffect",
                                "OnWithRecallGlobalScene",
                                "OnWithTimedOff"
                            ],
                            ...
    }
  ```

  如需詳細資訊，請參閱 受管整合命令參考中的 [get-managed-thing-capabilities](https://docs.aws.amazon.com/cli/latest/reference/iot-managed-integrations/get-managed-thing-capabilities.html) 命令。 AWS CLI**

## 步驟 6：將命令傳送至受管物件
<a name="managedintegrations-sdk-v2-cookbook-ugs-control-device"></a>

您可以使用 send-managed-thing-command 命令，將切換動作命令傳送至受管物件。

**使用切換動作將命令傳送至受管物件。**
+ 使用 `send-managed-thing-command`命令來傳送切換動作命令。

  **send-managed-thing-command 範例**

  ```
  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 ENDPOINT_ID
  ```
**注意**  
此範例使用 jq cli 至 ，但您也可以傳遞整個`endpointId`字串

  **回應：**

  ```
  {    
    "TraceId": TRACE_ID
    }
  ```

  如需詳細資訊，請參閱 受管整合 AWS CLI 命令參考中的 [send-managed-thing-command](https://docs.aws.amazon.com/cli/latest/reference/iot-managed-integrations/send-managed-thing-command.html) 命令。 **

## 步驟 7：檢查受管物件狀態
<a name="managedintegrations-sdk-v2-cookbook-ugs-device-state"></a>

檢查受管物件的狀態，以驗證切換動作是否成功。

**檢查受管物件的裝置狀態**
+ 使用 `get-managed-thing-state`命令來驗證切換動作是否成功。

  **get-managed-thing-state 範例**

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

  **回應：**

  ```
  {
        "Endpoints": [
            {
                "endpointId": "1",
                "capabilities": [
                    {
                        "id": "matter.OnOff@1.4",
                        "name": "On/Off",
                        "version": "1.4",
                        "properties": [
                            {
                                "name": "OnOff",
                                "value": {
                                    "propertyValue": true,
                                    "lastChangedAt": "2025-06-03T21:50:39.886Z"
                                }
                            }
                        ]
                    }
                ]
            }
        ]
    }
  ```

  如需詳細資訊，請參閱 受管整合命令參考中的 [get-managed-thing-state](https://docs.aws.amazon.com/cli/latest/reference/iot-managed-integrations/get-managed-thing-state.html) 命令。 AWS CLI* *

## 步驟 8：從您的中樞移除受管物件
<a name="managedintegrations-sdk-v2-cookbook-ugs-clean-up"></a>

移除 受管物件以清除您的中樞。

**刪除受管物件**
+ 使用 [delete-managed-thing](https://docs.aws.amazon.com/cli/latest/reference/iot-managed-integrations/delete-managed-thing.html) 命令移除受管物件。

  **delete-managed-thing 範例**

  ```
  aws iot-managed-integrations delete-managed-thing \
    --identifier MANAGED_THING_ID
  ```

  如需詳細資訊，請參閱 受管整合命令參考中的 [delete-managed-thing](https://docs.aws.amazon.com/cli/latest/reference/iot-managed-integrations/delete-managed-thing.html) AWS CLI 命令。 **
**注意**  
如果裝置卡在 `DELETE_IN_PROGRESS` 狀態，請將 `--force`旗標附加至 `delete-managed-thing`命令。
**注意**  
對於 Z-wave 裝置，您需要在執行 命令之後，讓裝置進入配對模式。