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