Les projetsDevice Access sont soumis à des limites d'utilisateur, de structure et de débit, en fonction de l'environnement et du type d'offre commerciale.
Nous souhaitons que les développeurs créent des expériences utilisateur attrayantes, mais nous voulons également que le service et les appareils Nest soient toujours disponibles pour l'utilisateur. Les intégrations qui effectuent un grand nombre de requêtes sur une période donnée peuvent avoir un impact sur la disponibilité des services et des appareils. C'est pourquoi l'API SDM applique des limites de débit. La limitation du débit restreint le nombre d'appels d'API pour une période donnée et empêche la surutilisation des ressources.
Limites par environnement
Tous les projets commencent dans l'environnement bac à sable . La Sandbox est destinée à l'évaluation de l'API SDM et à un usage personnel. Les limites sont donc restreintes en conséquence. Les environnements avec des bases d'utilisateurs plus importantes, comme Développement commercial , ont des limites différentes.
Limites d'utilisateurs dans le bac à sable
Un compte de développeur dans le bac à sable est limité à 25 utilisateurs répartis dans 5 structures pour tous les projets. Le nombre de projets par compte est limité à trois.
Les structures sont limitées à cinq utilisateurs chacune. La limite d'utilisateurs ne sera donc atteinte que lorsque les cinq structures seront complètes (cinq utilisateurs chacune). Le compte de développeur (propriétaire du projet) n'est pas comptabilisé dans la limite de cinq utilisateurs pour une structure.
À l'inverse, si un projet compte 15 utilisateurs répartis dans 5 structures, vous ne pourrez ajouter d'autres utilisateurs qu'aux 5 structures existantes, car la limite de structures a déjà été atteinte.
Limites de débit du bac à sable
La sandbox est limitée à trois niveaux différents. Sauf indication contraire, les limites sont définies en requêtes par minute (RPM).
Niveau d'API
Les appels d'API sont limités par projet et par utilisateur. Pour en savoir plus sur les méthodes individuelles, consultez la documentation de référence de l'API.
Méthode API | Limite de débit |
---|---|
devices.executeCommand |
10 RPM |
devices.get |
10 RPM |
devices.list |
5 RPM |
structures.get |
5 RPM |
structures.list |
5 RPM |
structures.rooms.get |
5 RPM |
structures.rooms.list |
5 RPM |
Niveau de commande
Chaque commande de caractéristique (devices.executeCommand
) est limitée à cinq requêtes par minute par projet, par utilisateur et par appareil.
Cela signifie que si un projet compte deux utilisateurs avec deux appareils chacun (quatre appareils au total), la même commande peut être appelée cinq fois par minute pour chacun de ces quatre appareils.
Toutefois, si un projet compte deux utilisateurs avec trois appareils chacun (soit six appareils au total), la même commande ne peut pas être appelée cinq fois par minute pour chacun de ces six appareils. Cela entraînerait 15 requêtes par minute pour chaque utilisateur, alors que la limite de fréquence au niveau de l'API devices.executeCommand
pour un utilisateur de projet est de 10 requêtes par minute.
Au niveau de l'instance de l'appareil
De plus, des limites au niveau des instances d'appareils sont implémentées dans les projets et les commandes (devices.executeCommand
) pour protéger la batterie des appareils. Ces limites s'appliquent à la fois aux niveaux de requêtes par minute (QPM) et de requêtes par heure (QPH), et ne s'appliquent pas aux méthodes d'API get
et list
.
Par exemple, supposons que les projets A et B aient tous deux accès au même appareil, l'appareil A (l'utilisateur a peut-être autorisé deux intégrations commerciales différentes qui utilisent le même appareil). Si le projet A a envoyé quatre commandes à l'appareil A en une minute, le projet B ne peut envoyer qu'une seule commande à l'appareil A au cours de cette même minute avant d'atteindre la limite de fréquence au niveau de l'instance de l'appareil. À ce moment-là, les commandes des deux projets vers l'appareil A sont limitées jusqu'à la fin de la minute qui a commencé avec la première commande vers l'appareil A.
Si un type d'appareil ne figure pas dans la liste ci-dessous, il n'est pas soumis à des limites de fréquence au niveau de l'instance d'appareil.
Type d'appareil | Limite de fréquence des instances d'appareil |
---|---|
THERMOSTAT | 5 RPM ou 100 RPH |
CAMÉRA | 30 RPM ou 100 RPH |
SONNETTE | 30 RPM ou 100 RPH |
Erreurs
Les codes d'erreur suivants peuvent être renvoyés en lien avec ce guide :
Message d'erreur | RPC | Dépannage |
---|---|---|
Nombre limité. | RESOURCE_EXHAUSTED |
Chaque développeur dispose d'un quota qui limite le nombre d'appels qu'il peut effectuer. Si vous effectuez plus d'appels que votre quota, le message "Débit limité" s'affiche. Pour résoudre ce problème, renvoyez l'appel une fois le quota expiré. |
Consultez la documentation de référence sur les codes d'erreur de l'API pour obtenir la liste complète des codes d'erreur de l'API.