Limiti relativi a utenti e frequenze

I progettiDevice Access sono limitati in base a utente, struttura e limiti di frequenza, a seconda dell'ambiente e del tipo di offerta commerciale.

Vogliamo che gli sviluppatori creino esperienze utente coinvolgenti, ma anche che il servizio e i dispositivi Nest siano sempre disponibili per l'utente. Le integrazioni che effettuano un numero elevato di richieste in un determinato periodo di tempo possono influire sulla disponibilità di servizi e 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 all'uso personale e i limiti sono di conseguenza ristretti. Gli ambienti con basi di utenti più ampie, come   Sviluppo commerciale  , hanno limiti diversi.

Limiti per gli utenti della sandbox

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

Le strutture sono limitate a 5 utenti ciascuna, quindi il limite di utenti verrà raggiunto solo quando tutte e 5 le strutture avranno raggiunto il limite di 5 utenti ciascuna. L'account sviluppatore (proprietario del progetto) non rientra nel limite di 5 utenti per una struttura.

Al contrario, se un progetto ha 15 utenti in 5 strutture, gli utenti aggiuntivi possono essere aggiunti solo alle 5 strutture esistenti, poiché il limite di strutture è già stato raggiunto.

Limiti di frequenza della sandbox

Il sandbox è limitato a tre diversi livelli. I limiti sono impostati su 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 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 di tratto (devices.executeCommand) è limitato a 5 QPM per progetto, per utente, 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 al 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 al minuto per ciascuno di questi 6 dispositivi. Ciò comporterebbe 15 QPM per ogni utente, quando il limite di frequenza a livello di API devices.executeCommand per l'utente di un progetto è di 10 QPM.

Livello di istanza del dispositivo

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

Supponiamo, ad esempio, 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 entro un minuto, il progetto B può inviare solo 1 comando al dispositivo A nello stesso minuto prima di raggiungere il limite di frequenza a livello di istanza del dispositivo. A quel punto, i comandi di 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
THERMOSTAT 5 QPM o 100 QPH
FOTOCAMERA 30 QPM o 100 QPH
CAMPANELLO 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 Limite di frequenza raggiunto. Per risolvere il problema, invia nuovamente la chiamata una volta scaduta la quota.

Consulta i riferimenti ai codici di errore dell'API per l'elenco completo dei codici di errore dell'API.