Nest API'sinin Mimarisi

Nest hizmeti hakkında

Nest uygulamaları, kullanıcıların bulundukları her yerden evlerine bağlanmasına olanak tanır. Tüm Nest cihazlar (Termostatlar, Korumalar ve Kameralar) ve uygulamalar (iOS, Android ve web uygulamaları) Nest hizmetine bağlanır.

Buluttan buluta örnek

Nest hizmeti, evin bir veri modelini sağlar. Uygun işlemler yapmak için bu veri modelinden okunan cihazlar ve uygulamalar. Veri modelini sistemdeki değişiklikleri yansıtacak şekilde güncellerler.

Örneğin, bir termostat hedef sıcaklığını veri modelinden okur. Ortam sıcaklığını geçerli ölçümüne ayarlar ve sensör verilerini yapı modunu buna göre ayarlayan Home/Away Assist'e gönderir.

Nest cihazları kısıtlı ortamlarda çalışır. Güç sınırlıdır ve ev ağı bağlantısı güvenilir değildir. Ürün ve hizmetleriniz, kullanıcılara basit ve sezgisel bir ev deneyimi sunmak için cihaz algoritmalarımızdan yararlanabilir.

Veri modeli

Nest API, metadata, devices ve structures üst düzey özelliklerine sahip bir JSON dokümanı olarak temsil edilir. Works with Nest ürünleriniz, Nest cihazları ve ilgili durum değişiklikleriyle etkileşim kurmak, bunlara yanıt vermek için bu JSON dokümanını kullanır.

Nest structures, gerçek dünyadaki fiziksel yapıları temsil eder. Bunlar, devices için bir düzenleme noktası görevi görür ve binanın verilerini bir bütün olarak depolar. structure genellikle kullanıcının evidir.

Nest devices, bir yapı içindeki fiziksel cihazları (Termostatlar, Korumalar ve Kameralar) temsil eder.

JSON belgesindeki her veri öğesi, URL ile ("veri konumları" olarak da bilinir) adreslenebilir. Nest ürünleriyle çalışan kullanıcılar, bu belgedeki bölümleri okuyup yazabilir ve değişikliklere abone olabilir. Bu abonelik özelliği, Works with Nest ürünlerinin, sistemde yapılan değişikliklere (ör. bir kullanıcı yapıyı Dışarıda olarak ayarladığında ışıkları kapatma) gerçek zamanlı olarak tepki vermesine olanak tanır.

Nesneler de gerçek dünyadaki kısıtlamalar altında çalışır. Veri modeli, şaşırtıcı ve tehlikeli işlemleri önleyerek cihazların ve kullanıcının evinin güvenliğini sağlar. Örneğin, acil durum ısıtması etkinleştirildiğinde termostatın klimayı çalıştırmaması.

Bu etkileşimli API Referansı ile veri modelini keşfedin.

Amaçlanan durum

Nest hizmeti, sistemin yetkili durumunu depolar ve Works with Nest ürünleri değişikliklere abone olur. Bu durumun değiştirilmesi (örneğin, bir termostatın hedef sıcaklığını değiştirmek için) hizmetin tüm abonelere bir değişiklik bildirimi aktarmasına neden olur.

Bu yayılma sürecinde biraz gecikme olduğu ve ağların güvenilir olmaması nedeniyle bir ürünün gözlemlediği durum, şu anda diğer ürünler veya hizmet tarafından gözlemlenen durum olmayabilir. Çeşitli ürünler arasında mesajlar iletildiğinde durum sonunda senkronize edilir.

Bu belge odaklı yayınlama/abone olma modeli, duyarlı uygulama etkileşimleri sağlar.

Nest hizmetini kullanma

Nest hizmetinde REST uç noktalarına erişmek için ürününüzde HTTPS kullanın. Bu amaçla kullanılabilecek birçok üçüncü taraf istemci kitaplığı vardır.

İzinler ve yetkilendirme

Geliştiricilerin, kullanıcı gizliliğinden ve güvenlikten ödün vermeden, evleri daha iyi hale getiren ürün ve hizmetleri geliştirmelerini sağlamak istiyoruz. İletişimlerimizin tümü güvenlidir ve verilere erişim izni her zaman kullanıcı tarafından açıkça verilir. Daha fazla bilgi için İzinlere Genel Bakış sayfasını inceleyin.

Yetkilendirme, OAuth 2.0 protokolü tarafından gerçekleştirilir. Kullanıcı, istenen izin düzeyine erişim sağlamayı kabul ettiğinde Nest isteğin kimliğini doğrular ve istekte bulunan kişiye bir erişim jetonu verilir. Bu erişim jetonu, Nest API'ye erişmek ve kullanıcının yapıları ve cihazlarıyla etkileşimde bulunmak için kullanılabilir.

Erişim jetonu verildiğinde, kullanıcı, Works with Nest ürünü ve Nest arasında bir güven ilişkisi oluşur. Kullanıcılar, erişimi istedikleri zaman iptal edebilir.

Nest API bağlantısını nasıl yetkilendireceğinizi öğrenmek için Yetkilendirmeye Genel Bakış bölümünü inceleyin.