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

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

デバイスの属性

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

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

(デフォルト: false

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

supportsDisablingGuestNetwork ブール値

(デフォルト: false

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

supportsGettingGuestNetworkPassword ブール値

(デフォルト: false

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

networkProfiles 配列

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

[item, ...] 文字列

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

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

必須。

ネットワーク SSID。

guestNetworkEnabled ブール値

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

guestNetworkSettings 温度計

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

ssid 文字列

必須。

ネットワーク SSID。

numConnectedDevices 整数

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

networkUsageMB 番号

ネットワーク使用量(MB(メガバイト)単位)。ネットワーク使用量が現在の請求対象期間内であること。請求対象期間のネットワーク使用量上限についてモニタリングすると便利です。

networkUsageLimitMB 番号

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

networkUsageUnlimited ブール値

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

lastNetworkDownloadSpeedTest 温度計

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

downloadSpeedMbps 番号

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

unixTimestampSec 整数

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

status 文字列

前回のネットワーク ダウンロード速度テストが成功したか失敗したかを示します。

サポートされている値:

SUCCESS
FAILURE
lastNetworkUploadSpeedTest 温度計

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

uploadSpeedMbps 番号

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

unixTimestampSec 整数

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

status 文字列

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

サポートされている値:

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 による Secondary User Verification を使用する必要があります。これらのコマンドで他のセキュリティ デバイスを無効にした場合、お客様のホーム セキュリティが影響を受ける可能性があります。

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

パラメータ

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

必須。

ゲスト ネットワークを有効にする場合は true、無効にする場合は false です。

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

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

action.devices.commands.EnableDisableNetworkProfile

ネットワーク プロファイルを有効または無効にします。PIN による Secondary User Verification を使用する必要があります。これらのコマンドで他のセキュリティ デバイスを無効にした場合、お客様のホーム セキュリティが影響を受ける可能性があります。

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

パラメータ

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

必須。

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

enable ブール値

必須。

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

お子様に対してインターネットをオフにする。

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

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

サポートされている値:

networkProfileNotRecognized

action.devices.commands.GetGuestNetworkPassword

ゲスト ネットワークのパスワードを取得します。PIN による Secondary User Verification を使用する必要があります。これらのコマンドで他のセキュリティ デバイスを無効にした場合、お客様のホーム セキュリティが影響を受ける可能性があります。

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

パラメータ

パラメータ タイプ 説明

プロパティがありません

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

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

結果

結果 タイプ 説明
guestNetworkPassword 文字列

必須。

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

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

{
  "guestNetworkPassword": "123456"
}

action.devices.commands.TestNetworkSpeed

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

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

パラメータ

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

必須。

ダウンロード速度をテストする必要があるかどうかを示します。

testUploadSpeed ブール値

必須。

アップロード速度をテストする必要があるかどうかを示します。

followUpToken 文字列

必須。

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

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

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

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

サポートされている値:

networkSpeedTestInProgress

フォローアップの回答

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

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

成功: networkDownloadSpeedMbps

フィールド タイプ 説明
followUpToken 文字列

必須。

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

status 文字列

必須。

リクエストの結果。

サポートされている値:

SUCCESS
networkDownloadSpeedMbps 番号

必須。

1 秒あたりのメガビット数で測定されたネットワーク ダウンロード速度。

成功: networkUploadSpeedMbps

フィールド タイプ 説明
followUpToken 文字列

必須。

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

status 文字列

必須。

リクエストの結果。

サポートされている値:

SUCCESS
networkUploadSpeedMbps 番号

必須。

メガビット/秒(Mbps)で測定したネットワークのアップロード速度。

成功: networkDownloadSpeedMbps と networkUploadSpeedMbps

フィールド タイプ 説明
followUpToken 文字列

必須。

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

status 文字列

必須。

リクエストの結果。

サポートされている値:

SUCCESS
networkDownloadSpeedMbps 番号

必須。

1 秒あたりのメガビット数で測定されたネットワーク ダウンロード速度。

networkUploadSpeedMbps 番号

必須。

メガビット/秒(Mbps)で測定したネットワークのアップロード速度。

失敗

フィールド タイプ 説明
followUpToken 文字列

必須。

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

status 文字列

必須。

リクエストの結果。

サポートされている値:

FAILURE
errorCode 文字列

必須。

値には、このトレイトの任意のエラーコード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