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