Smart Home NetworkControl Trait Schema
action.devices.traits.NetworkControl
- This trait belongs to devices that support reporting network data and performing network specific operations.
Device ATTRIBUTES
Devices with this trait may report the following
attributes as part of the SYNC
operation. To learn
more about handling SYNC
intents, see
Intent fulfillment.
Attributes | Type | Description |
---|---|---|
supportsEnablingGuestNetwork |
Boolean |
(Default: Set to true if the guest network can be enabled. |
supportsDisablingGuestNetwork |
Boolean |
(Default: Set to true if the guest network can be disabled. |
supportsGettingGuestNetworkPassword |
Boolean |
(Default: Set to true if the guest network password can be obtained via the |
networkProfiles |
Array |
Indicates the supported network profile names. |
[item, ...] |
String |
Name of a network profile representing a group of related devices. |
supportsEnablingNetworkProfile |
Boolean |
(Default: Set to true if network profiles can be enabled. |
supportsDisablingNetworkProfile |
Boolean |
(Default: Set to true if network profiles can be disabled. |
supportsNetworkDownloadSpeedTest |
Boolean |
(Default: Set to true if a download speed test can be run. |
supportsNetworkUploadSpeedTest |
Boolean |
(Default: Set to true if an upload speed test can be run. |
Examples
Network device that supports guest network, profiles, and speed test.
{ "supportsEnablingGuestNetwork": true, "supportsDisablingGuestNetwork": true, "supportsEnablingNetworkProfile": true, "supportsDisablingNetworkProfile": true, "supportsNetworkDownloadSpeedTest": true, "supportsNetworkUploadSpeedTest": true, "supportsGettingGuestNetworkPassword": true, "networkProfiles": [ "kids" ] }
Device STATES
Devices with this trait may report the following
states as part of the QUERY
operation. To learn
more about handling QUERY
intents, see
Intent fulfillment.
States | Type | Description |
---|---|---|
networkEnabled |
Boolean |
Whether the main network is enabled. |
networkSettings |
Object |
Contains the SSID of the main network. |
ssid |
String |
Required. Network SSID. |
guestNetworkEnabled |
Boolean |
Whether the guest network is enabled. |
guestNetworkSettings |
Object |
Contains the SSID of the guest network. |
ssid |
String |
Required. Network SSID. |
numConnectedDevices |
Integer |
The number of devices connected to the network. |
networkUsageMB |
Number |
The network usage in MB (megabytes). The network usage is within the current billing period, which can be useful to monitor with respect to a billing period network usage limit. |
networkUsageLimitMB |
Number |
The network usage limit in MB (megabytes). The network usage limit is within the current billing period. |
networkUsageUnlimited |
Boolean |
Whether the network usage is unlimited. The device state networkUsageLimitMB will be ignored if this is set to true. |
Examples
Device with an active network.
{ "networkEnabled": true, "networkSettings": { "ssid": "home-network-123" }, "guestNetworkSettings": { "ssid": "home-network-123-guest" }, "numConnectedDevices": 4, "networkUsageMB": 100.8 }
Device COMMANDS
Devices with this trait may respond to the following
commands as part of the EXECUTE
operation. To learn
more about handling EXECUTE
intents, see
Intent fulfillment.
action.devices.commands.EnableDisableGuestNetwork
Enable or disable the guest network.
This command requires the following attributes:{ "supportsEnablingGuestNetwork": true, "supportsDisablingGuestNetwork": true }
Parameters
Parameters | Type | Description |
---|---|---|
enable |
Boolean |
Required. True to enable the guest network, false to disable the guest network. |
Examples
Turn on the guest network.
{ "command": "action.devices.commands.EnableDisableGuestNetwork", "params": { "enable": true } }
action.devices.commands.EnableDisableNetworkProfile
Enable or disable a network profile.
This command requires the following attributes:{ "supportsEnablingNetworkProfile": true, "supportsDisablingNetworkProfile": true }
Parameters
Parameters | Type | Description |
---|---|---|
profile |
String |
Required. The profile name from |
enable |
Boolean |
Required. True to enable the profile, false to disable the profile. |
Examples
Turn off the internet for the kids.
{ "command": "action.devices.commands.EnableDisableNetworkProfile", "params": { "profile": "kids", "enable": false } }
Related errors
An error occurred while attempting to control the given network profile.
Supported values:
networkProfileNotRecognized
action.devices.commands.GetGuestNetworkPassword
Get the guest network password.
This command requires the following attributes:{ "supportsGettingGuestNetworkPassword": true }
Parameters
Parameters | Type | Description |
---|---|---|
No properties |
Examples
Show my guest Wi-Fi password.
{ "command": "action.devices.commands.GetGuestNetworkPassword", "params": {} }
Results
Results | Type | Description |
---|---|---|
guestNetworkPassword |
String |
Required. The password for the guest network. |
Examples
Show my guest Wi-Fi password.
{ "guestNetworkPassword": "123456" }
action.devices.commands.TestNetworkSpeed
Test the network download and upload speed.
This command requires the following attributes:{ "supportsNetworkDownloadSpeedTest": true, "supportsNetworkUploadSpeedTest": true }
Parameters
Parameters | Type | Description |
---|---|---|
testDownloadSpeed |
Boolean |
Required. Indicates whether the download speed should be tested. |
testUploadSpeed |
Boolean |
Required. Indicates whether the upload speed should be tested. |
Examples
What's the Wi-Fi speed?
{ "command": "action.devices.commands.TestNetworkSpeed", "params": { "testDownloadSpeed": true, "testUploadSpeed": true } }
Related errors
An error occurred while attempting to request a speed test.
Supported values:
networkSpeedTestInProgress