智慧型住宅 ArmDisarm 特徵結構定義

action.devices.traits.ArmDisarm:這個特徵支援裝置的啟動和解除啟動功能,例如在保全系統中使用。

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

裝置屬性

具備此特徵的裝置可能會在 SYNC 作業中回報下列屬性。如要進一步瞭解如何處理 SYNC 意圖,請參閱「意圖執行要求」。

屬性 類型 說明
availableArmLevels 物件

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

levels 陣列

必填。

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

[item, ...] 物件

安全等級。

level_name String

必填。

在指令和狀態中使用的安全層級內部名稱。這個名稱可能不利於使用者,且會在所有語言中共用。

level_values 陣列

必填。

包含 level_synonymlang

[item, ...] 物件

指定語言的等級同義詞。

level_synonym 陣列

必填。

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

[item, ...] String

同義字名稱。

lang String

必填。

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

ordered 布林值

必填。

如果設為 true,系統會依照 levels 陣列的順序,套用增加/減少邏輯的額外語法。舉例來說,如果說出「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

裝置錯誤

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