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

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

networkUsageMB 数値

ネットワーク使用量(MB(メガバイト)単位)。ネットワーク使用量は現在の請求期間内です。これは、請求期間のネットワーク使用量の上限と比較してモニタリングするのに役立ちます。

networkUsageLimitMB 数値

ネットワーク使用量の上限(MB(メガバイト)単位)。ネットワーク使用量の上限が現在の請求対象期間内である。

networkUsageUnlimited ブール値

ネットワーク使用量が無制限かどうか。このポリシーを true に設定した場合、デバイスの状態 networkUsageLimitMB は無視されます。

lastNetworkDownloadSpeedTest オブジェクト

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

downloadSpeedMbps 数値

直近のネットワーク速度テストのダウンロード速度(Mbps(メガビット/秒)単位)。

unixTimestampSec 整数

最後にネットワーク ダウンロード速度テストを実行したとき刻の Unix タイムスタンプ(Unix エポックからの秒数)。

status String

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

サポートされている値:

SUCCESS
FAILURE
lastNetworkUploadSpeedTest オブジェクト

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

uploadSpeedMbps 数値

直近のネットワーク速度テストのアップロード速度(Mbps(メガビット/秒)単位)。

unixTimestampSec 整数

最後にネットワーク アップロード速度テストを実行したとき刻の Unix タイムスタンプ(Unix エポックからの秒数)。

status String

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

サポートされている値:

SUCCESS
FAILURE
networkSpeedTestInProgress ブール値

(デフォルト: false

速度テストが現在実行されているかどうか。

networkProfilesState オブジェクト

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

<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
}

networkProfile が「kids」に設定されているデバイスが無効になっている。

{
  "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 数値

必須。

ネットワークのダウンロード速度(メガビット/秒)。

成功: networkUploadSpeedMbps

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

必須。

元の EXECUTE リクエストで指定されたトークン。

status String

必須。

リクエストの結果。

サポートされている値:

SUCCESS
networkUploadSpeedMbps 数値

必須。

ネットワークのアップロード速度(メガビット/秒)。

成功: networkDownloadSpeedMbps と networkUploadSpeedMbps

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

必須。

元の EXECUTE リクエストで指定されたトークン。

status String

必須。

リクエストの結果。

サポートされている値:

SUCCESS
networkDownloadSpeedMbps 数値

必須。

ネットワークのダウンロード速度(メガビット/秒)。

networkUploadSpeedMbps 数値

必須。

ネットワークのアップロード速度(メガビット/秒)。

失敗

フィールド タイプ 説明
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