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

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

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

裝置屬性

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

屬性 類型 說明
availableArmLevels 物件

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

levels 陣列

必填。

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

[item, ...] 物件

安全等級。

level_name String

必填。

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

level_values 陣列

必填。

包含「level_synonym」和「lang」。

[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

裝置錯誤

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