action.devices.EXECUTE
이 인텐트는 스마트 홈 기기에서 실행할 명령어를 전송합니다.
fulfillment는 각 명령어를 처리하여 상응하는 기기로 전송하고 EXECUTE
응답에 새로운 상태를 반환해야 합니다.
단일 EXECUTE
인텐트는 여러 명령어로 여러 기기를 타겟팅할 수 있습니다.
예를 들어 트리거된 인텐트는 광 세트에서 밝기와 색상을 모두 설정하거나 각각 여러 색을 서로 다른 색상으로 설정할 수 있습니다.
자세한 내용은 쿼리 및 실행을 참고하세요.
요청 형식
필드 | 유형 | 설명 |
---|---|---|
requestId |
String |
필수사항. 요청의 ID입니다. |
inputs |
배열 |
필수사항. 인텐트 요청과 일치하는 입력 목록 |
[item, ...] |
객체 |
인텐트 요청과 연결된 유형 및 페이로드 |
intent |
필수사항. (상수 값: 인텐트 요청 유형입니다. |
|
payload |
객체 |
필수사항. EXECUTE 요청 페이로드를 실행합니다. |
commands |
배열 |
필수사항. 기기 타겟 및 명령어 쌍의 목록입니다. |
[item, ...] |
객체 |
연결된 기기 대상에서 실행할 명령어 집합입니다. |
devices |
배열 |
필수사항. 대상 기기 목록 |
[item, ...] |
객체 |
실행할 기기 타겟입니다. |
id |
String |
필수사항. 기기 ID(SYNC에서 제공한 ID 기준) |
customData |
객체 |
불투명한 커스텀 데이터 객체가 SYNC에서 제공되면 여기로 전송됩니다. |
execution |
배열 |
필수사항. 대상 기기에서 실행할 명령어 목록입니다. |
[item, ...] |
객체 |
기기 명령어 |
command |
String |
필수사항. 실행할 명령어(일반적으로 함께 제공되는 매개변수 포함) |
params |
객체 |
각 명령어의 매개변수와 일치합니다. |
예
인텐트 요청 실행
{ "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개가 실패하여 응답에 2개의 그룹이 있을 수 있습니다. |
[item, ...] |
객체 |
기기 실행 결과 |
ids |
배열 |
필수사항. 이 상태에 해당하는 기기 ID 목록입니다. |
[item, ...] |
String |
기기 ID입니다. |
status |
String |
필수사항. 실행 작업의 결과입니다. 지원 값:
|
states |
객체 |
각 특성 스키마 참조에서 설명한 특성별 상태와 일치합니다. 가능한 경우 실행 후의 상태입니다. |
online |
Boolean |
기기가 온라인 상태 (즉, 연결 가능)인지 여부를 나타냅니다. |
errorCode |
String |
미리 설정된 오류 코드에서 필요한 경우 오류 상태를 펼칩니다. 그러면 사용자에게 표시되는 오류에 매핑됩니다. |
예
인텐트 응답 실행
{ "requestId": "ff36a3cc-ec34-11e6-b1a0-64510650abcf", "payload": { "commands": [ { "ids": [ "123" ], "status": "SUCCESS", "states": { "on": true, "online": true } }, { "ids": [ "456" ], "status": "ERROR", "errorCode": "deviceTurnedOff" } ] } }