action.devices.EXECUTE

이 인텐트는 스마트 홈 기기에서 실행할 명령어를 전송합니다.

처리는 각 명령을 처리하고 해당 기기로 전송한 후 EXECUTE 응답의 새 상태를 반환합니다.

단일 EXECUTE 인텐트는 여러 명령어로 여러 기기를 타겟팅할 수 있습니다. 예를 들어, 트리거된 인텐트는 일련의 집합에 밝기와 색상을 모두 설정할 수 있습니다. 여러 개의 조명을 각각 다른 색상으로 설정할 수 있습니다.

자세한 내용은 쿼리 및 실행을 참고하세요.

요청 형식

필드 유형 설명
requestId String

필수사항.

요청의 ID입니다.

inputs 배열

필수사항.

인텐트 요청과 일치하는 입력 목록입니다.

[item, ...] 객체

인텐트 요청과 연결된 유형 및 페이로드입니다.

intent

필수사항.

(상수 값: "action.devices.EXECUTE")

인텐트 요청 유형입니다.

payload 객체

필수사항.

EXECUTE 요청 페이로드.

commands 배열

필수사항.

기기 타겟 및 명령어 쌍 목록입니다.

[item, ...] 객체

연결된 기기 타겟에서 실행할 명령어 집합입니다.

devices 배열

필수사항.

대상 기기 목록입니다.

[item, ...] 객체

실행할 기기 타겟입니다.

id String

필수사항.

SYNC에 제공된 ID에 따른 기기 ID

customData 객체

불투명한 customData 객체가 SYNC에서 제공된 경우 여기로 전송됩니다.

execution 배열

필수사항.

대상 기기에서 실행할 명령어 목록입니다.

[item, ...] 객체

기기 명령어입니다.

command String

필수사항.

실행할 명령어로, 일반적으로 동반 매개변수와 함께 제공됩니다.

params 객체

각 명령어의 매개변수에 맞게 정렬됩니다.

EXECUTE 인텐트 요청

{
  "requestId": "ff36a3cc-ec34-11e6-b1a0-64510650abcf",
  "inputs": [
    {
      "intent": "action.devices.EXECUTE",
      "payload": {
        "commands": [
          {
            "devices": [
              {
                "id": "123",
                "customData": {
                  "fooValue": 74,
                  "barValue": true,
                  "bazValue": "sheepdip"
                }
              },
              {
                "id": "456",
                "customData": {
                  "fooValue": 36,
                  "barValue": false,
                  "bazValue": "moarsheep"
                }
              }
            ],
            "execution": [
              {
                "command": "action.devices.commands.OnOff",
                "params": {
                  "on": true
                }
              }
            ]
          }
        ]
      }
    }
  ]
}

응답 형식

필드 유형 설명
requestId String

필수사항.

해당하는 요청의 ID입니다.

payload 객체

필수사항.

인텐트 응답 페이로드

errorCode String

인증 실패 및 개발자 시스템 이용 불가와 관련된 전체 거래의 오류 코드입니다. 개별 기기 오류의 경우 기기 객체 내의 errorCode를 사용합니다.

debugString String

사용자에게 표시되지는 않지만 개발 중에 기록되거나 사용될 수 있는 자세한 오류입니다.

commands 배열

각 객체에는 응답 세부정보가 있는 기기가 하나 이상 포함됩니다. N.B. 요청에서와 동일한 방식으로 그룹화되지 않을 수도 있습니다. 예를 들어 요청을 실행하면 조명 7개가 켜지고 조명 3개는 성공하고 4개는 실패하여 두 그룹이 응답할 수 있습니다.

[item, ...] 객체

기기 실행 결과입니다.

ids 배열

필수사항.

이 상태에 해당하는 기기 ID 목록입니다.

[item, ...] String

기기 ID입니다.

status String

필수사항.

실행 작업의 결과입니다.

지원되는 값:

SUCCESS
명령어가 성공했는지 확인합니다.
PENDING
명령어가 큐에 추가되었지만 성공할 것으로 예상됩니다.
OFFLINE
대상 기기가 오프라인 상태이거나 연결할 수 없습니다.
EXCEPTIONS
명령어와 관련된 문제 또는 알림이 있습니다. 명령어는 성공하거나 실패할 수 있습니다. 이 상태 유형은 일반적으로 연결된 다른 기기에 관한 추가 정보를 전송하려는 경우에 설정됩니다.
ERROR
대상 기기에서 명령어를 실행할 수 없습니다.
states 객체

각 트레잇 스키마 참조에 설명된 특성별 상태에 맞춰 정렬했습니다. 실행 후의 상태입니다(가능한 경우).

online Boolean

기기가 온라인 상태인지, 즉 연결 가능한지 여부를 나타냅니다.

errorCode String

필요한 경우 사전 설정된 오류 코드에서 오류 상태를 확장하여 사용자에게 표시되는 오류로 매핑됩니다.

EXECUTE 인텐트 응답

{
  "requestId": "ff36a3cc-ec34-11e6-b1a0-64510650abcf",
  "payload": {
    "commands": [
      {
        "ids": [
          "123"
        ],
        "status": "SUCCESS",
        "states": {
          "on": true,
          "online": true
        }
      },
      {
        "ids": [
          "456"
        ],
        "status": "ERROR",
        "errorCode": "deviceTurnedOff"
      }
    ]
  }
}