

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

# IoT 디바이스 명령 및 이벤트 관리
<a name="device-commands-events"></a>

디바이스 명령은 물리적 디바이스를 원격으로 관리하여 중요한 보안, 소프트웨어 및 하드웨어 업데이트를 수행하는 것 외에도 디바이스를 완벽하게 제어할 수 있는 기능을 제공합니다. 대규모 디바이스 플릿을 사용하면 디바이스가 언제 명령을 수행하는지 알면 전체 디바이스 구현을 감독할 수 있습니다. 디바이스 명령 또는 자동 업데이트는 디바이스 상태 변경을 트리거하여 새 디바이스 이벤트를 생성합니다. 이 디바이스 이벤트는 고객 관리형 대상으로 자동으로 전송되는 알림을 트리거합니다.

**Topics**
+ [디바이스 명령](#device-commands)
+ [디바이스 이벤트](#device-events)

## 디바이스 명령
<a name="device-commands"></a>

명령 요청은 디바이스로 전송되는 명령입니다. 명령 요청에는 전구 켜기와 같이 수행할 작업을 지정하는 페이로드가 포함됩니다. 디바이스 명령을 전송하기 위해 Managed Integrations에서 최종 사용자를 대신하여 `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를 호출합니다. 디바이스에서 디바이스 이벤트를 관리형 통합에 보고하면 고객 관리형 대상이 있는 경우 알림을 받습니다.