スマートホーム NetworkControl トレイト スキーマ
action.devices.traits.NetworkControl - このトレイトは、ネットワーク データの報告が可能で、ネットワーク固有の操作を実行できるデバイスに使用します。
デバイスの属性
このトレイトを持つデバイスは、SYNC オペレーションの一部として次の属性を報告できます。SYNC インテントの処理の詳細については、インテントのフルフィルメントをご覧ください。
| 属性 | タイプ | 説明 | 
|---|---|---|
supportsEnablingGuestNetwork | 
    ブール値 | 
       (デフォルト:  ゲスト ネットワークを有効にできる場合は true に設定します。  | 
  
supportsDisablingGuestNetwork | 
    ブール値 | 
       (デフォルト:  ゲスト ネットワークを無効にできる場合は true に設定します。  | 
  
supportsGettingGuestNetworkPassword | 
    ブール値 | 
       (デフォルト:  ゲスト ネットワークのパスワードを   | 
  
networkProfiles | 
    配列 | 
       サポートされているネットワーク プロファイル名を示します。  | 
  
[item, ...] | 
    String | 
       関連するデバイスのグループを表すネットワーク プロファイルの名前。  | 
  
supportsEnablingNetworkProfile | 
    ブール値 | 
       (デフォルト:  ネットワーク プロファイルを有効にできる場合は true に設定します。  | 
  
supportsDisablingNetworkProfile | 
    ブール値 | 
       (デフォルト:  ネットワーク プロファイルを無効にできる場合は true に設定します。  | 
  
supportsNetworkDownloadSpeedTest | 
    ブール値 | 
       (デフォルト:  ダウンロード速度テストを実行できる場合は true に設定します。  | 
  
supportsNetworkUploadSpeedTest | 
    ブール値 | 
       (デフォルト:  アップロード速度テストを実行できる場合は 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 | 
       最後のネットワーク ダウンロード速度テストが成功したかどうかを示します。 サポートされている値: 
  | 
  
lastNetworkUploadSpeedTest | 
    オブジェクト | 
       最新のネットワーク アップロード速度テストの結果が含まれます。  | 
  
uploadSpeedMbps | 
    数値 | 
       直近のネットワーク速度テストのアップロード速度(Mbps(メガビット/秒)単位)。  | 
  
unixTimestampSec | 
    整数 | 
       最後にネットワーク アップロード速度テストを実行したとき刻の Unix タイムスタンプ(Unix エポックからの秒数)。  | 
  
status | 
    String | 
       前回のネットワーク アップロード速度テストが成功したかどうかを示します。 サポートされている値: 
  | 
  
networkSpeedTestInProgress | 
    ブール値 | 
       (デフォルト:  速度テストが現在実行されているかどうか。  | 
  
networkProfilesState | 
    オブジェクト | 
       ネットワーク プロファイルの状態。この最上位オブジェクトには、Key-Value ペアを含める必要があります。ここで、Key は   | 
  
<string> | 
    オブジェクト | 
       個々のネットワーク プロファイルの状態を保存するオブジェクト。  | 
  
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 | 
       必須。 
  | 
  
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 | 
       必須。 リクエストの結果。 サポートされている値: 
  | 
  
networkDownloadSpeedMbps | 
    数値 | 
       必須。 ネットワークのダウンロード速度(メガビット/秒)。  | 
  
成功: networkUploadSpeedMbps
| フィールド | タイプ | 説明 | 
|---|---|---|
followUpToken | 
    String | 
       必須。 元の EXECUTE リクエストで指定されたトークン。  | 
  
status | 
    String | 
       必須。 リクエストの結果。 サポートされている値: 
  | 
  
networkUploadSpeedMbps | 
    数値 | 
       必須。 ネットワークのアップロード速度(メガビット/秒)。  | 
  
成功: networkDownloadSpeedMbps と networkUploadSpeedMbps
| フィールド | タイプ | 説明 | 
|---|---|---|
followUpToken | 
    String | 
       必須。 元の EXECUTE リクエストで指定されたトークン。  | 
  
status | 
    String | 
       必須。 リクエストの結果。 サポートされている値: 
  | 
  
networkDownloadSpeedMbps | 
    数値 | 
       必須。 ネットワークのダウンロード速度(メガビット/秒)。  | 
  
networkUploadSpeedMbps | 
    数値 | 
       必須。 ネットワークのアップロード速度(メガビット/秒)。  | 
  
失敗
| フィールド | タイプ | 説明 | 
|---|---|---|
followUpToken | 
    String | 
       必須。 元の EXECUTE リクエストで指定されたトークン。  | 
  
status | 
    String | 
       必須。 リクエストの結果。 サポートされている値: 
  | 
  
errorCode | 
    String | 
       必須。 この値には、このトレイトの任意のエラーコードを指定できます(例:   | 
  
例
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