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

action.devices.traits.ArmDisarm - このトレイトは、セキュリティ システムなどに搭載されている監視機能の設定と解除に適用されます。

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

デバイスの属性

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

属性 タイプ 説明
availableArmLevels オブジェクト

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

levels 配列

必須。

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

[item, ...] オブジェクト

セキュリティ レベル。

level_name String

必須。

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

level_values 配列

必須。

level_synonymlang が含まれます。

[item, ...] オブジェクト

特定の言語のレベルの同義語。言語のフォールバックを提供するには、lang 値が en のアイテムが少なくとも 1 つ必要です。

level_synonym 配列

必須。

サポートされている各言語のレベルのユーザー フレンドリーな名前。最初のアイテムは正規名として扱われます。

[item, ...] String

同義語名。言語のフォールバックを提供するには、lang 値が en のアイテムが少なくとも 1 つ必要です。

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

デバイスエラー

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