Esquema del rasgo de Smart Home NetworkControl
action.devices.traits.NetworkControl: Este rasgo pertenece a los dispositivos que admiten la generación de informes de datos de red y la realización de operaciones específicas de la red.
Atributos del dispositivo
Los dispositivos con este rasgo pueden informar los siguientes atributos como parte de la operación SYNC. Para obtener más información sobre cómo controlar intents de SYNC, consulta Entrega de intents.
| Atributos | Tipo | Descripción |
|---|---|---|
supportsEnablingGuestNetwork |
Booleano |
(predeterminado: Se establece como verdadero si se puede habilitar la red para invitados. |
supportsDisablingGuestNetwork |
Booleano |
(predeterminado: Se establece como verdadero si se puede inhabilitar la red para invitados. |
supportsGettingGuestNetworkPassword |
Booleano |
(predeterminado: Se establece como verdadero si la contraseña de la red para invitados se puede obtener a través del comando |
networkProfiles |
Matriz |
Indica los nombres de los perfiles de red admitidos. |
[item, ...] |
String |
Nombre de un perfil de red que representa un grupo de dispositivos relacionados. |
supportsEnablingNetworkProfile |
Booleano |
(predeterminado: Se establece en verdadero si se pueden habilitar los perfiles de red. |
supportsDisablingNetworkProfile |
Booleano |
(predeterminado: Se establece como verdadero si se pueden inhabilitar los perfiles de red. |
supportsNetworkDownloadSpeedTest |
Booleano |
(predeterminado: Se establece como verdadero si se puede ejecutar una prueba de velocidad de descarga. |
supportsNetworkUploadSpeedTest |
Booleano |
(predeterminado: Se establece como verdadero si se puede ejecutar una prueba de velocidad de carga. |
Ejemplos
Dispositivo de red que admite redes para invitados, perfiles y pruebas de velocidad.
{ "supportsEnablingGuestNetwork": true, "supportsDisablingGuestNetwork": true, "supportsEnablingNetworkProfile": true, "supportsDisablingNetworkProfile": true, "supportsNetworkDownloadSpeedTest": true, "supportsNetworkUploadSpeedTest": true, "supportsGettingGuestNetworkPassword": true, "networkProfiles": [ "Kids" ] }
ESTADOS del dispositivo
Las entidades con este rasgo pueden informar los siguientes estados como parte de la operación QUERY. Para obtener más información sobre cómo controlar intents de QUERY, consulta Entrega de intents.
| Estados | Tipo | Descripción |
|---|---|---|
networkEnabled |
Booleano |
Indica si la red principal está habilitada. |
networkSettings |
Objeto |
Contiene el SSID de la red principal. |
ssid |
String |
Obligatorio. SSID de la red. |
guestNetworkEnabled |
Booleano |
Indica si la red para invitados está habilitada. |
guestNetworkSettings |
Objeto |
Contiene el SSID de la red para invitados. |
ssid |
String |
Obligatorio. SSID de la red. |
numConnectedDevices |
Número entero |
Es la cantidad de dispositivos conectados a la red. |
networkUsageMB |
Número |
Es el uso de red en MB (megabytes). El uso de la red se encuentra dentro del período de facturación actual, lo que puede ser útil para supervisar el límite de uso de la red de un período de facturación. |
networkUsageLimitMB |
Número |
Límite de uso de la red en MB (megabytes). El límite de uso de la red se encuentra dentro del período de facturación actual. |
networkUsageUnlimited |
Booleano |
Indica si el uso de red es ilimitado. Se ignorará el estado del dispositivo networkUsageLimitMB si se establece como verdadero. |
lastNetworkDownloadSpeedTest |
Objeto |
Contiene los resultados de la prueba de velocidad de descarga de la red más reciente. |
downloadSpeedMbps |
Número |
Velocidad de descarga en Mbps (megabits por segundo) de la última prueba de velocidad de la red. |
unixTimestampSec |
Número entero |
Es la marca de tiempo de Unix (cantidad de segundos desde la época de Unix) de la última vez que se ejecutó la prueba de velocidad de descarga de la red. |
status |
String |
Indica si la última prueba de velocidad de descarga de la red se realizó correctamente o no. Valores admitidos:
|
lastNetworkUploadSpeedTest |
Objeto |
Contiene los resultados de la prueba de velocidad de carga de la red más reciente. |
uploadSpeedMbps |
Número |
Velocidad de carga en Mbps (megabits por segundo) de la última prueba de velocidad de la red. |
unixTimestampSec |
Número entero |
Es la marca de tiempo de Unix (cantidad de segundos desde la época de Unix) de la última vez que se ejecutó la prueba de velocidad de carga de la red. |
status |
String |
Indica si la última prueba de velocidad de carga de la red se realizó correctamente o no. Valores admitidos:
|
networkSpeedTestInProgress |
Booleano |
(predeterminado: Indica si se está ejecutando una prueba de velocidad. |
networkProfilesState |
Objeto |
Es el estado de los perfiles de red. Este objeto de nivel superior debe contener pares clave-valor en los que la clave sea el nombre de uno de los perfiles de red que se enumeran en el atributo |
<string> |
Objeto |
Objeto que almacena el estado de un perfil de red individual. El valor de la clave |
enabled |
Booleano |
Es el estado actual de habilitación o inhabilitación del perfil de red. |
Ejemplos
Dispositivo con una red activa.
{
"networkEnabled": true,
"networkSettings": {
"ssid": "home-network-123"
},
"guestNetworkSettings": {
"ssid": "home-network-123-guest"
},
"numConnectedDevices": 4,
"networkUsageMB": 100.8
}Dispositivo con una red activa y resultados de pruebas de velocidad
{ "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" } }
Dispositivo con una red activa y una prueba de velocidad en curso.
{
"networkEnabled": true,
"networkSettings": {
"ssid": "home-network-123"
},
"guestNetworkSettings": {
"ssid": "home-network-123-guest"
},
"numConnectedDevices": 4,
"networkUsageMB": 100.8,
"networkSpeedTestInProgress": true
}Dispositivo con el networkProfile "kids" inhabilitado.
{
"networkEnabled": true,
"networkSettings": {
"ssid": "home-network-123"
},
"networkProfilesState": {
"parents": {
"enabled": true
},
"kids": {
"enabled": false
}
}
}COMANDOS del dispositivo
Los dispositivos con este rasgo pueden responder a los siguientes comandos como parte de la operación EXECUTE. Para obtener más información sobre cómo controlar intents de EXECUTE, consulta Entrega de intents.
action.devices.commands.EnableDisableGuestNetwork
Habilitar o inhabilitar la red para invitados Se debe usar la verificación secundaria del usuario con PIN. La seguridad de la casa de un usuario se puede considerar afectada si otros dispositivos de seguridad se inhabilitan a través de estos comandos.
Este comando requiere los siguientes atributos:
{
"supportsEnablingGuestNetwork": true,
"supportsDisablingGuestNetwork": true
}
Parámetros
| Parámetros | Tipo | Descripción |
|---|---|---|
enable |
Booleano |
Obligatorio. Es verdadero si se habilita la red para invitados y falso si se inhabilita. |
Ejemplos
Activa la red para invitados.
{
"command": "action.devices.commands.EnableDisableGuestNetwork",
"params": {
"enable": true
}
}action.devices.commands.EnableDisableNetworkProfile
Habilitar o inhabilitar un perfil de red Se debe usar la verificación secundaria del usuario con PIN. La seguridad de la casa de un usuario se puede considerar afectada si otros dispositivos de seguridad se inhabilitan a través de estos comandos.
Este comando requiere los siguientes atributos:
{
"supportsEnablingNetworkProfile": true,
"supportsDisablingNetworkProfile": true
}
Parámetros
| Parámetros | Tipo | Descripción |
|---|---|---|
profile |
String |
Obligatorio. Es el nombre del perfil del atributo |
enable |
Booleano |
Obligatorio. Es verdadero para habilitar el perfil y falso para inhabilitarlo. |
Ejemplos
Desactiva Internet para los niños.
{
"command": "action.devices.commands.EnableDisableNetworkProfile",
"params": {
"profile": "Kids",
"enable": false
}
}Errores relacionados
Se produjo un error al intentar controlar el perfil de red determinado.
Valores admitidos:
networkProfileNotRecognized
action.devices.commands.GetGuestNetworkPassword
Obtén la contraseña de la red para invitados. Se debe usar la verificación secundaria del usuario con PIN. La seguridad de la casa de un usuario se puede considerar afectada si otros dispositivos de seguridad se inhabilitan a través de estos comandos.
Este comando requiere los siguientes atributos:
{
"supportsGettingGuestNetworkPassword": true
}
Parámetros
| Parámetros | Tipo | Descripción |
|---|---|---|
Sin propiedades |
||
Ejemplos
Muéstrame la contraseña de Wi-Fi para invitados.
{
"command": "action.devices.commands.GetGuestNetworkPassword",
"params": {}
}Resultados
| Resultados | Tipo | Descripción |
|---|---|---|
guestNetworkPassword |
String |
Obligatorio. Contraseña de la red para invitados. |
Ejemplos
Muéstrame la contraseña de Wi-Fi para invitados.
{
"guestNetworkPassword": "123456"
}action.devices.commands.TestNetworkSpeed
Prueba la velocidad de carga y descarga de la red.
Este comando requiere los siguientes atributos:
{
"supportsNetworkDownloadSpeedTest": true,
"supportsNetworkUploadSpeedTest": true
}
Parámetros
| Parámetros | Tipo | Descripción |
|---|---|---|
testDownloadSpeed |
Booleano |
Obligatorio. Indica si se debe probar la velocidad de descarga. |
testUploadSpeed |
Booleano |
Obligatorio. Indica si se debe probar la velocidad de carga. |
followUpToken |
String |
Obligatorio. Es el token proporcionado por Google para la respuesta de seguimiento. |
Ejemplos
¿Cuál es la velocidad de Wi-Fi?
{ "command": "action.devices.commands.TestNetworkSpeed", "params": { "testDownloadSpeed": true, "testUploadSpeed": true, "followUpToken": "123" } }
Errores relacionados
Se produjo un error al intentar solicitar una prueba de velocidad.
Valores admitidos:
networkSpeedTestInProgress
Respuestas de seguimiento
Los dispositivos con este rasgo pueden devolver la siguiente carga útil de respuesta de seguimiento como parte de la operación EXECUTE. Para obtener más información sobre cómo implementar respuestas de seguimiento, consulta Notificaciones para acciones de casa inteligente.
La carga útil contiene uno de los siguientes elementos:
Éxito: networkDownloadSpeedMbps
| Campos | Tipo | Descripción |
|---|---|---|
followUpToken |
String |
Obligatorio. Es el token proporcionado en la solicitud de EXECUTE original. |
status |
String |
Obligatorio. Es el resultado de la solicitud. Valores admitidos:
|
networkDownloadSpeedMbps |
Número |
Obligatorio. Velocidad de descarga de la red medida en megabits por segundo. |
Éxito: networkUploadSpeedMbps
| Campos | Tipo | Descripción |
|---|---|---|
followUpToken |
String |
Obligatorio. Es el token proporcionado en la solicitud de EXECUTE original. |
status |
String |
Obligatorio. Es el resultado de la solicitud. Valores admitidos:
|
networkUploadSpeedMbps |
Número |
Obligatorio. Es la velocidad de carga de la red medida en megabits por segundo. |
Éxito: networkDownloadSpeedMbps y networkUploadSpeedMbps
| Campos | Tipo | Descripción |
|---|---|---|
followUpToken |
String |
Obligatorio. Es el token proporcionado en la solicitud de EXECUTE original. |
status |
String |
Obligatorio. Es el resultado de la solicitud. Valores admitidos:
|
networkDownloadSpeedMbps |
Número |
Obligatorio. Velocidad de descarga de la red medida en megabits por segundo. |
networkUploadSpeedMbps |
Número |
Obligatorio. Es la velocidad de carga de la red medida en megabits por segundo. |
Con errores
| Campos | Tipo | Descripción |
|---|---|---|
followUpToken |
String |
Obligatorio. Es el token proporcionado en la solicitud de EXECUTE original. |
status |
String |
Obligatorio. Es el resultado de la solicitud. Valores admitidos:
|
errorCode |
String |
Obligatorio. El valor puede ser cualquier código de error para este rasgo, por ejemplo, |
Ejemplos
¿Cuál es la velocidad de Wi-Fi? (respuesta de seguimiento)
{ "NetworkControl": { "priority": 0, "followUpResponse": { "status": "SUCCESS", "networkDownloadSpeedMbps": 23.3, "networkUploadSpeedMbps": 10.2, "followUpToken": "1234" } } }
¿Cuál es la velocidad de Wi-Fi? (respuesta de seguimiento con falla)
{
"NetworkControl": {
"priority": 0,
"followUpResponse": {
"status": "FAILURE",
"errorCode": "transientError",
"followUpToken": "1234"
}
}
}ERRORES del dispositivo
Consulta la lista completa de errores y excepciones.Se produjo un error al intentar controlar el perfil de red determinado.
Valores admitidos:
networkProfileNotRecognized
Se produjo un error al intentar solicitar una prueba de velocidad.
Valores admitidos:
networkSpeedTestInProgress