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

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.