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 に設定すると、レベルアレイの順番で増減ロジックの文法が適用されます。たとえば、「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 ブール値

必須。

監視のコマンドが true の場合は true。解除して false にします。

cancel ブール値

必須。

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

デバイスの監視または監視を解除します。セキュリティ レベルは任意です。

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

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

arm ブール値

必須。

監視のコマンドが true の場合は 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

デバイスエラー

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