action.devices.QUERY

這項意圖會查詢裝置的目前狀態執行要求,包括裝置是否連上網路且可連線。

QUERY 回應只能傳回狀態資訊, 裝置的屬性和特性更新會由 SYNC 回應。

詳情請參閱「查詢並執行」。

要求格式

欄位 類型 說明
requestId String

必要。

要求的 ID。

inputs 陣列

必要。

符合意圖要求的輸入清單。

[item, ...] 物件

與意圖要求相關聯的類型和酬載。

intent

必要。

(常數值:"action.devices.QUERY")

意圖要求類型。

payload 物件

必要。

QUERY 要求酬載。

devices 陣列

必要。

目標裝置清單。

[item, ...] 物件

要查詢的裝置目標。

id String

必要。

裝置 ID;與 SYNC 中提供的 ID 相同。

customData 物件

如果您在 SYNC 中提供不透明 customData 物件,該物件會傳送至這裡。

範例

查詢意圖要求

{
  "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 String

必要。

對應要求的 ID。

payload 物件

必要。

意圖回應酬載。

errorCode String

驗證失敗和開發人員系統無法使用時的整筆交易錯誤代碼。如果是個別裝置錯誤,請使用裝置物件中的 errorCode。

debugString String

詳細的錯誤不會向使用者顯示,但可能會在開發期間記錄或使用。

devices 物件

必要。

裝置地圖。將開發人員裝置 ID 對應至狀態屬性物件。

<string> 物件

裝置狀態。

online 布林值

必要。

說明裝置是否連上網路 (也就是可連線)。

status String

必要。

查詢作業的結果。

支援的值:

SUCCESS
確認查詢成功。
OFFLINE
目標裝置處於離線狀態或無法存取。
EXCEPTIONS
有與查詢相關聯的問題或快訊。查詢可能會成功或失敗。通常當您想傳送其他已連結裝置的相關資訊時,就會設定這種狀態類型。
ERROR
無法查詢目標裝置。
errorCode String

視需要從預設的錯誤代碼展開「錯誤」狀態,這會對應至向使用者顯示的錯誤。

範例

查詢意圖回應

{
  "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
        }
      }
    }
  }
}