Schema delle funzionalità di controllo della rete per la smart home

action.devices.traits.NetworkControl: questo tratto appartiene ai dispositivi che supportano la generazione di report sui dati di rete e l'esecuzione di operazioni specifiche della rete.

ATTRIBUTES dispositivo

I dispositivi con questo tratto potrebbero segnalare quanto segue nell'ambito dell'operazione SYNC. Per ulteriori informazioni scopri di più sulla gestione degli intent SYNC; consulta Completamento dell'intent.

Attributi Tipo Descrizione
supportsEnablingGuestNetwork Valore booleano

(Valore predefinito: false)

Impostalo su true se la rete ospite può essere abilitata.

supportsDisablingGuestNetwork Valore booleano

(Valore predefinito: false)

Impostalo su true se la rete ospite può essere disabilitata.

supportsGettingGuestNetworkPassword Valore booleano

(Valore predefinito: false)

Imposta il valore su true se è possibile ottenere la password della rete ospite tramite il comando GetGuestNetworkPassword.

networkProfiles Array

Indica i nomi dei profili di rete supportati.

[item, ...] String

Nome di un profilo di rete che rappresenta un gruppo di dispositivi correlati.

supportsEnablingNetworkProfile Valore booleano

(Valore predefinito: "false")

Impostalo su true se è possibile abilitare i profili di rete.

supportsDisablingNetworkProfile Valore booleano

(Valore predefinito: "false")

Impostalo su true se è possibile disabilitare i profili di rete.

supportsNetworkDownloadSpeedTest Valore booleano

(Valore predefinito: false)

Imposta il valore su true se è possibile eseguire un test della velocità di download.

supportsNetworkUploadSpeedTest Valore booleano

(Valore predefinito: false)

Imposta il valore su true se è possibile eseguire un test della velocità di caricamento.

Esempi

Dispositivo di rete che supporta rete, profili e test di velocità per gli ospiti.

{
  "supportsEnablingGuestNetwork": true,
  "supportsDisablingGuestNetwork": true,
  "supportsEnablingNetworkProfile": true,
  "supportsDisablingNetworkProfile": true,
  "supportsNetworkDownloadSpeedTest": true,
  "supportsNetworkUploadSpeedTest": true,
  "supportsGettingGuestNetworkPassword": true,
  "networkProfiles": [
    "Kids"
  ]
}

STATES del dispositivo

Le entità con questo tratto possono segnalare quanto segue nell'ambito dell'operazione QUERY. Per ulteriori informazioni scopri di più sulla gestione degli intent QUERY; consulta Completamento dell'intent.

Stati Tipo Descrizione
networkEnabled Valore booleano

Indica se la rete principale è abilitata.

networkSettings Oggetto

Contiene l'SSID della rete principale.

ssid String

Obbligatorio.

SSID rete.

guestNetworkEnabled Valore booleano

Indica se la rete ospite è abilitata.

guestNetworkSettings Oggetto

Contiene l'SSID della rete ospite.

ssid String

Obbligatorio.

SSID rete.

numConnectedDevices Intero

Il numero di dispositivi connessi alla rete.

networkUsageMB Number

Utilizzo della rete in MB (megabyte). L'utilizzo della rete è compreso nel periodo di fatturazione corrente; è utile monitorare il limite di utilizzo della rete per un periodo di fatturazione.

networkUsageLimitMB Number

Limite di utilizzo della rete in MB (megabyte). Il limite di utilizzo della rete rientra nel periodo di fatturazione corrente.

networkUsageUnlimited Valore booleano

Indica se l'utilizzo della rete è illimitato. Se impostato su true, lo stato del dispositivo networkUsageLimitMB verrà ignorato.

lastNetworkDownloadSpeedTest Oggetto

Contiene i risultati del test di velocità di download della rete più recente.

downloadSpeedMbps Number

La velocità di download in Mbps (megabit al secondo) dell'ultimo test di velocità della rete.

unixTimestampSec Intero

