Esquema de atributo NetworkControl da casa inteligente
action.devices.traits.NetworkControl: essa característica pertence a dispositivos que oferecem suporte para informar dados de rede e realizar operações específicas de rede.
ATRIBUTOS do dispositivo
Dispositivos com essa característica podem informar os seguintes
  atributos como parte da operação SYNC. Para saber
  mais sobre o processamento de intents SYNC, consulte
  Fulfillment de intents.
| Atributos | Tipo | Descrição | 
|---|---|---|
| supportsEnablingGuestNetwork | Booleano | Padrão:  Defina como "true" se a rede para visitantes puder ser ativada. | 
| supportsDisablingGuestNetwork | Booleano | Padrão:  Defina como verdadeiro 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 pelo comando  | 
| networkProfiles | Array | Indica os nomes dos perfis 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:  Defina como verdadeiro se os perfis de rede puderem ser desativados. | 
| supportsNetworkDownloadSpeedTest | Booleano | Padrão:  Definido como verdadeiro 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
As entidades com essa característica podem informar os seguintes
  estados como parte da operação QUERY. Para saber
  mais sobre o processamento de intents QUERY, consulte
  Fulfillment 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 o 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 verdadeira. | 
| lastNetworkDownloadSpeedTest | Object | Contém os resultados do teste de velocidade de download de rede mais recente. | 
| downloadSpeedMbps | Número | A velocidade de download em Mbps (megabits por segundo) do último teste de velocidade de rede. | 
| unixTimestampSec | Número inteiro | O carimbo de data/hora do Unix (número de segundos desde a época Unix) de quando o último teste de velocidade de download de rede foi executado. | 
| status | String | Indica se o último teste de velocidade de download de rede foi bem-sucedido ou não. Valores aceitos: 
 | 
| lastNetworkUploadSpeedTest | Object | Contém os resultados do teste de velocidade de upload de rede mais recente. | 
| uploadSpeedMbps | Número | A velocidade de upload em Mbps (megabits por segundo) do último teste de velocidade de rede. | 
| unixTimestampSec | Número inteiro | O carimbo de data/hora Unix (número de segundos desde a época Unix) de quando o último teste de velocidade de upload de rede foi executado. | 
| status | String | Indica se o último teste de velocidade de upload de rede foi bem-sucedido ou não. Valores aceitos: 
 | 
| networkSpeedTestInProgress | Booleano | Padrão:  Se um teste de velocidade está sendo executado. | 
| networkProfilesState | Object | Estado dos 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 ativado/desativado 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 uma rede ativa e um teste de velocidade 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 "kids" networkProfile 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 comandos
  abaixo como parte da operação EXECUTE. Para saber
  mais sobre o processamento de intents EXECUTE, consulte
  Fulfillment de intents.
action.devices.commands.EnableDisableGuestNetwork
Ative ou desative a rede para visitantes. A verificação secundária do usuário com PIN precisa ser usada. A segurança doméstica de um usuário pode ser considerada afetada se outros dispositivos de segurança forem desativados por esses comandos.
Este comando requer 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, 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. A verificação secundária do usuário com PIN precisa ser usada. A segurança doméstica de um usuário pode ser considerada afetada se outros dispositivos de segurança forem desativados por esses comandos.
Este comando requer 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
Desligue 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
Anote a senha da rede para visitantes. A verificação secundária do usuário com PIN precisa ser usada. A segurança doméstica de um usuário pode ser considerada afetada se outros dispositivos de segurança forem desativados por esses comandos.
Este comando requer os seguintes atributos:
{
  "supportsGettingGuestNetworkPassword": true
}
Parâmetros
| Parâmetros | Tipo | Descrição | 
|---|---|---|
| Não há propriedades | ||
Exemplos
Mostrar 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
Mostrar minha senha do Wi-Fi para visitantes.
{
  "guestNetworkPassword": "123456"
}action.devices.commands.TestNetworkSpeed
Teste a velocidade de download e upload da rede.
Este comando requer os seguintes atributos:
{
  "supportsNetworkDownloadSpeedTest": true,
  "supportsNetworkUploadSpeedTest": true
}
Parâmetros
| Parâmetros | Tipo | Descrição | 
|---|---|---|
| testDownloadSpeed | Booleano | Obrigatório. Indica se a velocidade de download precisa ser testada. | 
| testUploadSpeed | Booleano | Obrigatório. Indica se a velocidade de upload precisa ser testada. | 
| followUpToken | String | Obrigatório. Token fornecido pelo Google para a 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
Dispositivos com essa característica podem retornar o seguinte
  payload de resposta de acompanhamento como parte da operação EXECUTE. Para saber
  mais sobre a implementação de respostas de acompanhamento, consulte
  Notificações para ações de casa inteligente.
O payload contém um dos seguintes:
Sucesso: networkDownloadSpeedMbps
| Campos | Tipo | Descrição | 
|---|---|---|
| followUpToken | String | Obrigatório. Token fornecido na solicitação EXECUTAR 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 EXECUTAR 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 EXECUTAR 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 EXECUTAR 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 essa característica, 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