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

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;如果是解除設防,則為 False。

cancel 布林值

必要。

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

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

參數 類型 說明
followUpToken String

Google 提供的權杖,用於後續回應。

arm 布林值

必要。

如果指令是設防,則為 True;如果是解除設防,則為 False。

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

裝置錯誤

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