スマートホームの NetworkControl トレイトのスキーマ
action.devices.traits.NetworkControl
- このトレイトは、ネットワーク データの報告とネットワーク固有の操作をサポートするデバイスに使用します。
デバイスの属性
このトレイトを持つデバイスは、SYNC
オペレーションの一部として次の属性をレポートできます。SYNC
インテントの処理方法については、インテントのフルフィルメントをご覧ください。
属性 | タイプ | 説明 |
---|---|---|
supportsEnablingGuestNetwork |
ブール値 |
(デフォルト: ゲスト ネットワークを有効にできる場合は、true に設定します。 |
supportsDisablingGuestNetwork |
ブール値 |
(デフォルト: ゲスト ネットワークを無効にできる場合は、true に設定します。 |
supportsGettingGuestNetworkPassword |
ブール値 |
(デフォルト:
|
networkProfiles |
配列 |
サポートされているネットワーク プロファイル名を示します。 |
[item, ...] |
文字列 |
関連するデバイスのグループを表すネットワーク プロファイルの名前。 |
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 |
文字列 |
必須。 ネットワーク SSID。 |
guestNetworkEnabled |
ブール値 |
ゲスト ネットワークが有効かどうか。 |
guestNetworkSettings |
温度計 |
ゲスト ネットワークの SSID が含まれます。 |
ssid |
文字列 |
必須。 ネットワーク SSID。 |
numConnectedDevices |
整数 |
ネットワークに接続されているデバイスの数。 |
networkUsageMB |
番号 |
ネットワーク使用量(MB(メガバイト)単位)。ネットワーク使用量が現在の請求対象期間内であること。請求対象期間のネットワーク使用量上限についてモニタリングすると便利です。 |
networkUsageLimitMB |
番号 |
MB(メガバイト)単位のネットワーク使用量の上限。ネットワーク使用量の上限は、現在の請求対象期間内です。 |
networkUsageUnlimited |
ブール値 |
ネットワーク使用量が無制限かどうか。true に設定した場合、デバイスの状態 networkUsageLimitMB は無視されます。 |
lastNetworkDownloadSpeedTest |
温度計 |
最新のネットワーク ダウンロード速度テストの結果が含まれます。 |
downloadSpeedMbps |
番号 |
前回のネットワーク速度テストのダウンロード速度(Mbps(メガビット/秒))。 |
unixTimestampSec |
整数 |
前回のネットワーク ダウンロード速度テストが実行されたときの Unix タイムスタンプ(Unix エポックからの経過秒数)。 |
status |
文字列 |
前回のネットワーク ダウンロード速度テストが成功したか失敗したかを示します。 サポートされている値:
|
lastNetworkUploadSpeedTest |
温度計 |
最新のネットワーク アップロード速度テストの結果が含まれます。 |
uploadSpeedMbps |
番号 |
前回のネットワーク速度テストのアップロード速度(Mbps(メガビット/秒))。 |
unixTimestampSec |
整数 |
前回のネットワーク アップロード速度テストが実行されたときの Unix タイムスタンプ(Unix エポックからの経過秒数)。 |
status |
文字列 |
前回のネットワーク アップロード速度テストが成功したか失敗したかを示します。 サポートされている値:
|
networkSpeedTestInProgress |
ブール値 |
(デフォルト: 現在速度テストが実行されているかどうか。 |
networkProfilesState |
温度計 |
ネットワーク プロファイルの状態。このトップレベル オブジェクトには Key-Value ペアを含める必要があります。キーは |
<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 }
「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 |
文字列 |
必須。
|
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 |
文字列 |
必須。 リクエストの結果。 サポートされている値:
|
networkDownloadSpeedMbps |
番号 |
必須。 1 秒あたりのメガビット数で測定されたネットワーク ダウンロード速度。 |
成功: networkUploadSpeedMbps
フィールド | タイプ | 説明 |
---|---|---|
followUpToken |
文字列 |
必須。 元の EXECUTE リクエストで提供されたトークン。 |
status |
文字列 |
必須。 リクエストの結果。 サポートされている値:
|
networkUploadSpeedMbps |
番号 |
必須。 メガビット/秒(Mbps)で測定したネットワークのアップロード速度。 |
成功: networkDownloadSpeedMbps と networkUploadSpeedMbps
フィールド | タイプ | 説明 |
---|---|---|
followUpToken |
文字列 |
必須。 元の EXECUTE リクエストで提供されたトークン。 |
status |
文字列 |
必須。 リクエストの結果。 サポートされている値:
|
networkDownloadSpeedMbps |
番号 |
必須。 1 秒あたりのメガビット数で測定されたネットワーク ダウンロード速度。 |
networkUploadSpeedMbps |
番号 |
必須。 メガビット/秒(Mbps)で測定したネットワークのアップロード速度。 |
失敗
フィールド | タイプ | 説明 |
---|---|---|
followUpToken |
文字列 |
必須。 元の EXECUTE リクエストで提供されたトークン。 |
status |
文字列 |
必須。 リクエストの結果。 サポートされている値:
|
errorCode |
文字列 |
必須。 値には、このトレイトの任意のエラーコード( |
例
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