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