Esquema de traço Smart Home NetworkControl
action.devices.traits.NetworkControl: esse trait pertence a dispositivos que oferecem suporte a relatórios de dados de rede e realizam operações específicas da rede.
ATRIBUTOS do dispositivo
Dispositivos com essa característica podem informar os seguintes atributos como parte da operação SYNC. Para saber mais sobre como processar intents SYNC, consulte Fulfillment de intent.
| Atributos | Tipo | Descrição |
|---|---|---|
supportsEnablingGuestNetwork |
Booleano |
Padrão: Definido como "true" se a rede para visitantes puder ser ativada. |
supportsDisablingGuestNetwork |
Booleano |
Padrão: Definido como "true" se a rede para visitantes puder ser desativada. |
supportsGettingGuestNetworkPassword |
Booleano |
Padrão: Defina como "true" se a senha da rede para visitantes puder ser obtida com o comando |
networkProfiles |
Array |
Indica os nomes de perfil de rede compatíveis. |
[item, ...] |
String |
Nome de um perfil de rede que representa um grupo de dispositivos relacionados. |
supportsEnablingNetworkProfile |
Booleano |
Padrão: Defina como "true" se os perfis de rede puderem ser ativados. |
supportsDisablingNetworkProfile |
Booleano |
Padrão: Definido como verdadeiro se os perfis de rede puderem ser desativados. |
supportsNetworkDownloadSpeedTest |
Booleano |
Padrão: Definido como "true" se um teste de velocidade de download puder ser executado. |
supportsNetworkUploadSpeedTest |
Booleano |
Padrão: Defina como "true" se um teste de velocidade de upload puder ser executado. |
Exemplos
Dispositivo de rede compatível com rede para visitantes, perfis e teste de velocidade.
{ "supportsEnablingGuestNetwork": true, "supportsDisablingGuestNetwork": true, "supportsEnablingNetworkProfile": true, "supportsDisablingNetworkProfile": true, "supportsNetworkDownloadSpeedTest": true, "supportsNetworkUploadSpeedTest": true, "supportsGettingGuestNetworkPassword": true, "networkProfiles": [ "Kids" ] }
ESTADOS DO DISPOSITIVO
Entidades com essa característica podem informar os seguintes estados como parte da operação QUERY. Para saber mais sobre como processar intents QUERY, consulte Execução de intents.
| Estados | Tipo | Descrição |
|---|---|---|
networkEnabled |
Booleano |
Se a rede principal está ativada. |
networkSettings |
Object |
Contém o SSID da rede principal. |
ssid |
String |
Obrigatório. SSID da rede. |
guestNetworkEnabled |
Booleano |
Se a rede para visitantes está ativada. |
guestNetworkSettings |
Object |
Contém o SSID da rede para visitantes. |
ssid |
String |
Obrigatório. SSID da rede. |
numConnectedDevices |
Número inteiro |
O número de dispositivos conectados à rede. |
networkUsageMB |
Número |
O uso da rede em MB (megabytes). O uso da rede está dentro do período de faturamento atual, o que pode ser útil para monitorar em relação a um limite de uso da rede em um período de faturamento. |
networkUsageLimitMB |
Número |
O limite de uso da rede em MB (megabytes). O limite de uso da rede está dentro do período de faturamento atual. |
networkUsageUnlimited |
Booleano |
Se o uso da rede é ilimitado. O estado do dispositivo "networkUsageLimitMB" será ignorado se essa opção for definida como "true". |
lastNetworkDownloadSpeedTest |
Object |
Contém os resultados do teste de velocidade de download da rede mais recente. |
downloadSpeedMbps |
Número |
A velocidade de download em Mbps (megabits por segundo) do último teste de velocidade da rede. |
unixTimestampSec |
Número inteiro |
O carimbo de data/hora do Unix (número de segundos desde a época do Unix) de quando o último teste de velocidade de download da rede foi executado. |
status |
String |
Indica se o último teste de velocidade de download da rede foi bem-sucedido ou falhou. Valores aceitos:
|
lastNetworkUploadSpeedTest |
Object |
Contém os resultados do teste de velocidade de upload da rede mais recente. |
uploadSpeedMbps |
Número |
A velocidade de upload em Mbps (megabits por segundo) do último teste de velocidade da rede. |
unixTimestampSec |
Número inteiro |
O carimbo de data/hora Unix (número de segundos desde a época do Unix) de quando o último teste de velocidade de upload da rede foi executado. |
status |
String |
Indica se o último teste de velocidade de upload da rede foi bem-sucedido ou falhou. Valores aceitos:
|
networkSpeedTestInProgress |
Booleano |
Padrão: Se um teste de velocidade está sendo executado no momento. |
networkProfilesState |
Object |
Estado para perfis de rede. Esse objeto de nível superior precisa conter pares de chave-valor em que a chave é o nome de um dos perfis de rede listados no atributo |
<string> |
Object |
Um objeto que armazena o estado de um perfil de rede individual. O valor da chave |
enabled |
Booleano |
O estado atual de ativação/desativação do perfil de rede. |
Exemplos
Dispositivo com uma rede ativa.
{
"networkEnabled": true,
"networkSettings": {
"ssid": "home-network-123"
},
"guestNetworkSettings": {
"ssid": "home-network-123-guest"
},
"numConnectedDevices": 4,
"networkUsageMB": 100.8
}Dispositivo com uma rede ativa e resultados de teste de velocidade.
{ "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 com um teste de rede e velocidade ativo em andamento.
{
"networkEnabled": true,
"networkSettings": {
"ssid": "home-network-123"
},
"guestNetworkSettings": {
"ssid": "home-network-123-guest"
},
"numConnectedDevices": 4,
"networkUsageMB": 100.8,
"networkSpeedTestInProgress": true
}Dispositivo com o networkProfile "kids" desativado.
{
"networkEnabled": true,
"networkSettings": {
"ssid": "home-network-123"
},
"networkProfilesState": {
"parents": {
"enabled": true
},
"kids": {
"enabled": false
}
}
}COMANDOS do dispositivo
Dispositivos com essa característica podem responder aos seguintes
comandos como parte da operação EXECUTE. Para saber mais sobre como processar intents EXECUTE, consulte Fulfillment de intent.
action.devices.commands.EnableDisableGuestNetwork
Ative ou desative a rede para visitantes. É necessário usar a verificação secundária do usuário com PIN. A segurança residencial de um usuário pode ser considerada afetada se outros dispositivos de segurança forem desativados por esses comandos.
Esse comando exige os seguintes atributos:
{
"supportsEnablingGuestNetwork": true,
"supportsDisablingGuestNetwork": true
}
Parâmetros
| Parâmetros | Tipo | Descrição |
|---|---|---|
enable |
Booleano |
Obrigatório. "True" para ativar a rede para visitantes e "false" para desativar. |
Exemplos
Ative a rede para visitantes.
{
"command": "action.devices.commands.EnableDisableGuestNetwork",
"params": {
"enable": true
}
}action.devices.commands.EnableDisableNetworkProfile
Ativar ou desativar um perfil de rede. É necessário usar a verificação secundária do usuário com PIN. A segurança residencial de um usuário pode ser considerada afetada se outros dispositivos de segurança forem desativados por esses comandos.
Esse comando exige os seguintes atributos:
{
"supportsEnablingNetworkProfile": true,
"supportsDisablingNetworkProfile": true
}
Parâmetros
| Parâmetros | Tipo | Descrição |
|---|---|---|
profile |
String |
Obrigatório. O nome do perfil do atributo |
enable |
Booleano |
Obrigatório. True para ativar o perfil, false para desativar. |
Exemplos
Desative a Internet para as crianças.
{
"command": "action.devices.commands.EnableDisableNetworkProfile",
"params": {
"profile": "Kids",
"enable": false
}
}Erros relacionados
Ocorreu um erro ao tentar controlar o perfil de rede especificado.
Valores aceitos:
networkProfileNotRecognized
action.devices.commands.GetGuestNetworkPassword
Pegue a senha da rede para visitantes. É necessário usar a verificação secundária do usuário com PIN. A Segurança Residencial de um usuário pode ser considerada afetada se outros Dispositivos de segurança forem desativados com esses comandos.
Esse comando exige os seguintes atributos:
{
"supportsGettingGuestNetworkPassword": true
}
Parâmetros
| Parâmetros | Tipo | Descrição |
|---|---|---|
Não há propriedades |
||
Exemplos
Mostre minha senha do Wi-Fi para visitantes.
{
"command": "action.devices.commands.GetGuestNetworkPassword",
"params": {}
}Resultados
| Resultados | Tipo | Descrição |
|---|---|---|
guestNetworkPassword |
String |
Obrigatório. A senha da rede para visitantes. |
Exemplos
Mostre minha senha do Wi-Fi para visitantes.
{
"guestNetworkPassword": "123456"
}action.devices.commands.TestNetworkSpeed
Teste a velocidade de download e upload da rede.
Esse comando exige os seguintes atributos:
{
"supportsNetworkDownloadSpeedTest": true,
"supportsNetworkUploadSpeedTest": true
}
Parâmetros
| Parâmetros | Tipo | Descrição |
|---|---|---|
testDownloadSpeed |
Booleano |
Obrigatório. Indica se a velocidade de download deve ser testada. |
testUploadSpeed |
Booleano |
Obrigatório. Indica se a velocidade de upload precisa ser testada. |
followUpToken |
String |
Obrigatório. Token fornecido pelo Google para resposta de acompanhamento. |
Exemplos
Qual é a velocidade do Wi-Fi?
{ "command": "action.devices.commands.TestNetworkSpeed", "params": { "testDownloadSpeed": true, "testUploadSpeed": true, "followUpToken": "123" } }
Erros relacionados
Ocorreu um erro ao tentar solicitar um teste de velocidade.
Valores aceitos:
networkSpeedTestInProgress
Respostas de acompanhamento
Os dispositivos com esse trait podem retornar o seguinte
payload de resposta de acompanhamento como parte da operação EXECUTE. Para saber mais sobre como implementar respostas de acompanhamento, consulte Notificações para ações de casa inteligente.
O payload contém uma das seguintes opções:
Sucesso: networkDownloadSpeedMbps
| Campos | Tipo | Descrição |
|---|---|---|
followUpToken |
String |
Obrigatório. Token fornecido na solicitação EXECUTE original. |
status |
String |
Obrigatório. Resultado da solicitação. Valores aceitos:
|
networkDownloadSpeedMbps |
Número |
Obrigatório. A velocidade de download da rede medida em megabits por segundo. |
Sucesso: networkUploadSpeedMbps
| Campos | Tipo | Descrição |
|---|---|---|
followUpToken |
String |
Obrigatório. Token fornecido na solicitação EXECUTE original. |
status |
String |
Obrigatório. Resultado da solicitação. Valores aceitos:
|
networkUploadSpeedMbps |
Número |
Obrigatório. A velocidade de upload da rede medida em megabits por segundo. |
Sucesso: networkDownloadSpeedMbps e networkUploadSpeedMbps
| Campos | Tipo | Descrição |
|---|---|---|
followUpToken |
String |
Obrigatório. Token fornecido na solicitação EXECUTE original. |
status |
String |
Obrigatório. Resultado da solicitação. Valores aceitos:
|
networkDownloadSpeedMbps |
Número |
Obrigatório. A velocidade de download da rede medida em megabits por segundo. |
networkUploadSpeedMbps |
Número |
Obrigatório. A velocidade de upload da rede medida em megabits por segundo. |
Falha
| Campos | Tipo | Descrição |
|---|---|---|
followUpToken |
String |
Obrigatório. Token fornecido na solicitação EXECUTE original. |
status |
String |
Obrigatório. Resultado da solicitação. Valores aceitos:
|
errorCode |
String |
Obrigatório. O valor pode ser qualquer código de erro para esse trait, por exemplo, |
Exemplos
Qual é a velocidade do Wi-Fi? (resposta de acompanhamento)
{ "NetworkControl": { "priority": 0, "followUpResponse": { "status": "SUCCESS", "networkDownloadSpeedMbps": 23.3, "networkUploadSpeedMbps": 10.2, "followUpToken": "1234" } } }
Qual é a velocidade do Wi-Fi? (resposta de acompanhamento com falha)
{
"NetworkControl": {
"priority": 0,
"followUpResponse": {
"status": "FAILURE",
"errorCode": "transientError",
"followUpToken": "1234"
}
}
}ERROS do dispositivo
Confira a lista completa de erros e exceções.Ocorreu um erro ao tentar controlar o perfil de rede especificado.
Valores aceitos:
networkProfileNotRecognized
Ocorreu um erro ao tentar solicitar um teste de velocidade.
Valores aceitos:
networkSpeedTestInProgress