action.devices.QUERY

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

การตอบกลับ QUERY ควรแสดงเฉพาะข้อมูลสถานะเท่านั้น การอัปเดตแอตทริบิวต์และลักษณะเฉพาะของอุปกรณ์ได้รับการจัดการโดยการตอบกลับ SYNC

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

รูปแบบคําขอ

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

ต้องระบุ

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

inputs อาร์เรย์

ต้องระบุ

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

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

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

intent

ต้องระบุ

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

ประเภทคําขอ Intent

payload ออบเจ็กต์

ต้องระบุ

เพย์โหลดคําขอ QUERY

devices อาร์เรย์

ต้องระบุ

รายการอุปกรณ์เป้าหมาย

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

เป้าหมายของอุปกรณ์ในการค้นหา

id สตริง

ต้องระบุ

รหัสอุปกรณ์ ตามรหัสที่ระบุใน SYNC

customData ออบเจ็กต์

หากมีออบเจ็กต์ Opaque customData อยู่ใน SYNC ระบบจะส่งออบเจ็กต์นั้นที่นี่

ตัวอย่าง

คําขอ Intent ของ QUERY

{
  "requestId": "ff36a3cc-ec34-11e6-b1a0-64510650abcf",
  "inputs": [
    {
      "intent": "action.devices.QUERY",
      "payload": {
        "devices": [
          {
            "id": "123",
            "customData": {
              "fooValue": 74,
              "barValue": true,
              "bazValue": "foo"
            }
          },
          {
            "id": "456",
            "customData": {
              "fooValue": 12,
              "barValue": false,
              "bazValue": "bar"
            }
          }
        ]
      }
    }
  ]
}

รูปแบบคําตอบ

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

ต้องระบุ

รหัสของคําขอที่เกี่ยวข้อง

payload ออบเจ็กต์

ต้องระบุ

เพย์โหลดการตอบกลับ Intent

errorCode สตริง

รหัสข้อผิดพลาดของทั้งธุรกรรมสําหรับการตรวจสอบสิทธิ์ล้มเหลวและความพร้อมใช้งานของระบบนักพัฒนาแอป สําหรับข้อผิดพลาดในอุปกรณ์แต่ละเครื่อง ให้ใช้ errorCode ภายในออบเจ็กต์อุปกรณ์

debugString สตริง

ข้อผิดพลาดโดยละเอียดที่จะไม่แสดงต่อผู้ใช้ แต่อาจมีการบันทึกหรือนําไปใช้ระหว่างการพัฒนา

devices ออบเจ็กต์

ต้องระบุ

แผนที่ของอุปกรณ์ รหัสอุปกรณ์นักพัฒนาซอฟต์แวร์ Maps กับออบเจ็กต์ของพร็อพเพอร์ตี้สถานะ

<string> ออบเจ็กต์

สถานะอุปกรณ์

online บูลีน

ต้องระบุ

ระบุว่าอุปกรณ์ออนไลน์อยู่ไหม (กล่าวคือ ติดต่อได้) หรือไม่

status สตริง

ต้องระบุ

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

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

SUCCESS
ยืนยันว่าการค้นหาสําเร็จ
OFFLINE
อุปกรณ์เป้าหมายอยู่ในสถานะออฟไลน์หรือเข้าถึงไม่ได้
EXCEPTIONS
มีปัญหาหรือการแจ้งเตือนที่เชื่อมโยงกับการค้นหา การค้นหาอาจสําเร็จหรือล้มเหลวก็ได้ ประเภทสถานะนี้มักจะกําหนดเมื่อคุณต้องการส่งข้อมูลเพิ่มเติมเกี่ยวกับอุปกรณ์ที่เชื่อมต่อเครื่องอื่น
ERROR
ค้นหาอุปกรณ์เป้าหมายไม่ได้
errorCode สตริง

ขยายสถานะ ERROR หากจําเป็นจากรหัสข้อผิดพลาดที่กําหนดไว้ล่วงหน้า ซึ่งจะแมปกับข้อผิดพลาดที่แสดงต่อผู้ใช้

ตัวอย่าง

การตอบกลับ Intent ของ QUERY

{
  "requestId": "ff36a3cc-ec34-11e6-b1a0-64510650abcf",
  "payload": {
    "devices": {
      "123": {
        "on": true,
        "online": true,
        "status": "SUCCESS"
      },
      "456": {
        "on": true,
        "online": true,
        "status": "SUCCESS",
        "brightness": 80,
        "color": {
          "spectrumRgb": 16711935
        }
      }
    }
  }
}