action.devices.EXECUTE
Intent นี้จะส่งคําสั่งให้ดําเนินการบนอุปกรณ์สมาร์ทโฮม
การดำเนินการตามคำขอควรประมวลผลคำสั่งแต่ละรายการ ส่งไปยังอุปกรณ์ที่เกี่ยวข้อง และแสดงสถานะใหม่ในการตอบกลับ EXECUTE
Intent EXECUTE รายการเดียวสามารถกำหนดเป้าหมายไปยังอุปกรณ์หลายเครื่องด้วยคำสั่งหลายรายการ
เช่น Intent ที่ทริกเกอร์อาจตั้งค่าทั้งความสว่างและสีของชุดหลอดไฟ หรืออาจตั้งค่าหลอดไฟหลายดวงให้แต่ละดวงมีสีต่างกัน
โปรดดูรายละเอียดเพิ่มเติมที่หัวข้อค้นหาและดำเนินการ
รูปแบบคำขอ
| ช่อง | ประเภท | คำอธิบาย | 
|---|---|---|
requestId | 
    String | 
       ต้องระบุ รหัสของคําขอ  | 
  
inputs | 
    อาร์เรย์ | 
       ต้องระบุ รายการอินพุตที่ตรงกับคำขอ Intent  | 
  
[item, ...] | 
    ออบเจ็กต์ | 
       ประเภทและเพย์โหลดที่เชื่อมโยงกับคำขอ Intent  | 
  
intent | 
    
       ต้องระบุ (ค่าคงที่:  ประเภทคำขอ Intent  | 
  |
payload | 
    ออบเจ็กต์ | 
       ต้องระบุ ดำเนินการกับเพย์โหลดคำขอ  | 
  
commands | 
    อาร์เรย์ | 
       ต้องระบุ รายการคู่เป้าหมายอุปกรณ์และคำสั่ง  | 
  
[item, ...] | 
    ออบเจ็กต์ | 
       ชุดคำสั่งที่จะดำเนินการกับอุปกรณ์เป้าหมายที่แนบมา  | 
  
devices | 
    อาร์เรย์ | 
       ต้องระบุ รายการอุปกรณ์เป้าหมาย  | 
  
[item, ...] | 
    ออบเจ็กต์ | 
       เป้าหมายอุปกรณ์ที่จะเรียกใช้  | 
  
id | 
    String | 
       ต้องระบุ รหัสอุปกรณ์ตามรหัสที่ระบุไว้ใน SYNC  | 
  
customData | 
    ออบเจ็กต์ | 
       หากระบุออบเจ็กต์ customData แบบทึบใน SYNC ระบบจะส่งออบเจ็กต์ดังกล่าวที่นี่  | 
  
execution | 
    อาร์เรย์ | 
       ต้องระบุ รายการคําสั่งที่จะดําเนินการบนอุปกรณ์เป้าหมาย  | 
  
[item, ...] | 
    ออบเจ็กต์ | 
       คำสั่งของอุปกรณ์  | 
  
command | 
    String | 
       ต้องระบุ คําสั่งที่จะดําเนินการ โดยปกติจะมีพารามิเตอร์ประกอบ  | 
  
params | 
    ออบเจ็กต์ | 
       สอดคล้องกับพารามิเตอร์สําหรับแต่ละคําสั่ง  | 
  
ตัวอย่าง
EXECUTE intent request
{ "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 | 
       ต้องระบุ รหัสของคำขอที่เกี่ยวข้อง  | 
  
payload | 
    ออบเจ็กต์ | 
       ต้องระบุ เพย์โหลดคำตอบของ Intent  | 
  
errorCode | 
    String | 
       รหัสข้อผิดพลาดสำหรับธุรกรรมทั้งหมดที่การตรวจสอบสิทธิ์ล้มเหลวและระบบของนักพัฒนาแอปไม่พร้อมใช้งาน สำหรับข้อผิดพลาดของอุปกรณ์แต่ละรายการ ให้ใช้ errorCode ภายในออบเจ็กต์อุปกรณ์  | 
  
debugString | 
    String | 
       ข้อผิดพลาดในการตอบกลับแบบละเอียดซึ่งจะไม่แสดงต่อผู้ใช้ แต่อาจบันทึกหรือนำมาใช้ในระหว่างการพัฒนา  | 
  
commands | 
    อาร์เรย์ | 
       แต่ละออบเจ็กต์มีอุปกรณ์อย่างน้อย 1 เครื่องพร้อมรายละเอียดการตอบกลับ หมายเหตุ: รายการเหล่านี้อาจไม่ได้จัดกลุ่มในลักษณะเดียวกับในคำขอ เช่น คำขออาจเปิดไฟ 7 ดวง โดยไฟ 3 ดวงเปิดสำเร็จและ 4 ดวงเปิดไม่สำเร็จ จึงมีการตอบกลับ 2 กลุ่ม  | 
  
[item, ...] | 
    ออบเจ็กต์ | 
       ผลลัพธ์ของการดำเนินการในอุปกรณ์  | 
  
ids | 
    อาร์เรย์ | 
       ต้องระบุ รายการรหัสอุปกรณ์ที่สอดคล้องกับสถานะนี้  | 
  
[item, ...] | 
    String | 
       รหัสอุปกรณ์  | 
  
status | 
    String | 
       ต้องระบุ ผลลัพธ์ของการดำเนินการ ค่าที่รองรับ 
  | 
  
states | 
    ออบเจ็กต์ | 
       สอดคล้องกับสถานะของแต่ละลักษณะที่อธิบายไว้ในข้อมูลอ้างอิงสคีมาลักษณะแต่ละรายการ สถานะเหล่านี้คือสถานะหลังการดําเนินการ (หากมี)  | 
  
online | 
    บูลีน | 
       ระบุว่าอุปกรณ์ออนไลน์ (เข้าถึงได้) หรือไม่  | 
  
errorCode | 
    String | 
       ขยายสถานะข้อผิดพลาดหากจำเป็นจากรหัสข้อผิดพลาดที่กำหนดไว้ล่วงหน้า ซึ่งจะเชื่อมโยงกับข้อผิดพลาดที่แสดงต่อผู้ใช้  | 
  
debugString | 
    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" } ] } }