Limiti relativi a utenti e frequenze

Device Access sono limitati dai limiti relativi a utente, struttura e frequenza, a seconda dell'ambiente e del tipo di offerta commerciale.

Vogliamo che gli sviluppatori creino esperienze utente convincenti, ma vogliamo 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à del servizio e del dispositivo, pertanto l'API SDM applica dei limiti di frequenza. La limitazione di frequenza limita il numero di chiamate API per un determinato periodo di tempo e impedisce il sovrautilizzo 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 limitati di conseguenza. Gli ambienti con basi utenti più ampie, ad esempio lo   sviluppo commerciale  , hanno limiti diversi.

Limiti utente della sandbox

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

Le strutture sono limitate a 5 utenti ciascuna, quindi il limite di utenti verrà raggiunto solo una volta che verrà raggiunto il limite massimo di tutte e 5 le strutture con 5 utenti ciascuna. L'account sviluppatore (a cui appartiene il 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 ulteriori utenti solo alle 5 strutture esistenti, poiché il limite della struttura è già stato raggiunto.

Limiti di frequenza della sandbox

La sandbox è soggetta a un limite di frequenza a 3 diversi livelli. Se non diversamente specificato, i limiti sono impostati per le query al minuto (QPM).

Livello API

Le chiamate API sono limitate per progetto e per utente. Consulta il riferimento API per ulteriori informazioni sui singoli metodi.

Metodo API Limite di frequenza
devices.executeCommand 10 q/m
devices.get 10 q/m
devices.list 5 q/m
structures.get 5 q/m
structures.list 5 q/m
structures.rooms.get 5 q/m
structures.rooms.list 5 q/m

Livello di comando

Ogni comando dei 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 al minuto per ciascuno di questi 4 dispositivi.

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

Livello istanza dispositivo

Inoltre, i limiti del livello di istanza del dispositivo sono implementati nei progetti e nei comandi (devices.executeCommand) per proteggere la batteria del dispositivo. Questi limiti vengono applicati sia a livello di QPM sia a livello 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 quattro comandi al dispositivo A entro un minuto, il progetto B può inviare un solo comando al dispositivo A nello stesso minuto prima che venga raggiunto il limite di frequenza del livello di istanza del dispositivo. A quel punto, i comandi di entrambi i progetti per il 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 dispositivo.

Tipo di dispositivo Limite di frequenza istanze dispositivo
TERMOSTATO 5 QPM o 100 QPH
FOTOCAMERA 30 q/m o 100 q/h
CAMPANELLO 30 q/m o 100 q/h

Errori

In relazione a questa guida, è possibile che vengano restituiti i seguenti codici di errore:

Messaggio di errore RPC Risolvere i problemi
Tariffa limitata. 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 la pagina Riferimento sui codici di errore delle API per l'elenco completo dei codici di errore delle API.