action.devices.EXECUTE

Intent นี้ส่งคําสั่งเพื่อดําเนินการในอุปกรณ์ในบ้านอัจฉริยะ

การดําเนินการตามคําสั่งซื้อควรประมวลผลคําสั่งแต่ละรายการ ส่งคําสั่งไปยังอุปกรณ์ที่เกี่ยวข้อง และส่งคืนสถานะใหม่ในการตอบสนองของ EXECUTE

EXECUTE Intent เดียวจะกําหนดเป้าหมายเป็นอุปกรณ์หลายเครื่องได้ด้วยคําสั่งหลายรายการ เช่น Intent ที่ทริกเกอร์อาจตั้งค่าทั้งความสว่างและสีในชุดไฟ หรืออาจตั้งค่าไฟหลายดวงเป็นสีอื่น

โปรดดูรายละเอียดเพิ่มเติมที่หัวข้อการค้นหาและการดําเนินการ

รูปแบบคําขอ

ช่อง ประเภท คำอธิบาย
requestId สตริง

ต้องระบุ

รหัสของคําขอ

inputs อาร์เรย์

ต้องระบุ

รายการอินพุตที่ตรงกับคําขอ Intent

[item, ...] ออบเจ็กต์

พิมพ์และเพย์โหลดที่เชื่อมโยงกับคําขอ Intent

intent

ต้องระบุ

(ค่าคงที่: "action.devices.EXECUTE")

ประเภทคําขอ 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 สตริง

ต้องระบุ

ผลของการดําเนินการ

ค่าที่รองรับมีดังต่อไปนี้

SUCCESS
ยืนยันว่าคําสั่งสําเร็จ
PENDING
คําสั่งได้รับการจัดคิวไว้แล้วแต่คาดว่าจะประสบความสําเร็จ
OFFLINE
อุปกรณ์เป้าหมายอยู่ในสถานะออฟไลน์หรือเข้าถึงไม่ได้
EXCEPTIONS
มีปัญหาหรือการแจ้งเตือนที่เกี่ยวข้องกับคําสั่ง คําสั่งอาจสําเร็จหรือล้มเหลว ประเภทสถานะนี้มักจะกําหนดเมื่อคุณต้องการส่งข้อมูลเพิ่มเติมเกี่ยวกับอุปกรณ์ที่เชื่อมต่อเครื่องอื่น
ERROR
อุปกรณ์เป้าหมายดําเนินการตามคําสั่งไม่ได้
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"
      }
    ]
  }
}