

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

# IoT デバイスコマンドとイベントを管理する
<a name="device-commands-events"></a>

デバイスコマンドを使用すると、物理デバイスをリモートで管理して、重要なセキュリティ、ソフトウェア、ハードウェアの更新の実行に加えて、デバイスを完全に制御できます。多数のデバイスでは、デバイスがコマンドを実行するタイミングを知ることで、デバイスの実装全体を監視できます。デバイスコマンドまたは自動更新により、デバイス状態の変更がトリガーされ、新しいデバイスイベントが作成されます。このデバイスイベントは、カスタマー管理の送信先に自動送信される通知をトリガーします。

**Topics**
+ [Device コマンド](#device-commands)
+ [デバイスイベント](#device-events)

## Device コマンド
<a name="device-commands"></a>

コマンドリクエストは、デバイスに送信されるコマンドです。コマンドリクエストには、電球をオンにするなどのアクションを指定するペイロードが含まれています。デバイスコマンドを送信するには、マネージド統合によって `SendManagedThingCommand` API がエンドユーザーに代わって呼び出され、コマンドリクエストがデバイスに送信されます。

へのレスポンス`SendManagedThingCommand`は `traceId`であり、これを使用して、可能な限りコマンド配信および関連するコマンドレスポンスワークフロー`traceId`を追跡できます。

`SendManagedThingCommand` API オペレーションの詳細については、[SendManagedThingCommand](https://docs.aws.amazon.com/iot-mi/latest/APIReference/API_SendManagedThingCommand.html)」を参照してください。

**`UpdateState` のアクション**

ライトがオンになる時間など、デバイスの状態を更新するには、 `SendManagedThingCommand` API を呼び出すときに `UpdateState`アクションを使用します。で更新するデータモデルプロパティと新しい値を指定します`parameters`。次の例は、電球`OnTime`の を に更新する `SendManagedThingCommand` API リクエストを示しています`5`。

```
{
  "Endpoints": [
    {
      "endpointId": "1",
      "capabilities": [
        {
          "id": "matter.OnOff",
          "name": "On/Off",
          "version": "1",
          "actions": [
            {
              "name": "UpdateState",
              "parameters": {
                "OnTime": 5
              }
            }
          ]
        }
      ]
    }
  ]
}
```

**`ReadState` のアクション**

すべてのデータモデルプロパティの現在の値を含むデバイスの最新の状態を取得するには、 `SendManagedThingCommand` API を呼び出すときに `ReadState`アクションを使用します。では`propertiesToRead`、次のオプションを使用できます。
+ 特定のデータモデルプロパティを指定して、照明がオンかオフか`OnOff`を判断するなど、 で最新の値を取得します。
+ ワイルドカード演算子 (`*`) を使用して、機能の*すべての*デバイス状態プロパティを読み取ります。

以下の例は、 `ReadState`アクションを使用した `SendManagedThingCommand` API リクエストの両方のシナリオを示しています。

```
{
  "Endpoints": [
    {
      "endpointId": "1",
      "capabilities": [
        {
          "id": "aws.OnOff",
          "name": "On/Off",
          "version": "1",
          "actions": [
            {
              "name": "ReadState",
              "parameters": {
                "propertiesToRead": [ "OnOff" ]
              }
            }
          ]
        }
      ]
    }
  ]
}
```

```
{
  "Endpoints": [
    {
      "endpointId": "1",
      "capabilities": [
        {
          "id": "aws.OnOff",
          "name": "On/Off",
          "version": "1",
          "actions": [
            {
              "name": "ReadState",
              "parameters": {
                "propertiesToRead": [ "*" ]
              }
            }
          ]
        }
      ]
    }
  ]}
```

## デバイスイベント
<a name="device-events"></a>

デバイスイベントには、デバイスの現在の状態が含まれます。これは、デバイスが状態を変更したか、状態が変更されていない場合でもその状態を報告していることを意味します。これには、データモデルで定義されたプロパティレポートとイベントが含まれます。イベントには、マシンサイクルが完了したか、サーモスタットがエンドユーザーによって設定された目標温度に達した可能性があります。

**デバイスイベント通知**

エンドユーザーは、特定のデバイスイベントの更新用に作成する特定のカスタマー管理の送信先にサブスクライブできます。カスタマー管理の送信先を作成するには、 `CreateDestination` API を呼び出します。デバイスイベントがデバイスによって Managed Integrations に報告されると、カスタマー管理の送信先が存在する場合は通知されます。