Schema del tratto Smart Home NetworkControl
action.devices.traits.NetworkControl: questa caratteristica appartiene ai dispositivi che supportano la generazione di report sui dati di rete e l'esecuzione di operazioni specifiche della rete.
ATTRIBUTI dispositivo
I dispositivi con questa caratteristica potrebbero segnalare i seguenti
attributi nell'ambito dell'operazione SYNC. Per saperne
di più sulla gestione degli intent SYNC, consulta
Completamento degli intent.
| Attributi | Tipo | Descrizione |
|---|---|---|
supportsEnablingGuestNetwork |
Valore booleano |
(Valore predefinito: Impostato su true se la rete ospite può essere attivata. |
supportsDisablingGuestNetwork |
Valore booleano |
(Valore predefinito: Imposta su true se la rete ospite può essere disattivata. |
supportsGettingGuestNetworkPassword |
Valore booleano |
(Valore predefinito: Imposta su true se la password della rete ospite può essere ottenuta tramite il comando |
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: Imposta su true se è possibile attivare i profili di rete. |
supportsDisablingNetworkProfile |
Valore booleano |
(Valore predefinito: Imposta su true se i profili di rete possono essere disattivati. |
supportsNetworkDownloadSpeedTest |
Valore booleano |
(Valore predefinito: Impostato su true se è possibile eseguire un test della velocità di download. |
supportsNetworkUploadSpeedTest |
Valore booleano |
(Valore predefinito: Impostato su true se è possibile eseguire un test della velocità di caricamento. |
Esempi
Dispositivo di rete che supporta rete ospite, profili e test di velocità.
{ "supportsEnablingGuestNetwork": true, "supportsDisablingGuestNetwork": true, "supportsEnablingNetworkProfile": true, "supportsDisablingNetworkProfile": true, "supportsNetworkDownloadSpeedTest": true, "supportsNetworkUploadSpeedTest": true, "supportsGettingGuestNetworkPassword": true, "networkProfiles": [ "Kids" ] }
Stati del dispositivo
Le entità con questo tratto possono segnalare i seguenti stati nell'ambito dell'operazione QUERY. Per saperne di più
sulla gestione degli intent QUERY, consulta
Completamento degli intent.
| Stati | Tipo | Descrizione |
|---|---|---|
networkEnabled |
Valore booleano |
Indica se la rete principale è attiva. |
networkSettings |
Oggetto |
Contiene l'SSID della rete principale. |
ssid |
String |
Obbligatorio. SSID della rete. |
guestNetworkEnabled |
Valore booleano |
Indica se la rete ospite è attivata. |
guestNetworkSettings |
Oggetto |
Contiene l'SSID della rete ospite. |
ssid |
String |
Obbligatorio. SSID della rete. |
numConnectedDevices |
Intero |
Il numero di dispositivi connessi alla rete. |
networkUsageMB |
Number |
L'utilizzo della rete in MB (megabyte). L'utilizzo della rete rientra nel periodo di fatturazione corrente, il che può essere utile per monitorare il limite di utilizzo della rete per un 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 |
Valore booleano |
Se l'utilizzo della rete è illimitato. Se questo valore è impostato su true, lo stato del dispositivo networkUsageLimitMB verrà ignorato. |
lastNetworkDownloadSpeedTest |
Oggetto |
Contiene i risultati del test più recente sulla velocità di download della rete. |
downloadSpeedMbps |
Number |
La velocità di download in Mbps (megabit al secondo) dell'ultimo test della velocità di rete. |
unixTimestampSec |
Intero |
Il timestamp Unix (numero di secondi trascorsi dall'epoca Unix) dell'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:
|
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 della velocità di rete. |
unixTimestampSec |
Intero |
Il timestamp Unix (numero di secondi trascorsi dall'epoca Unix) dell'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:
|
networkSpeedTestInProgress |
Valore booleano |
(Valore predefinito: Indica se è attualmente in corso un test di 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 |
<string> |
Oggetto |
Un oggetto che memorizza lo stato di un singolo profilo di rete. Il valore della chiave |
enabled |
Valore booleano |
Lo stato attuale di attivazione/disattivazione 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 un test di rete e velocità attivo in corso.
{
"networkEnabled": true,
"networkSettings": {
"ssid": "home-network-123"
},
"guestNetworkSettings": {
"ssid": "home-network-123-guest"
},
"numConnectedDevices": 4,
"networkUsageMB": 100.8,
"networkSpeedTestInProgress": true
}Dispositivo con il profilo di rete "bambini" disattivato.
{
"networkEnabled": true,
"networkSettings": {
"ssid": "home-network-123"
},
"networkProfilesState": {
"parents": {
"enabled": true
},
"kids": {
"enabled": false
}
}
}COMANDI del dispositivo
I dispositivi con questa caratteristica potrebbero rispondere ai seguenti
comandi nell'ambito dell'operazione EXECUTE. Per saperne di più
sulla gestione degli intent EXECUTE, consulta
Completamento degli intent.
action.devices.commands.EnableDisableGuestNetwork
Attiva o disattiva la rete ospite. Deve essere utilizzata la verifica utente secondaria con PIN. La sicurezza della casa 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 |
Valore booleano |
Obbligatorio. True per attivare la rete ospite, false per disattivarla. |
Esempi
Attiva la rete ospite.
{
"command": "action.devices.commands.EnableDisableGuestNetwork",
"params": {
"enable": true
}
}action.devices.commands.EnableDisableNetworkProfile
Attivare o disattivare un profilo di rete. Deve essere utilizzata la verifica utente secondaria con PIN. La sicurezza della casa 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 |
String |
Obbligatorio. Il nome del profilo dall'attributo |
enable |
Valore booleano |
Obbligatorio. True per attivare il profilo, false per disattivarlo. |
Esempi
Disattiva internet per i bambini.
{
"command": "action.devices.commands.EnableDisableNetworkProfile",
"params": {
"profile": "Kids",
"enable": false
}
}Errori correlati
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. Deve essere utilizzata la verifica utente secondaria con PIN. La sicurezza della casa 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 |
String |
Obbligatorio. La password per la rete ospite. |
Esempi
Mostra la password del Wi-Fi ospite.
{
"guestNetworkPassword": "123456"
}action.devices.commands.TestNetworkSpeed
Testa la velocità di download e di 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à della connessione Wi-Fi?
{ "command": "action.devices.commands.TestNetworkSpeed", "params": { "testDownloadSpeed": true, "testUploadSpeed": true, "followUpToken": "123" } }
Errori correlati
Si è verificato un errore durante il tentativo di richiedere un test di velocità.
Valori supportati:
networkSpeedTestInProgress
Risposte di follow-up
I dispositivi con questo tratto potrebbero restituire il seguente
payload di risposta di follow-up nell'ambito dell'operazione EXECUTE. Per saperne
di più sull'implementazione delle risposte di follow-up, consulta
Notifiche per le azioni per la 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:
|
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:
|
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:
|
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:
|
errorCode |
String |
Obbligatorio. Il valore può essere qualsiasi codice di errore per questa caratteristica, ad esempio |
Esempi
Qual è la velocità della connessione Wi-Fi? (follow-up response)
{ "NetworkControl": { "priority": 0, "followUpResponse": { "status": "SUCCESS", "networkDownloadSpeedMbps": 23.3, "networkUploadSpeedMbps": 10.2, "followUpToken": "1234" } } }
Qual è la velocità della connessione Wi-Fi? (follow-up response with failure)
{
"NetworkControl": {
"priority": 0,
"followUpResponse": {
"status": "FAILURE",
"errorCode": "transientError",
"followUpToken": "1234"
}
}
}ERRORI del dispositivo
Consulta l'elenco completo di 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