スマートホームの 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 整数

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

デバイスエラー

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