Esquema de la característica NetworkControl de casa inteligente
action.devices.traits.NetworkControl
: Esta característica pertenece a dispositivos que admiten la generación de informes de datos de red y la realización de operaciones específicas de la red.
ATRIBUTOS DISPOSITIVOS
Los dispositivos con este trait pueden informar lo siguiente
atributos como parte de la operación SYNC
. Para aprender
Para obtener más información sobre cómo controlar los intents 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 verdadera si la contraseña de la red para invitados se puede obtener mediante el comando |
networkProfiles |
Matriz |
Indica los nombres de perfiles de red admitidos. |
[item, ...] |
String |
Nombre de un perfil de red que representa un grupo de dispositivos relacionados. |
supportsEnablingNetworkProfile |
Booleano |
(Predeterminado: Se establece como 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 compatible con la red para invitados, los perfiles y la prueba de velocidad.
{ "supportsEnablingGuestNetwork": true, "supportsDisablingGuestNetwork": true, "supportsEnablingNetworkProfile": true, "supportsDisablingNetworkProfile": true, "supportsNetworkDownloadSpeedTest": true, "supportsNetworkUploadSpeedTest": true, "supportsGettingGuestNetworkPassword": true, "networkProfiles": [ "Kids" ] }
Dispositivo STATES
Las entidades con esta característica pueden informar lo siguiente
estados como parte de la operación QUERY
. Para aprender
Para obtener más información sobre cómo controlar los intents 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 |
La cantidad de dispositivos conectados a la red. |
networkUsageMB |
Número |
El uso de red en MB (megabytes). El uso de la red se encuentra dentro del período de facturación actual. Puede ser útil supervisarlo con respecto a un límite de uso de red para el período de facturación. |
networkUsageLimitMB |
Número |
El límite de uso de red en MB (megabytes). El límite de uso de la red está dentro del período de facturación actual. |
networkUsageUnlimited |
Booleano |
Indica si el uso de red es ilimitado. Si se establece como verdadero, se ignorará el estado del dispositivo networkUsageLimitMB. |
lastNetworkDownloadSpeedTest |
Objeto |
Contiene los resultados de la prueba de velocidad de descarga de red más reciente. |
downloadSpeedMbps |
Número |
La velocidad de descarga en Mbps (megabits por segundo) de la última prueba de velocidad de red. |
unixTimestampSec |
Número entero |
Es la marca de tiempo Unix (cantidad de segundos desde la época Unix) de cuando se ejecutó la última prueba de velocidad de descarga de la red. |
status |
String |
Indica si la última prueba de velocidad de descarga de red se realizó correctamente o no. Valores admitidos:
|
lastNetworkUploadSpeedTest |
Objeto |
Contiene los resultados de la prueba de velocidad de carga de red más reciente. |
uploadSpeedMbps |
Número |
La velocidad de carga en Mbps (megabits por segundo) de la última prueba de velocidad de red. |
unixTimestampSec |
Número entero |
Es la marca de tiempo Unix (cantidad de segundos desde la época Unix) de cuando se ejecutó la última prueba de velocidad de carga de la red. |
status |
String |
Indica si la última prueba de velocidad de carga de red se realizó correctamente o no. Valores admitidos:
|
networkSpeedTestInProgress |
Booleano |
(Predeterminado: Indica si se está ejecutando una prueba de velocidad. |
networkProfilesState |
Objeto |
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 incluyen en el atributo |
<string> |
Objeto |
Un objeto que almacena el estado de un perfil de red individual. El valor de la clave |
enabled |
Booleano |
El estado actual habilitado o inhabilitado 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 la prueba 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 red activa y 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 los "niños" Perfil de red 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 lo siguiente
comandos como parte de la operación EXECUTE
. Para aprender
Para obtener más información sobre cómo controlar los intents EXECUTE
, consulta
Entrega de intents.
action.devices.commands.EnableDisableGuestNetwork
Habilita o inhabilita la red para invitados. Se debe utilizar una verificación secundaria del usuario con un PIN. La seguridad de la casa de un usuario puede considerarse afectada si se inhabilitan otros dispositivos de seguridad con estos comandos.
Este comando requiere los siguientes atributos:{ "supportsEnablingGuestNetwork": true, "supportsDisablingGuestNetwork": true }
Parámetros
Parámetros | Tipo | Descripción |
---|---|---|
enable |
Booleano |
Obligatorio. Verdadero para habilitar la red para invitados; falso para inhabilitar la red para invitados. |
Ejemplos
Activa la red para invitados.
{ "command": "action.devices.commands.EnableDisableGuestNetwork", "params": { "enable": true } }
action.devices.commands.EnableDisableNetworkProfile
Habilita o inhabilita un perfil de red. Se debe utilizar una verificación secundaria del usuario con un PIN. La seguridad de la casa de un usuario puede considerarse afectada si se inhabilitan otros dispositivos de seguridad con estos comandos.
Este comando requiere los siguientes atributos:{ "supportsEnablingNetworkProfile": true, "supportsDisablingNetworkProfile": true }
Parámetros
Parámetros | Tipo | Descripción |
---|---|---|
profile |
String |
Obligatorio. El nombre de perfil del atributo |
enable |
Booleano |
Obligatorio. Verdadero para habilitar el perfil; falso para inhabilitar el perfil. |
Ejemplos
Desactiva el Internet de los niños.
{ "command": "action.devices.commands.EnableDisableNetworkProfile", "params": { "profile": "Kids", "enable": false } }
Errores relacionados
Se produjo un error cuando se intentaba 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 utilizar una verificación secundaria del usuario con un PIN. La seguridad de la casa de un usuario puede considerarse afectada si se inhabilitan otros dispositivos de seguridad con estos comandos.
Este comando requiere los siguientes atributos:{ "supportsGettingGuestNetworkPassword": true }
Parámetros
Parámetros | Tipo | Descripción |
---|---|---|
Sin propiedades |
Ejemplos
Muestra la contraseña de Wi-Fi para invitados.
{ "command": "action.devices.commands.GetGuestNetworkPassword", "params": {} }
Resultados
Resultados | Tipo | Descripción |
---|---|---|
guestNetworkPassword |
String |
Obligatorio. La contraseña de la red para invitados. |
Ejemplos
Muestra 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. Token proporcionado por Google para la respuesta de seguimiento. |
Ejemplos
¿Cuál es la velocidad del Wi-Fi?
{ "command": "action.devices.commands.TestNetworkSpeed", "params": { "testDownloadSpeed": true, "testUploadSpeed": true, "followUpToken": "123" } }
Errores relacionados
Se produjo un error cuando se intentaba solicitar una prueba de velocidad.
Valores admitidos:
networkSpeedTestInProgress
Respuestas de seguimiento
Los dispositivos con este trait pueden devolver lo siguiente:
carga útil de respuesta de seguimiento como parte de la operación EXECUTE
. Para aprender
sobre la implementación de 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. Token proporcionado en la solicitud EXECUTE original. |
status |
String |
Obligatorio. Resultado de la solicitud. Valores admitidos:
|
networkDownloadSpeedMbps |
Número |
Obligatorio. La velocidad de descarga de la red medida en megabits por segundo. |
Éxito: networkUploadSpeedMbps
Campos | Tipo | Descripción |
---|---|---|
followUpToken |
String |
Obligatorio. Token proporcionado en la solicitud EXECUTE original. |
status |
String |
Obligatorio. Resultado de la solicitud. Valores admitidos:
|
networkUploadSpeedMbps |
Número |
Obligatorio. La velocidad de carga de red medida en megabits por segundo. |
Éxito: networkDownloadSpeedMbps y networkUploadSpeedMbps
Campos | Tipo | Descripción |
---|---|---|
followUpToken |
String |
Obligatorio. Token proporcionado en la solicitud EXECUTE original. |
status |
String |
Obligatorio. Resultado de la solicitud. Valores admitidos:
|
networkDownloadSpeedMbps |
Número |
Obligatorio. La velocidad de descarga de la red medida en megabits por segundo. |
networkUploadSpeedMbps |
Número |
Obligatorio. La velocidad de carga de red medida en megabits por segundo. |
Con errores
Campos | Tipo | Descripción |
---|---|---|
followUpToken |
String |
Obligatorio. Token proporcionado en la solicitud EXECUTE original. |
status |
String |
Obligatorio. Resultado de la solicitud. Valores admitidos:
|
errorCode |
String |
Obligatorio. El valor puede ser cualquier código de error para esta característica, por ejemplo, |
Ejemplos
¿Cuál es la velocidad del Wi-Fi? (respuesta de seguimiento)
{ "NetworkControl": { "priority": 0, "followUpResponse": { "status": "SUCCESS", "networkDownloadSpeedMbps": 23.3, "networkUploadSpeedMbps": 10.2, "followUpToken": "1234" } } }
¿Cuál es la velocidad del Wi-Fi? (respuesta de seguimiento con errores)
{ "NetworkControl": { "priority": 0, "followUpResponse": { "status": "FAILURE", "errorCode": "transientError", "followUpToken": "1234" } } }
ERRORES DE DISPOSITIVO
Consulta la lista completa de errores y excepciones.Se produjo un error cuando se intentaba controlar el perfil de red determinado.
Valores admitidos:
networkProfileNotRecognized
Se produjo un error cuando se intentaba solicitar una prueba de velocidad.
Valores admitidos:
networkSpeedTestInProgress