Device Access projeleri, ticari teklifin ortamına ve türüne bağlı olarak kullanıcı, yapı ve ücret sınırlarına göre kısıtlanır.
Geliştiricilerin ilgi çekici kullanıcı deneyimleri oluşturmasını istiyoruz ancak Nest hizmetinin ve cihazlarının kullanıcılar için her zaman kullanılabilir olmasını da istiyoruz. Belirli bir süre içinde çok sayıda istek gönderen entegrasyonlar, hizmet ve cihaz kullanılabilirliğini etkileyebileceğinden SDM API'de hız sınırları uygulanır. Hız sınırlaması, belirli bir dönem için API çağrısı sayısını kısıtlar ve kaynakların aşırı kullanımını önler.
Ortama göre sınırlar
Tüm projeler Korumalı Alan ortamında başlar. Korumalı Alan, SDM API'sinin değerlendirilmesi ve kişisel kullanım için tasarlanmıştır ve sınırlar buna göre kısıtlanmıştır. Ticari Geliştirme gibi daha büyük kullanıcı tabanına sahip ortamların farklı sınırları vardır.
Korumalı alan kullanıcı sınırları
Korumalı alanlardaki geliştirici hesapları, tüm projelerde 5 yapıda 25 kullanıcıyla sınırlıdır. Hesap başına 3 proje sınırı vardır.
Yapılar 5 kullanıcıyla sınırlıdır. Bu nedenle, kullanıcı sınırına yalnızca 5 yapının her biri 5 kullanıcıyla dolduğunda ulaşılır. Projenin sahibi olan geliştirici hesabı, bir yapının 5 kullanıcı sınırına dahil edilmez.
Buna karşılık, bir projede 5 yapıda 15 kullanıcı varsa yapı sınırına ulaşıldığı için ek kullanıcılar yalnızca mevcut 5 yapıya eklenebilir.
Korumalı alan oranı sınırları
Korumalı alan, 3 farklı düzeyde hız sınırlamasına sahiptir. Aksi belirtilmedikçe sınırlar, dakika başına sorgu sayısı (QPM) olarak belirlenir.
API seviyesi
API çağrıları, proje ve kullanıcı başına sınırlıdır. Farklı yöntemler hakkında daha fazla bilgi için API Referansı'na bakın.
API Yöntemi | Hız Sınırı |
---|---|
devices.executeCommand |
10 saniyede 10 soru |
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 |
Komut düzeyi
Her özellik komutu (devices.executeCommand
), proje başına, kullanıcı başına ve cihaz başına 5 QPM ile sınırlıdır.
Yani bir projede her biri 2 cihaza sahip 2 kullanıcı varsa (toplam 4 cihaz) aynı komut, bu 4 cihazın her biri için dakikada 5 kez çağrılabilir.
Ancak bir projede her biri toplam 6 cihaz için 3 cihaza sahip 2 kullanıcı varsa aynı komut bu 6 cihazın her biri için bir dakikada 5 kez çağrılamaz. Bu durumda, projenin kullanıcısı için devices.executeCommand
API seviyesi hız sınırı 10 QPM'ye ulaştığında her kullanıcı için 15 QPM'ye ulaşır.
Cihaz örneği düzeyi
Ayrıca, cihaz pil koruması için proje ve komutlar (devices.executeCommand
) genelinde cihaz örneği düzeyi sınırları uygulanır. Bu sınırlar, hem QPM hem de saat başına sorgu (QPH) düzeylerinde uygulanır; get
ve list
API yöntemleri için geçerli değildir.
Örneğin, A Projesi ve B Projesi'nin aynı cihaza (A Cihaz) erişimi olduğunu varsayalım (kullanıcının aynı cihazı kullanan iki farklı ticari entegrasyona yetki vermesi mümkündür). A Projesi bir dakika içinde A Cihazına 4 komut gönderdiyse B Projesi, cihaz örneği düzeyinde hız sınırına ulaşılmaksızın aynı dakika içinde A Cihazına yalnızca 1 komut gönderebilir. Bu noktada, A cihazına gönderilen komutlar, A cihazına gönderilen ilk komutla başlayan dakikanın sonuna kadar sınırlandırılır.
Aşağıda listelenmeyen cihaz türleri için cihaz örneği düzeyinde hız sınırı yoktur.
Cihazın Türü | Cihaz Örnek Hız Sınırı |
---|---|
TERMOSTAT | 5 QPM veya 100 QPH |
KAMERA | 30 QPM veya 100 QPH |
DOORBELL | 30 QPM veya 100 QPH |
Hatalar
Bu kılavuzla ilgili olarak aşağıdaki hata kodları döndürülebilir:
Hata Mesajı | TBG | Sorun giderme |
---|---|---|
Hız sınırlandırıldı. | RESOURCE_EXHAUSTED |
Her geliştiricinin, yapabilecekleri arama sayısını sınırlayan bir kotası vardır. Kotanızdan daha fazla arama yaparsanız "Oran sınırlı" mesajını alırsınız. Bu sorunu düzeltmek için kotanın süresi dolduktan sonra çağrıyı yeniden gönderin. |
API hata kodlarının tam listesi için API Hata Kodu Referansı'na bakın.