Google Home デベロッパー センターにようこそ。スマートホーム アクションの開発方法を学ぶことができます。注: アクションの作成は、引き続き Actions Console で行います。
コレクションでコンテンツを整理 必要に応じて、コンテンツの保存と分類を行います。

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

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

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

デバイスの属性

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

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

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

levels 配列

必須。

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

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

セキュリティ レベル

level_name 文字列

必須。

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

level_values 配列

必須。

level_synonymlang が含まれます。

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

特定の言語のレベルの類義語。

level_synonym 配列

必須。

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

[item, ...] 文字列

同義名。

lang 文字列

必須。

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

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 文字列

必須。

availableArmLevels 属性が指定されている場合は必須です。複数のセキュリティ レベルが存在する場合は、現在のセキュリティ レベルの名前を示します。

exitAllowance Integer

currentArmLevel が有効になるまでのユーザーの離脱時間を秒単位で指定します。

個別の監視レベルを報告するセキュリティ システム

{
  "isArmed": true,
  "currentArmLevel": "L1"
}

デバイスのコマンド

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

action.devices.commands.ArmDisarm

このデバイスのアラームレベルを設定します。

パラメータ

ペイロードには次のいずれかが含まれています。

監視または監視解除操作をキャンセルします

パラメータ タイプ 説明
followUpToken 文字列

フォローアップ レスポンス用の Google 提供のトークン。

arm ブール値

必須。

コマンドが arm にあれば true。監視を解除する場合は False。

cancel ブール値

必須。

コマンドが arm 値をキャンセルする場合は true。

オプションでセキュリティ レベルを設定して、デバイスの動作のオンとオフを切り替えることができます。

パラメータ タイプ 説明
followUpToken 文字列

フォローアップ レスポンス用の Google 提供のトークン。

arm ブール値

必須。

コマンドが arm にあれば true。監視を解除する場合は False。

armLevel 文字列

監視する 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

デバイスエラー

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