Kullanıcı ve Ücret Sınırları

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   Sandbox   ortamında başlar. Korumalı Alan, SDM API'nin 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 projelerdeki 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. Geliştirici hesabı (projenin sahibi olan hesap), 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. Sınırlar, aksi belirtilmedikçe dakikada sorgu (QPM) olarak belirlenir.

API seviyesi

API çağrıları, proje ve kullanıcı başına sınırlıdır. Ayrı 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 paket
devices.get 10 saniyede 10 paket
devices.list 5 QPM
structures.get 5 QPM
structures.list 5 QPM
structures.rooms.get 5 QPM
structures.rooms.list 5 QPM

Komut seviyesi

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 toplam 6 cihaz için her biri 3 cihaza sahip 2 kullanıcı varsa aynı komut, bu 6 cihazın her biri için dakikada 5 kez çağrılamaz. Bu, bir projenin kullanıcısı için devices.executeCommand API düzeyinde 10 QPM olan hız sınırı olduğunda her kullanıcı için 15 QPM ile sonuçlanır.

Cihaz örneği düzeyi

Ayrıca, cihaz pili koruması için projeler ve komutlar (devices.executeCommand) genelinde cihaz örneği düzeyinde sınırlar uygulanır. Bu sınırlar hem QPM hem de saat başına sorgu (QPH) düzeylerinde uygulanır ve get ile 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 Örneği Hız Sınırı
TERMOSTAT 5 QPM veya 100 QPH
KAMERA 30 PPM veya 100 PPM
KAPI ZİLİ 30 PPM veya 100 PPM

Hatalar

Bu kılavuzla ilgili olarak aşağıdaki hata kodları döndürülebilir:

Hata Mesajı TBG Sorun giderme
Sıklık sınırlıdır. 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.