スマートホームの ArmDisarm トレイトのスキーマ

action.devices.traits.ArmDisarm - このトレイトは、セキュリティ システムなどで使用される監視と監視解除をサポートします。

セキュリティ レベルが複数あるデバイスの場合は、availableArmLevels 属性でそれらのレベルを報告する必要があります。

デバイスの属性

このトレイトを持つデバイスは、SYNC オペレーションの一部として次の属性を報告できます。SYNC インテントの処理の詳細については、インテントのフルフィルメントをご覧ください。

属性 タイプ 説明
availableArmLevels 温度計

デバイスでサポートされているセキュリティ レベルを記述します。この属性が報告されない場合、デバイスがサポートするレベルは 1 つのみです。

levels 配列

必須。

デバイスでサポートされているセキュリティ レベルのリスト。

[item, ...] 温度計

セキュリティ レベル。

level_name String

必須。

コマンドと状態で使用されるセキュリティ レベルの内部名。これは、ユーザー フレンドリーな名前とは限らず、すべての言語に共通です。

level_values 配列

必須。

level_synonymlang が含まれます。

[item, ...] 温度計

特定の言語の類義語。

level_synonym 配列

必須。

サポートされている各言語のレベルのわかりやすい名前。最初の項目は正規名として扱われます。

[item, ...] String

同義名。

lang String

必須。

レベルの類義語の言語コード。サポートされている言語をご覧ください。

ordered ブール値

必須。

true に設定すると、levels 配列の順に、増減のロジックに対応する文法が適用されます。たとえば、「OK Google, セキュリティ レベルを 1 つ上げて」と言うと、アシスタントは現在のセキュリティ レベルを判別し、そのセキュリティ レベルを 1 つ上げます。この値が false に設定されている場合、増減のロジックに対応する文法はサポートされていません。

異なる 2 つのレベルレベルのセキュリティ システム

{
  "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 Integer

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

デバイスエラー

エラーと例外の全一覧をご覧ください。