Il timestamp Unix (il numero di secondi dall'epoca di Unix) di quando è stato eseguito l'ultimo test della velocità di download della rete.

status String

Indica se l'ultimo test della velocità di download della rete è riuscito o meno.

Valori supportati:

SUCCESS
FAILURE
lastNetworkUploadSpeedTest Oggetto

Contiene i risultati del test più recente della velocità di caricamento della rete.

uploadSpeedMbps Number

La velocità di caricamento in Mbps (megabit al secondo) dell'ultimo test di velocità della rete.

unixTimestampSec Intero

Il timestamp Unix (il numero di secondi dall'epoca di Unix) di quando è stato eseguito l'ultimo test della velocità di caricamento della rete.

status String

Indica se l'ultimo test della velocità di caricamento della rete è riuscito o meno.

Valori supportati:

SUCCESS
FAILURE
networkSpeedTestInProgress Valore booleano

(Valore predefinito: false)

Indica se è in corso l'esecuzione di un test della velocità.

networkProfilesState Oggetto

Stato per i profili di rete. Questo oggetto di primo livello deve contenere coppie chiave-valore in cui la chiave è il nome di uno dei profili di rete elencati nell'attributo networkProfiles e il valore deve essere lo stato corrispondente di quel profilo.

<string> Oggetto

Un oggetto che memorizza lo stato di un singolo profilo di rete. Il valore della chiave deve essere il nome di uno dei profili di rete nell'attributo networkProfiles.

enabled Valore booleano

Stato attuale attivato/disattivato del profilo di rete.

Esempi

Dispositivo con una rete attiva.

{
  "networkEnabled": true,
  "networkSettings": {
    "ssid": "home-network-123"
  },
  "guestNetworkSettings": {
    "ssid": "home-network-123-guest"
  },
  "numConnectedDevices": 4,
  "networkUsageMB": 100.8
}

Dispositivo con una rete attiva e risultati del test di velocità.

{
  "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 rete attiva e test della velocità in corso.

{
  "networkEnabled": true,
  "networkSettings": {
    "ssid": "home-network-123"
  },
  "guestNetworkSettings": {
    "ssid": "home-network-123-guest"
  },
  "numConnectedDevices": 4,
  "networkUsageMB": 100.8,
  "networkSpeedTestInProgress": true
}

Dispositivo con i "bambini" networkProfile disabilitato.

{
  "networkEnabled": true,
  "networkSettings": {
    "ssid": "home-network-123"
  },
  "networkProfilesState": {
    "parents": {
      "enabled": true
    },
    "kids": {
      "enabled": false
    }
  }
}

COMANDI dispositivo

I dispositivi con questo tratto potrebbero rispondere ai seguenti nell'ambito dell'operazione EXECUTE. Per ulteriori informazioni scopri di più sulla gestione degli intent EXECUTE; consulta Completamento dell'intent.

action.devices.commands.EnableDisableGuestNetwork

Consente di attivare o disattivare la rete ospite. È necessario utilizzare la verifica utente secondaria con PIN. La sicurezza della casa di un utente può essere considerata influenzata se altri dispositivi di sicurezza vengono disattivati tramite questi comandi.

Questo comando richiede i seguenti attributi:
{
  "supportsEnablingGuestNetwork": true,
  "supportsDisablingGuestNetwork": true
}

Parametri

Parametri Tipo Descrizione
enable Valore booleano

Obbligatorio.

Vero per attivare la rete ospite, falso per disattivarla.

Esempi

Attiva la rete ospite.

{
  "command": "action.devices.commands.EnableDisableGuestNetwork",
  "params": {
    "enable": true
  }
}

action.devices.commands.EnableDisableNetworkProfile

Consente di attivare o disattivare un profilo di rete. È necessario utilizzare la verifica utente secondaria con PIN. La sicurezza della casa di un utente può essere considerata influenzata se altri dispositivi di sicurezza vengono disattivati tramite questi comandi.

Questo comando richiede i seguenti attributi:
{
  "supportsEnablingNetworkProfile": true,
  "supportsDisablingNetworkProfile": true
}

Parametri

Parametri Tipo Descrizione
profile String

Obbligatorio.

Il nome del profilo dell'attributo networkProfiles.

enable Valore booleano

Obbligatorio.

True per attivare il profilo, false per disattivarlo.

Esempi

Disattivare internet per i bambini.

{
  "command": "action.devices.commands.EnableDisableNetworkProfile",
  "params": {
    "profile": "Kids",
    "enable": false
  }
}

Si è verificato un errore durante il tentativo di controllare il profilo di rete specificato.

Valori supportati:

networkProfileNotRecognized

action.devices.commands.GetGuestNetworkPassword

Recupera la password della rete ospite. È necessario utilizzare la verifica utente secondaria con PIN. La sicurezza della casa di un utente può essere considerata influenzata se altri dispositivi di sicurezza vengono disattivati tramite questi comandi.

Questo comando richiede i seguenti attributi:
{
  "supportsGettingGuestNetworkPassword": true
}

Parametri

Parametri Tipo Descrizione

Nessuna proprietà

Esempi

Mostra la password del Wi-Fi ospite.

{
  "command": "action.devices.commands.GetGuestNetworkPassword",
  "params": {}
}

Risultati

Risultati Tipo Descrizione
guestNetworkPassword String

Obbligatorio.

La password della rete ospite.

Esempi

Mostra la password del Wi-Fi ospite.

{
  "guestNetworkPassword": "123456"
}

action.devices.commands.TestNetworkSpeed

Testa la velocità di download e caricamento della rete.

Questo comando richiede i seguenti attributi:
{
  "supportsNetworkDownloadSpeedTest": true,
  "supportsNetworkUploadSpeedTest": true
}

Parametri

Parametri Tipo Descrizione
testDownloadSpeed Valore booleano

Obbligatorio.

Indica se la velocità di download deve essere testata.

testUploadSpeed Valore booleano

Obbligatorio.

Indica se la velocità di caricamento deve essere testata.

followUpToken String

Obbligatorio.

Token fornito da Google per la risposta di follow-up.

Esempi

Qual è la velocità del Wi-Fi?

{
  "command": "action.devices.commands.TestNetworkSpeed",
  "params": {
    "testDownloadSpeed": true,
    "testUploadSpeed": true,
    "followUpToken": "123"
  }
}

Si è verificato un errore durante il tentativo di richiedere un test di velocità.

Valori supportati:

networkSpeedTestInProgress
di Gemini Advanced.

Risposte di follow-up

I dispositivi con questo tratto potrebbero restituire quanto segue Payload della risposta di follow-up come parte dell'operazione EXECUTE. Per ulteriori informazioni per ulteriori informazioni sull'implementazione delle risposte aggiuntive, consulta Notifiche per le azioni della smart home.

Il payload contiene uno dei seguenti elementi:

Operazione riuscita: networkDownloadSpeedMbps

Campi Tipo Descrizione
followUpToken String

Obbligatorio.

Token fornito nella richiesta EXECUTE originale.

status String

Obbligatorio.

Risultato della richiesta.

Valori supportati:

SUCCESS
networkDownloadSpeedMbps Number

Obbligatorio.

La velocità di download della rete misurata in megabit al secondo.

Operazione riuscita: networkUploadSpeedMbps

Campi Tipo Descrizione
followUpToken String

Obbligatorio.

Token fornito nella richiesta EXECUTE originale.

status String

Obbligatorio.

Risultato della richiesta.

Valori supportati:

SUCCESS
networkUploadSpeedMbps Number

Obbligatorio.

La velocità di caricamento della rete misurata in megabit al secondo.

Operazione riuscita: networkDownloadSpeedMbps e networkUploadSpeedMbps

Campi Tipo Descrizione
followUpToken String

Obbligatorio.

Token fornito nella richiesta EXECUTE originale.

status String

Obbligatorio.

Risultato della richiesta.

Valori supportati:

SUCCESS
networkDownloadSpeedMbps Number

Obbligatorio.

La velocità di download della rete misurata in megabit al secondo.

networkUploadSpeedMbps Number

Obbligatorio.

La velocità di caricamento della rete misurata in megabit al secondo.

Operazione non riuscita

Campi Tipo Descrizione
followUpToken String

Obbligatorio.

Token fornito nella richiesta EXECUTE originale.

status String

Obbligatorio.

Risultato della richiesta.

Valori supportati:

FAILURE
errorCode String

Obbligatorio.

Il valore può essere qualsiasi codice di errore per questo tratto, ad esempio transientError.

Esempi

Qual è la velocità del Wi-Fi? (risposta di follow-up)

{
  "NetworkControl": {
    "priority": 0,
    "followUpResponse": {
      "status": "SUCCESS",
      "networkDownloadSpeedMbps": 23.3,
      "networkUploadSpeedMbps": 10.2,
      "followUpToken": "1234"
    }
  }
}

Qual è la velocità del Wi-Fi? (risposta successiva con errore)

{
  "NetworkControl": {
    "priority": 0,
    "followUpResponse": {
      "status": "FAILURE",
      "errorCode": "transientError",
      "followUpToken": "1234"
    }
  }
}

ERRORI dispositivo

Consulta l'elenco completo errori ed eccezioni.

Si è verificato un errore durante il tentativo di controllare il profilo di rete specificato.

Valori supportati:

networkProfileNotRecognized

Si è verificato un errore durante il tentativo di richiedere un test di velocità.

Valori supportati:

networkSpeedTestInProgress