Device Access Projeler, ortama ve Ticari teklifin türüne bağlı olarak kullanıcı, yapı ve oran sınırlarına tabidir.
Geliştiricilerin ilgi çekici kullanıcı deneyimleri oluşturmasını istiyoruz. Bununla birlikte, 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 oluşturan entegrasyonlar, hizmet ve cihaz kullanılabilirliğini etkileyebilir. Bu nedenle SDM API hız sınırları uygular. Hız sınırlaması, belirli bir dönem için API çağrılarının sayısını kısıtlar ve kaynakların aşırı kullanılmasını önler.
Ortama göre sınırlar
Tüm projeler Korumalı Alan ortamında başlar. Korumalı alan, SDM API'nin ve kişisel kullanımın değerlendirilmesi için tasarlanmıştır ve sınırlar buna göre kısıtlanır. Ticari Geliştirme gibi daha geniş kullanıcı tabanlarına sahip ortamların farklı sınırları vardır.
Korumalı alan kullanıcı sınırları
Korumalı Alan'daki bir geliştirici hesabı, 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ın her biri 5 kullanıcı ile sınırlıdır. Bu nedenle kullanıcı sınırına yalnızca her biri 5 kullanıcı olacak şekilde 5 yapının tamamı en fazla aşıldığında 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ı üzerinde 15 kullanıcı varsa yapı sınırına ulaşıldığı için yalnızca mevcut 5 yapıya ek kullanıcılar eklenebilir.
Korumalı alan hız sınırları
Korumalı Alan, 3 farklı seviyeyle sınırlıdır. Sınırlar, aksi belirtilmedikçe dakikadaki sorgu sayısı (QPM) olarak ayarlanır.
API seviyesi
API çağrıları her proje ve kullanıcı için sınırlıdır. Bağımsız 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 Sorgu (QPM) |
devices.get |
10 Sorgu (QPM) |
devices.list |
5 Sorgu (QPM) |
structures.get |
5 Sorgu (QPM) |
structures.list |
5 Sorgu (QPM) |
structures.rooms.get |
5 Sorgu (QPM) |
structures.rooms.list |
5 Sorgu (QPM) |
Komut düzeyi
Her bir özellik komutu (devices.executeCommand
); proje, kullanıcı ve cihaz başına 5 QPM ile sınırlıdır.
Yani bir projede her biri 2 cihaza (toplam 4 cihaz) sahip 2 kullanıcı varsa aynı komut bu 4 cihazın her biri için bir 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. Bir projenin kullanıcısı için devices.executeCommand
API düzeyi hız sınırı 10 QPM olduğunda bu, her kullanıcı için 15 QPM'ye neden olur.
Cihaz örneği düzeyi
Ayrıca, cihazın pilini korumak için cihaz örneği düzeyinde sınırlar projeler ve komutlar genelinde (devices.executeCommand
) 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, Proje A ve Proje B'nin aynı cihaza, yani A Cihazına erişiminin olduğunu varsayalım (kullanıcı aynı cihazı kullanan iki farklı ticari entegrasyona yetki vermiş olabilir). Proje A, A cihazına bir dakika içinde 4 komut gönderirse cihaz örnek düzeyi hız sınırına ulaşmadan önce aynı dakika içinde A Cihazına yalnızca 1 komut gönderebilir. Bu noktada, her iki Projeden A Cihazına gönderilen komutlar, A Cihazına gönderilen ilk komutla başlayan dakikanın sonuna kadar kısıtlanır.
Aşağıdaki listede yer almayan cihaz türlerinin cihaz örneği düzeyinde hız sınırları yoktur.
Cihazın Türü | Cihaz Örneği Hız Sınırı |
---|---|
TERMOSTAT | 5 QPM veya 100 QPH |
KAMERA | 30 QPM veya 100 QPH |
KAPI ZİLİ | 30 QPM veya 100 QPH |
Hatalar
Bu kılavuzla ilgili olarak aşağıdaki hata kodları döndürülebilir:
Hata Mesajı | RPC | Sorun giderme |
---|---|---|
Hız sınırlandırıldı. | RESOURCE_EXHAUSTED |
Her geliştiricinin, yapabileceği arama sayısını sınırlayan bir kotası vardır. Kotanızı aşan arama yaparsanız Ücret sınırlaması mesajını alırsınız. Bu durumu düzeltmek için kotanın süresi dolduğunda çağrıyı yeniden gönderin. |
API hata kodlarının tam listesi için API Hata Kodu Referansı'na bakın.