智慧型住宅設防/解除設防特徵結構定義
action.devices.traits.ArmDisarm - 這項特徵支援設防和解除設防,例如用於保全系統。
如果裝置有多個安全等級,應使用 availableArmLevels 屬性回報這些等級。
裝置屬性
具有這項特徵的裝置可能會回報下列屬性,做為 SYNC 作業的一部分。如要進一步瞭解如何處理 SYNC 意圖,請參閱「意圖執行要求」。
| 屬性 | 類型 | 說明 | 
|---|---|---|
| availableArmLevels | 物件 | 說明裝置支援的安全等級。如果未回報這項屬性,表示裝置僅支援一個層級。 | 
| levels | 陣列 | 必要。 裝置支援的安全層級清單。 | 
| [item, ...] | 物件 | 安全等級。 | 
| level_name | String | 必要。 指令和狀態中使用的安全等級內部名稱。這個名稱可能不方便使用者辨識,而且會套用至所有語言。 | 
| level_values | 陣列 | 必要。 包含  | 
| [item, ...] | 物件 | 指定語言的等級同義詞。如要提供語言備用選項,至少須有一個項目的  | 
| level_synonym | 陣列 | 必要。 各支援語言的等級易記名稱。第一個項目會視為標準名稱。 | 
| [item, ...] | String | 同義詞名稱。如要提供語言備用選項,至少須有一個項目的  | 
| 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 | 必要。 如果指定  | 
| exitAllowance | 整數 | 表示使用者必須離開的時間 (以秒為單位), | 
範例
保全系統會回報不同的設防等級
{
  "isArmed": true,
  "currentArmLevel": "L1"
}裝置指令
具有這項特徵的裝置可能會在 EXECUTE 作業中回應下列指令。如要進一步瞭解如何處理 EXECUTE 意圖,請參閱「意圖執行要求」。
action.devices.commands.ArmDisarm
設定裝置的警報等級。
參數
酬載包含下列其中一項:
取消啟動或解除啟動作業
| 參數 | 類型 | 說明 | 
|---|---|---|
| followUpToken | String | Google 提供的後續回應權杖。 | 
| arm | 布林值 | 必要。 如果指令是設防,則為 True。無法解除武裝。 | 
| cancel | 布林值 | 必要。 如果指令是要取消  | 
啟動或解除裝置,並視需要設定安全等級。
| 參數 | 類型 | 說明 | 
|---|---|---|
| followUpToken | String | Google 提供的後續回應權杖。 | 
| arm | 布林值 | 必要。 如果指令是設防,則為 True。無法解除武裝。 | 
| armLevel | String | 要啟動的  | 
範例
啟動系統
{
  "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