智慧型住宅設防/解除設防特徵結構定義

action.devices.traits.ArmDisarm - 這項特徵支援設防和解除設防,例如用於保全系統。

如果裝置有多個安全等級,應使用 availableArmLevels 屬性回報這些等級。

裝置屬性

具有這項特徵的裝置可能會回報下列屬性,做為 SYNC 作業的一部分。如要進一步瞭解如何處理 SYNC 意圖,請參閱「意圖執行要求」。

屬性 類型 說明
availableArmLevels 物件

說明裝置支援的安全等級。如果未回報這項屬性,表示裝置僅支援一個層級。

levels 陣列

必要。

裝置支援的安全層級清單。

[item, ...] 物件

安全等級。

level_name String

必要。

指令和狀態中使用的安全等級內部名稱。這個名稱可能不方便使用者辨識,而且會套用至所有語言。

level_values 陣列

必要。

包含 level_synonymlang

[item, ...] 物件

指定語言的等級同義詞。如要提供語言備用選項,至少須有一個項目的 lang 值為 en

level_synonym 陣列

必要。

各支援語言的等級易記名稱。第一個項目會視為標準名稱。

[item, ...] String

同義詞名稱。如要提供語言備用選項,至少須有一個項目的 lang 值為 en

lang String

必要。

等級同義詞的語言代碼。請參閱「支援的語言」。

ordered 布林值

必要。

如設為 true,系統會依層級陣列的順序,套用增加/減少邏輯的其他文法。舉例來說,如果說出「Ok Google,將安全等級調高 1 級」,Google 助理會判斷目前的安全等級,然後將安全等級調高 1 級。如果這個值設為 false,系統就不支援增加/減少邏輯的額外文法。

範例

保全系統提供兩種不同的設防等級

{
  "availableArmLevels": {
    "levels": [
      {
        "level_name": "L1",
        "level_values": [
          {
            "level_synonym": [
              "Home and Guarding",
              "SL1"
            ],
            "lang": "en"
          },
          {
            "level_synonym": [
              "Zuhause und Bewachen",
              "SL1"
            ],
            "lang": "de"
          }
        ]
      },
      {
        "level_name": "L2",
        "level_values": [
          {
            "level_synonym": [
              "Away and Guarding",
              "SL2"
            ],
            "lang": "en"
          },
          {
            "level_synonym": [
              "Weg und Bewachen",
              "SL2"
            ],
            "lang": "de"
          }
        ]
      }
    ],
    "ordered": true
  }
}

裝置狀態

具有這項特徵的實體可能會回報下列狀態,做為 QUERY 作業的一部分。如要進一步瞭解如何處理 QUERY 意圖,請參閱「意圖執行要求」。

類型 說明
isArmed 布林值

必要。

指出裝置目前是否已設防。

currentArmLevel String

必要。

如果指定 availableArmLevels 屬性,則為必要欄位。如果有多個安全等級,會顯示目前安全等級的名稱。

exitAllowance 整數

表示使用者必須離開的時間 (以秒為單位),currentArmLevel 才會生效。

範例

保全系統會回報不同的設防等級

{
  "isArmed": true,
  "currentArmLevel": "L1"
}

裝置指令

具有這項特徵的裝置可能會在 EXECUTE 作業中回應下列指令。如要進一步瞭解如何處理 EXECUTE 意圖,請參閱「意圖執行要求」。

action.devices.commands.ArmDisarm

設定裝置的警報等級。

參數

酬載包含下列其中一項:

取消啟動或解除啟動作業

參數 類型 說明
followUpToken String

Google 提供的後續回應權杖。

arm 布林值

必要。

如果指令是設防,則為 True。無法解除武裝。

cancel 布林值

必要。

如果指令是要取消 arm 值,則為 True。

啟動或解除裝置,並視需要設定安全等級。

參數 類型 說明
followUpToken String

Google 提供的後續回應權杖。

arm 布林值

必要。

如果指令是設防,則為 True。無法解除武裝。

armLevel String

要啟動的 level_name

範例

啟動系統

{
  "command": "action.devices.commands.ArmDisarm",
  "params": {
    "arm": true,
    "followUpToken": "123"
  }
}

將系統設為 L1 警戒等級

{
  "command": "action.devices.commands.ArmDisarm",
  "params": {
    "arm": true,
    "armLevel": "L1",
    "followUpToken": "456"
  }
}

取消設防作業

{
  "command": "action.devices.commands.ArmDisarm",
  "params": {
    "arm": true,
    "cancel": true
  }
}

裝置設防或解除設防時發生錯誤。

支援的值:

alreadyInState
deviceTampered
passphraseIncorrect
pinIncorrect
securityRestriction
tooManyFailedAttempts
userCancelled

裝置錯誤

請參閱錯誤和例外狀況的完整清單。