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

action.devices.traits.NetworkControl - このトレイトは、ネットワーク データのレポートとネットワーク固有のオペレーションをサポートするデバイスに使用します。

デバイスの属性

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

属性 タイプ 説明
supportsEnablingGuestNetwork ブール値

(デフォルト: false

ゲスト ネットワークを有効にできる場合は、true に設定します。

supportsDisablingGuestNetwork ブール値

(デフォルト: false

ゲスト ネットワークを無効にできる場合は true に設定します。

supportsGettingGuestNetworkPassword ブール値

(デフォルト: false

GetGuestNetworkPassword コマンドを使用してゲスト ネットワークのパスワードを取得できる場合は、true に設定します。

networkProfiles 配列

サポートされているネットワーク プロファイル名を示します。

[item, ...] String

関連デバイスのグループを表すネットワーク プロファイルの名前。

supportsEnablingNetworkProfile ブール値

(デフォルト: "false"

ネットワーク プロファイルを有効にできる場合は、true に設定します。

supportsDisablingNetworkProfile ブール値

(デフォルト: "false"

ネットワーク プロファイルを無効にできる場合は true に設定します。

supportsNetworkDownloadSpeedTest ブール値

(デフォルト: false

ダウンロード速度テストが可能な場合は true に設定します。

supportsNetworkUploadSpeedTest ブール値

(デフォルト: false

アップロード速度テストを実行できる場合は、true に設定します。

ゲスト ネットワーク、プロファイル、速度テストをサポートするネットワーク デバイス。

{
  "supportsEnablingGuestNetwork": true,
  "supportsDisablingGuestNetwork": true,
  "supportsEnablingNetworkProfile": true,
  "supportsDisablingNetworkProfile": true,
  "supportsNetworkDownloadSpeedTest": true,
  "supportsNetworkUploadSpeedTest": true,
  "supportsGettingGuestNetworkPassword": true,
  "networkProfiles": [
    "Kids"
  ]
}

デバイスのステータス

このトレイトを使用するエンティティは、QUERY オペレーションの一部として次の状態を報告できます。QUERY インテントの処理の詳細については、インテントのフルフィルメントをご覧ください。

状態 タイプ 説明
networkEnabled ブール値

メイン ネットワークが有効かどうか。

networkSettings 温度計

メイン ネットワークの SSID が含まれます。

ssid String

必須。

ネットワークの SSID。

guestNetworkEnabled ブール値

ゲスト ネットワークが有効かどうか。

guestNetworkSettings 温度計

ゲスト ネットワークの SSID が含まれます。

ssid String

必須。

ネットワークの SSID。

numConnectedDevices Integer

ネットワークに接続されているデバイスの数。

networkUsageMB 番号

ネットワーク使用量(MB)。メガバイト単位です。ネットワーク使用量が現在の請求対象期間内であるため、請求対象期間のネットワーク使用量の上限を監視できます。

networkUsageLimitMB 番号

ネットワーク使用量の上限(MB)。ネットワーク使用量の上限が現在の請求対象期間内であること。

networkUsageUnlimited ブール値

ネットワーク使用量が無制限かどうか。デバイスの状態 networkUsageLimitMB は、true に設定されている場合は無視されます。

lastNetworkDownloadSpeedTest 温度計

最新のネットワーク ダウンロード速度テストの結果が含まれます。

downloadSpeedMbps 番号

最後のネットワーク速度テストのダウンロード速度(Mbps)。

unixTimestampSec Integer

最後のネットワーク ダウンロード速度テストが実行された Unix タイムスタンプ(Unix エポックからの経過秒数)。

status String

最後のネットワーク ダウンロード速度テストが成功したかどうかを示します。

サポートされる値:

SUCCESS
FAILURE
lastNetworkUploadSpeedTest 温度計

最新のネットワーク アップロード速度テストの結果が含まれます。

uploadSpeedMbps 番号

最後のネットワーク速度テストのアップロード速度(Mbps)。

unixTimestampSec Integer

最後のネットワーク アップロード速度テストが実行された Unix タイムスタンプ(Unix エポックからの経過秒数)。

status String

最後のネットワーク アップロード速度テストが成功したかどうかを示します。

サポートされる値:

SUCCESS
FAILURE
networkSpeedTestInProgress ブール値

(デフォルト: false

速度テストを現在実施しているかどうか。

networkProfilesState 温度計

ネットワーク プロファイルの状態。このトップレベル オブジェクトには Key-Value ペアを含める必要があります。キーは networkProfiles 属性にリストされているネットワーク プロファイルのいずれかの名前で、値はそのプロファイルの対応する状態である必要があります。

<string> 温度計

個々のネットワーク プロファイルの状態を保存するオブジェクト。 キーの値は、networkProfiles 属性のいずれかのネットワーク プロファイルの名前にする必要があります。

enabled ブール値

ネットワーク プロファイルの現在の有効/無効状態。

アクティブなネットワークがあるデバイス。

{
  "networkEnabled": true,
  "networkSettings": {
    "ssid": "home-network-123"
  },
  "guestNetworkSettings": {
    "ssid": "home-network-123-guest"
  },
  "numConnectedDevices": 4,
  "networkUsageMB": 100.8
}

アクティブなネットワークと速度テスト結果を備えたデバイス。

{
  "networkEnabled": true,
  "networkSettings": {
    "ssid": "home-network-123"
  },
  "guestNetworkSettings": {
    "ssid": "home-network-123-guest"
  },
  "numConnectedDevices": 4,
  "networkUsageMB": 100.8,
  "lastNetworkDownloadSpeedTest": {
    "downloadSpeedMbps": 159.8,
    "unixTimestampSec": 1563215576,
    "status": "SUCCESS"
  },
  "lastNetworkUploadSpeedTest": {
    "uploadSpeedMbps": 64.1,
    "unixTimestampSec": 1563215576,
    "status": "SUCCESS"
  }
}

アクティブなネットワークと速度テストが進行中のデバイス

{
  "networkEnabled": true,
  "networkSettings": {
    "ssid": "home-network-123"
  },
  "guestNetworkSettings": {
    "ssid": "home-network-123-guest"
  },
  "numConnectedDevices": 4,
  "networkUsageMB": 100.8,
  "networkSpeedTestInProgress": true
}

"kids" networkProfile が無効になっているデバイス

{
  "networkEnabled": true,
  "networkSettings": {
    "ssid": "home-network-123"
  },
  "networkProfilesState": {
    "parents": {
      "enabled": true
    },
    "kids": {
      "enabled": false
    }
  }
}

デバイスのコマンド

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

action.devices.commands.EnableDisableGuestNetwork

ゲスト ネットワークを有効または無効にします。PIN による予備のユーザー確認を使用する必要があります。以下のコマンドで他のセキュリティ デバイスを無効にしている場合、ユーザーのホーム セキュリティが影響を受ける可能性があります。

このコマンドには次の属性が必要です。
{
  "supportsEnablingGuestNetwork": true,
  "supportsDisablingGuestNetwork": true
}

パラメータ

パラメータ タイプ 説明
enable ブール値

必須。

ゲスト ネットワークを有効にするには true、ゲスト ネットワークを無効にするには false を指定します。

ゲスト ネットワークをオンにします。

{
  "command": "action.devices.commands.EnableDisableGuestNetwork",
  "params": {
    "enable": true
  }
}

action.devices.commands.EnableDisableNetworkProfile

ネットワーク プロファイルを有効または無効にします。PIN による予備のユーザー確認を使用する必要があります。以下のコマンドで他のセキュリティ デバイスを無効にしている場合、ユーザーのホーム セキュリティが影響を受ける可能性があります。

このコマンドには次の属性が必要です。
{
  "supportsEnablingNetworkProfile": true,
  "supportsDisablingNetworkProfile": true
}

パラメータ

パラメータ タイプ 説明
profile String

必須。

networkProfiles 属性のプロファイル名。

enable ブール値

必須。

プロファイルを有効にする場合は true、無効にする場合は false を指定します。

子ども向けのインターネットをオフにする。

{
  "command": "action.devices.commands.EnableDisableNetworkProfile",
  "params": {
    "profile": "Kids",
    "enable": false
  }
}

特定のネットワーク プロファイルの制御中にエラーが発生しました。

サポートされる値:

networkProfileNotRecognized

action.devices.commands.GetGuestNetworkPassword

ゲスト ネットワークのパスワードを取得します。PIN による予備のユーザー確認を使用する必要があります。以下のコマンドで他のセキュリティ デバイスを無効にしている場合、ユーザーのホーム セキュリティが影響を受ける可能性があります。

このコマンドには次の属性が必要です。
{
  "supportsGettingGuestNetworkPassword": true
}

パラメータ

パラメータ タイプ 説明

プロパティがありません

ゲストの Wi-Fi パスワードを表示する。

{
  "command": "action.devices.commands.GetGuestNetworkPassword",
  "params": {}
}

結果

結果 タイプ 説明
guestNetworkPassword String

必須。

ゲスト ネットワークのパスワード。

ゲストの Wi-Fi パスワードを表示する。

{
  "guestNetworkPassword": "123456"
}

action.devices.commands.TestNetworkSpeed

ネットワークのダウンロード速度とアップロード速度をテストします。

このコマンドには次の属性が必要です。
{
  "supportsNetworkDownloadSpeedTest": true,
  "supportsNetworkUploadSpeedTest": true
}

パラメータ

パラメータ タイプ 説明
testDownloadSpeed ブール値

必須。

ダウンロード速度をテストするかどうかを指定します。

testUploadSpeed ブール値

必須。

アップロード速度をテストするかどうかを指定します。

followUpToken String

必須。

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

Wi-Fi 速度はどのくらいですか?

{
  "command": "action.devices.commands.TestNetworkSpeed",
  "params": {
    "testDownloadSpeed": true,
    "testUploadSpeed": true,
    "followUpToken": "123"
  }
}

速度テストのリクエスト中にエラーが発生しました。

サポートされる値:

networkSpeedTestInProgress

フォローアップの回答

このトレイトを持つデバイスは、EXECUTE オペレーションの一部として、次のフォローアップ レスポンス ペイロードを返すことができます。フォローアップ レスポンスの実装の詳細については、スマートホーム アクションの通知をご覧ください。

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

成功: networkDownloadSpeedMbps

フィールド タイプ 説明
followUpToken String

必須。

元の EXECUTE リクエストで提供されたトークン。

status String

必須。

リクエストの結果。

サポートされる値:

SUCCESS
networkDownloadSpeedMbps 番号

必須。

ネットワークのダウンロード速度(Mbps)。

成功: networkUploadSpeedMbps

フィールド タイプ 説明
followUpToken String

必須。

元の EXECUTE リクエストで提供されたトークン。

status String

必須。

リクエストの結果。

サポートされる値:

SUCCESS
networkUploadSpeedMbps 番号

必須。

ネットワークのアップロード速度(Mbps)。

成功: networkDownloadSpeedMbps と networkUploadSpeedMbps

フィールド タイプ 説明
followUpToken String

必須。

元の EXECUTE リクエストで提供されたトークン。

status String

必須。

リクエストの結果。

サポートされる値:

SUCCESS
networkDownloadSpeedMbps 番号

必須。

ネットワークのダウンロード速度(Mbps)。

networkUploadSpeedMbps 番号

必須。

ネットワークのアップロード速度(Mbps)。

失敗

フィールド タイプ 説明
followUpToken String

必須。

元の EXECUTE リクエストで提供されたトークン。

status String

必須。

リクエストの結果。

サポートされる値:

FAILURE
errorCode String

必須。

値には、このトレイトの任意のエラーコード(例: transientError)を使用できます。

Wi-Fi の速度はどのくらいですか?(フォローアップの回答)

{
  "NetworkControl": {
    "priority": 0,
    "followUpResponse": {
      "status": "SUCCESS",
      "networkDownloadSpeedMbps": 23.3,
      "networkUploadSpeedMbps": 10.2,
      "followUpToken": "1234"
    }
  }
}

Wi-Fi の速度はどのくらいですか?(失敗時のフォローアップ)

{
  "NetworkControl": {
    "priority": 0,
    "followUpResponse": {
      "status": "FAILURE",
      "errorCode": "transientError",
      "followUpToken": "1234"
    }
  }
}

デバイスエラー

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

特定のネットワーク プロファイルの制御中にエラーが発生しました。

サポートされる値:

networkProfileNotRecognized

速度テストのリクエスト中にエラーが発生しました。

サポートされる値:

networkSpeedTestInProgress