Limiti relativi a utenti e frequenze

Device Access I progetti sono limitati da utenti, struttura e limiti di frequenza, a seconda dell'ambiente e del tipo di offerta commerciale.

Vogliamo che gli sviluppatori creino esperienze utente coinvolgenti, ma vogliamo anche che il servizio e i dispositivi Nest siano sempre disponibili per l'utente. Le integrazioni che fanno un numero elevato di richieste in un determinato periodo di tempo possono influire sulla disponibilità del servizio e dei dispositivi, pertanto l'API SDM applica limiti di frequenza. La limitazione della frequenza limita il numero di chiamate API per un determinato periodo di tempo e impedisce l'utilizzo eccessivo delle risorse.

Limiti per ambiente

Tutti i progetti iniziano nell'ambiente   Sandbox  . La sandbox è destinata alla valutazione dell'API SDM e dell'uso personale e i limiti sono limitati di conseguenza. Gli ambienti con una base di utenti più ampia, come   lo sviluppo commerciale  , hanno limiti diversi.

Limiti relativi agli utenti della sandbox

Un account sviluppatore nella sandbox è limitato a 25 utenti in 5 strutture in tutti i progetti. Esiste un limite di 3 progetti per account.

Le strutture sono limitate a 5 utenti ciascuna, quindi il limite verrà raggiunto solo quando tutte e 5 le strutture vengono raggiunte, con 5 utenti ciascuna. L'account sviluppatore (proprietario del progetto) non viene conteggiato ai fini del limite di 5 utenti per una struttura.

Al contrario, se un progetto ha 15 utenti su 5 strutture, è possibile aggiungere altri utenti solo alle 5 strutture esistenti, poiché il limite di strutture è già stato raggiunto.

Limiti di frequenza della sandbox

La sandbox è soggetta a una limitazione di frequenza a tre diversi livelli. I limiti sono impostati sulle query al minuto (QPM), se non diversamente indicato.

Livello API

Le chiamate API sono limitate per progetto e per utente. Per ulteriori informazioni sui singoli metodi, consulta il riferimento all'API.

Metodo API Limite di frequenza
devices.executeCommand 10 QPM
devices.get 10 QPM
devices.list 5 QPM
structures.get 5 QPM
structures.list 5 QPM
structures.rooms.get 5 QPM
structures.rooms.list 5 QPM

Livello di comando

Ogni comando trait (devices.executeCommand) è limitato a 5 QPM per progetto, per utente e per dispositivo.

Ciò significa che se un progetto ha 2 utenti con 2 dispositivi ciascuno (4 dispositivi in totale), lo stesso comando può essere chiamato 5 volte in un minuto per ciascuno di questi 4 dispositivi.

Tuttavia, se un progetto ha 2 utenti con 3 dispositivi ciascuno per un totale di 6 dispositivi, lo stesso comando non può essere chiamato 5 volte in un minuto per ciascuno di questi 6 dispositivi. Ciò comporterà 15 QPM per ogni utente, quando il limite di frequenza a livello di API devices.executeCommand per l'utente di un progetto è pari a 10 QPM.

A livello di istanza del dispositivo

Inoltre, i limiti a livello di istanze del dispositivo vengono implementati nei progetti e nei comandi (devices.executeCommand) per la protezione della batteria del dispositivo. Questi limiti vengono applicati sia a livello di QPM che di query all'ora (QPH) e non si applicano ai metodi API get e list.

Ad esempio, supponiamo che il Progetto A e il Progetto B abbiano entrambi accesso allo stesso dispositivo, il Dispositivo A (forse l'utente ha autorizzato due diverse integrazioni commerciali che utilizzano lo stesso dispositivo). Se il progetto A ha inviato 4 comandi al dispositivo A nell'arco di un minuto, il progetto B può inviare un solo comando al dispositivo A nello stesso minuto prima che venga raggiunto il limite di frequenza a livello di istanza del dispositivo. A quel punto, i comandi da entrambi i progetti al dispositivo A vengono limitati fino alla fine del minuto iniziato con il primo comando al dispositivo A.

Se un tipo di dispositivo non è elencato di seguito, non ha limiti di frequenza a livello di istanza del dispositivo.

Tipo di dispositivo Limite di frequenza delle istanze del dispositivo
TERMOSTATO 5 QPM o 100 QPH
FOTOCAMERA 30 QPM o 100 QPH
DOORBELL 30 QPM o 100 QPH

Errori

In relazione a questa guida, potrebbero essere restituiti i seguenti codici di errore:

Messaggio di errore RPC Risoluzione dei problemi
Numero certificati limitato. RESOURCE_EXHAUSTED Ogni sviluppatore ha una quota che limita il numero di chiamate che può effettuare. Se effettui più chiamate rispetto alla tua quota, riceverai il messaggio Limitazione di frequenza. Per risolvere il problema, invia nuovamente la chiamata una volta scaduta la quota.

Consulta il riferimento ai codici di errore dell'API per un elenco completo dei codici di errore dell'API.