Ti diamo il benvenuto nel Centro sviluppatori Google Home, la nuova destinazione per imparare a sviluppare azioni per la smart home. Nota:continuerai a creare azioni nella Console Actions.
Mantieni tutto organizzato con le raccolte Salva e classifica i contenuti in base alle tue preferenze.

Schema tratto di rete di Smart Home

action.devices.traits.NetworkControl: questa caratteristica appartiene ai dispositivi che supportano i report sui dati di rete e l'esecuzione di operazioni specifiche per la rete.

ATTRIBUTE del dispositivo

I dispositivi con questa caratteristica potrebbero segnalare i seguenti attributi come parte dell'operazione SYNC. Per scoprire di più sulla gestione degli intent SYNC, consulta Soddisfazione degli intent.

Attributi Tipo Descrizione
supportsEnablingGuestNetwork Booleano

(Valore predefinito: false)

Impostato su vero se la rete ospite può essere attivata.

supportsDisablingGuestNetwork Booleano

(Valore predefinito: false)

Impostato su vero se la rete ospite può essere disattivata.

supportsGettingGuestNetworkPassword Booleano

(Valore predefinito: false)

Impostato su true se la password della rete ospite può essere ottenuta mediante il comando GetGuestNetworkPassword.

networkProfiles Array

Indica i nomi supportati dei profili di rete.

[item, ...] Stringa

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

supportsEnablingNetworkProfile Booleano

(Valore predefinito: "false")

Impostato su vero se è possibile attivare i profili di rete.

supportsDisablingNetworkProfile Booleano

(Valore predefinito: "false")

Impostato su vero se è possibile disattivare i profili di rete.

supportsNetworkDownloadSpeedTest Booleano

(Valore predefinito: false)

Impostato su vero se è possibile eseguire un test della velocità di download.

supportsNetworkUploadSpeedTest Booleano

(Valore predefinito: false)

Impostato su vero se è possibile eseguire un test di velocità di caricamento.

Esempi

Dispositivo di rete che supporta la rete ospite, i profili e il test di velocità.

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

STATEs dispositivo

Le entità con questa caratteristica possono segnalare i seguenti stati nell'ambito dell'operazione QUERY. Per scoprire di più sulla gestione degli intent QUERY, consulta Soddisfazione degli intent.

Stati Tipo Descrizione
networkEnabled Booleano

Indica se la rete principale è abilitata.

networkSettings Oggetto

Contiene l'SSID della rete principale.

ssid Stringa

Obbligatorio.

SSID rete.

guestNetworkEnabled Booleano

Indica se la rete ospite è abilitata.

guestNetworkSettings Oggetto

Contiene l'SSID della rete ospite.

ssid Stringa

Obbligatorio.

SSID rete.

numConnectedDevices Intero

Il numero di dispositivi connessi alla rete.

networkUsageMB Number

Utilizzo della rete in MB (megabyte). L'utilizzo della rete rientra nel periodo di fatturazione corrente, che può essere utile per monitorare in relazione a un limite di utilizzo della rete per il periodo di fatturazione.

networkUsageLimitMB Number

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

networkUsageUnlimited Booleano

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

lastNetworkDownloadSpeedTest Oggetto

Contiene i risultati del test della 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 (numero di secondi dall'epoca Unix) dell'ultimo test di velocità di download della rete.

status Stringa

Indica se il test della velocità di download dell'ultima rete è riuscito o meno.

Valori supportati:

SUCCESS
FAILURE
lastNetworkUploadSpeedTest Oggetto

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

uploadSpeedMbps Number

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

unixTimestampSec Intero

Il timestamp Unix (numero di secondi dall'epoca Unix) dell'ultimo test di velocità di caricamento della rete.

status Stringa

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

Valori supportati:

SUCCESS
FAILURE
networkSpeedTestInProgress Booleano

(Valore predefinito: false)

Indica se è in corso un test di velocità.

networkProfilesState Oggetto

Stato dei profili di rete. Questo oggetto di primo livello deve contenere coppie chiave-valore in cui il nome è uno dei profili di rete elencati nell'attributo networkProfiles e il valore dovrebbe corrispondere allo stato del 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 Booleano

Lo stato corrente attivo/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 dei 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 di 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 la rete "kids" disattivata.

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

comandi del dispositivo

I dispositivi con questa caratteristica possono rispondere ai seguenti comandi nell'ambito dell'operazione EXECUTE. Per scoprire di più sulla gestione degli intent EXECUTE, consulta Soddisfazione degli intent.

action.devices.commands.EnableDisableGuestNetwork

Attiva o disattiva la rete ospite. È necessario utilizzare la verifica dell'utente secondario con PIN. La sicurezza domestica di un utente può essere considerata interessata 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 Booleano

Obbligatorio.

Vero per abilitare la rete ospite, falso per disattivare la rete ospite.

Esempi

Attiva la rete ospite.

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

action.devices.commands.EnableDisableNetworkProfile

Attiva o disattiva un profilo di rete. È necessario utilizzare la verifica dell'utente secondario con PIN. La sicurezza domestica di un utente può essere considerata interessata 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 Stringa

Obbligatorio.

Il nome del profilo di networkProfiles.

enable Booleano

Obbligatorio.

Vero per attivare il profilo, falso per disattivarlo.

Esempi

Disattiva 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 dell'utente secondario con PIN. La sicurezza domestica di un utente può essere considerata interessata 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 Stringa

Obbligatorio.

La password della rete ospite.

Esempi

Mostra la password del Wi-Fi ospite.

{
  "guestNetworkPassword": "123456"
}

action.devices.commands.TestNetworkSpeed

Verifica la velocità di download e caricamento della rete.

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

Parametri

Parametri Tipo Descrizione
testDownloadSpeed Booleano

Obbligatorio.

Indica se la velocità di download deve essere testata.

testUploadSpeed Booleano

Obbligatorio.

Indica se la velocità di caricamento deve essere testata.

followUpToken Stringa

Obbligatorio.

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

Esempi

Qual è la velocità della rete 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

Risposte di follow-up

I dispositivi con questa caratteristica possono restituire il seguente payload di risposta di follow-up nell'ambito dell'operazione EXECUTE. Per scoprire di più sull'implementazione delle risposte successive, consulta Notifiche per le azioni relative alla smart home.

Il payload contiene uno dei seguenti valori:

Operazione riuscita: networkDownloadSpeedMbps

Campi Tipo Descrizione
followUpToken Stringa

Obbligatorio.

Token fornito nella richiesta EXECUTE originale.

status Stringa

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 Stringa

Obbligatorio.

Token fornito nella richiesta EXECUTE originale.

status Stringa

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 Stringa

Obbligatorio.

Token fornito nella richiesta EXECUTE originale.

status Stringa

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.

Non riuscita

Campi Tipo Descrizione
followUpToken Stringa

Obbligatorio.

Token fornito nella richiesta EXECUTE originale.

status Stringa

Obbligatorio.

Risultato della richiesta.

Valori supportati:

FAILURE
errorCode Stringa

Obbligatorio.

Il valore può essere qualsiasi codice di errore per questa caratteristica, ad esempio transientError.

Esempi

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

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

Qual è la velocità della rete Wi-Fi? (risposta di follow up con esito negativo)

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

ERRORI del dispositivo

Consulta l'elenco completo degli errori e delle 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