

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# 機能の再検出
<a name="managedintegrations-sdk-v2-onboarding-capability-rediscovery"></a>

このセクションでは、機能の再検出を使用してハブに接続されたデバイスのデバイス機能情報を再学習する手順について説明します。

## 前提条件
<a name="capability-rediscovery-prereq"></a>

機能の再検出を試みる前に、以下のステップを実行します。
+ ハブデバイスを Managed Integrations ハブにオンボードします。
+ 1 つ以上のエンドデバイスをハブにオンボードします。
+ Managed Integrations コマンドリファレンス AWS CLI から最新バージョンの をインストールする [AWS CLI](https://docs.aws.amazon.com/cli/latest/reference/iot-managed-integrations/)
+ (オプション) [DEVICE\_DISCOVERY\_STATUS](managedintegrations-notifications.md#managedintegrations-notification-setup) イベント通知をサブスクライブします。

## 機能の再検出を使用するタイミング
<a name="capability-rediscovery-use-cases"></a>

以下のシナリオでは、機能の再検出を使用します。
+ デバイス機能を追加または変更するエンドデバイスへのファームウェア更新後
+ 新しいデバイス機能のサポートを可能にするハブソフトウェアの更新後
+ デバイス機能が Managed Integrations に正確に反映されていない場合
+ ハブに接続されている単一のデバイスまたはすべてのデバイスの機能情報を更新するには

## 機能の再検出を開始する
<a name="capability-rediscovery-start-discovery"></a>

ハブの機能の再検出を開始して、デバイス機能を更新します。

**機能の再検出を開始するには**
+ `CONTROLLER_CAPABILITY_REDISCOVERY` 検出タイプで [start-device-discovery](https://docs.aws.amazon.com/cli/latest/reference/iot-managed-integrations/start-device-discovery.html) コマンドを使用します。

  **start-device-discovery 例**

  ```
  # For a single device
  aws iot-managed-integrations start-device-discovery \
    --discovery-type CONTROLLER_CAPABILITY_REDISCOVERY \
    --controller-identifier {{HUB_MANAGED_THING_ID}} \
    --protocol {{PROTOCOL}} \
    --end-device-identifier {{DEVICE_MANAGED_THING_ID}}
  
  # For all devices on a protocol
  aws iot-managed-integrations start-device-discovery \
    --discovery-type CONTROLLER_CAPABILITY_REDISCOVERY \
    --controller-identifier {{HUB_MANAGED_THING_ID}} \
    --protocol {{PROTOCOL}}
  ```

  **レスポンス**:

  ```
  {
      "Id": "a1b2c3d4e5f6g7h8i9j0k1l2m3n4o5p6",
      "StartedAt": "2026-01-12T23:07:49.275Z"
  }
  ```
**注記**  
`--protocol` パラメータは、`ZIGBEE`、`ZWAVE`、または を受け入れます`CUSTOM`。  
オプションの `--end-device-identifier`パラメータが指定されていない場合、選択したプロトコルのハブに関連付けられているすべてのデバイスが再検出されます。

  詳細については、「 Managed AWS CLI *IntegrationsCommand Reference*」の[start-device-discovery](https://docs.aws.amazon.com/cli/latest/reference/iot-managed-integrations/start-device-discovery.html) コマンド」を参照してください。

デバイス機能が更新されたことを確認するには、[「Get managed thing capabilities](managedintegrations-sdk-v2-cookbook-ugs.md#managedintegrations-sdk-v2-cookbook-check-device-capabilties)」を参照してください。

## トラブルシューティング
<a name="capability-rediscovery-troubleshooting"></a>

以下のガイダンスを使用して、機能の再検出に関する一般的な問題のトラブルシューティングを行います。機能の再検出が進行中の場合、 Managed Integrations は Kinesis または EventBridge を介して JSON メッセージとして通知を送信します。

### 成功通知
<a name="capability-rediscovery-notifications-success"></a>

**処理中のデバイスあたり:**

```
{
    "messageType": "DEVICE_DISCOVERY_STATUS",
    // Capability rediscovery with controller and end device
    "resources": ["arn:aws:iotmanagedintegrations:us-east-1:123456789012:managed-thing/abc123def456", "arn:aws:iotmanagedintegrations:us-east-1:123456789012:managed-thing/xyz789uvw012"],
    "payload": {
        "deviceDiscoveryId": "a1b2c3d4e5f6g7h8i9j0k1l2m3n4o5p6",
        "status": "RUNNING",
        "deviceCount": 1
    }
}
```

**完了:**

```
{
    "messageType": "DEVICE_DISCOVERY_STATUS",
    // Capability rediscovery with controller only
    "resources": ["arn:aws:iotmanagedintegrations:us-east-1:123456789012:managed-thing/abc123def456"],
    "payload": {
        "deviceDiscoveryId": "a1b2c3d4e5f6g7h8i9j0k1l2m3n4o5p6",
        "status": "SUCCEEDED",
        "deviceCount": 0
    }
}
```

### 失敗通知
<a name="capability-rediscovery-notifications-failure"></a>

**デバイス障害:**

```
{
    "messageType": "DEVICE_DISCOVERY_STATUS",
    // Capability rediscovery with controller and end device
    "resources": ["arn:aws:iotmanagedintegrations:us-east-1:123456789012:managed-thing/abc123def456", "arn:aws:iotmanagedintegrations:us-east-1:123456789012:managed-thing/ghi345jkl678"],
    "payload": {
        "deviceDiscoveryId": "a1b2c3d4e5f6g7h8i9j0k1l2m3n4o5p6",
        "status": "RUNNING",
        "deviceCount": 1,
        "error": {
            "code": "500",
            "message": "Device unreachable",
            "managedThingId": "ghi345jkl678"
        }
    }
}
```

**完全な失敗:**

```
{
    "messageType": "DEVICE_DISCOVERY_STATUS",
    // Capability rediscovery with controller only
    "resources": ["arn:aws:iotmanagedintegrations:us-east-1:123456789012:managed-thing/abc123def456"],
    "payload": {
        "deviceDiscoveryId": "a1b2c3d4e5f6g7h8i9j0k1l2m3n4o5p6",
        "status": "FAILED",
        "deviceCount": 0,
        "error": {
            "code": "404",
            "message": "Specified controller does not exist"
        }
    }
}
```

### 通知は受信されません
<a name="capability-rediscovery-no-notifications"></a>

検出ステータスに関する通知を受信しない場合は、`DEVICE_DISCOVERY_STATUS`イベント通知をサブスクライブしていることを確認します。通知の設定の詳細については、「[マネージド統合通知をセットアップする](managedintegrations-notifications.md#managedintegrations-notification-setup)」を参照してください。

### 一部のデバイスは更新されていません
<a name="capability-rediscovery-partial-failure"></a>

機能の再検出中に一部のデバイスを更新できない場合は、`DEVICE_DISCOVERY_STATUS`通知のエラーメッセージを確認してください。一般的なエラーメッセージとしては以下があります。
+ `Device unreachable` - デバイスがオフラインであるか、応答しません
+ `Timeout querying device` - デバイスが想定期間内に応答しない
+ `Invalid capability report` - デバイスファームウェアに問題がある可能性があります

これらの問題を解決するには、影響を受けるデバイスに電源が入っていて到達可能であることを確認し、 `--end-device-identifier`パラメータを使用して障害が発生したデバイスの機能の再検出を個別に再試行します。

### 検出は完了しません
<a name="capability-rediscovery-stuck"></a>

機能の再検出プロセスが完了しない場合は、 `start-device-discovery` コマンドから返された検出ジョブ ID を使用して検出ステータスを確認します。

```
aws iot-managed-integrations get-device-discovery \
  --identifier {{DISCOVERY_JOB_ID}}
```

検出が停止している場合:
+ ハブがオンラインであり、マネージド統合に接続されていることを確認します。
+ 検出が自動的にタイムアウトするまで最大 15 分待ちます。
+ ハブとデバイスが動作していることを確認した後、機能の再検出を再試行する