Architektura interfejsu Nest API

Informacje o usłudze Nest

Aplikacje Nest pozwalają użytkownikom łączyć się z domami z dowolnego miejsca. Wszystkie urządzenia Nest (termostaty, zabezpieczenia i kamery) i aplikacje (iOS, Android i aplikacje internetowe) łączą się z usługą Nest.

Przykład między chmurami

Usługa Nest dostarcza model domu. Urządzenia i aplikacje odczytują z tego modelu danych, aby podejmować odpowiednie działania. Aktualizuje on model danych tak, aby odzwierciedlał zmiany w systemie.

Termostat odczytuje na przykład wartość docelową z modelu danych. Ustala temperaturę otoczenia na aktualny pomiar i wysyła dane z czujnika do funkcji Asystent wyjścia/powrotu, który odpowiednio dostosowuje tryb domu.

Urządzenia Nest działają w środowiskach z ograniczonym dostępem. Zasilanie jest ograniczone, a łączność z siecią domową może być niestabilna. Twoje produkty i usługi mogą korzystać z naszych algorytmów urządzeń, by zapewniać użytkownikom proste i intuicyjne działanie w domu.

Model danych

Interfejs Nest API jest reprezentowany jako dokument JSON z atrybutami najwyższego poziomu metadata, devices i structures. Twoje usługi Works with Nest korzystają z tego dokumentu JSON do interakcji z urządzeniami Nest i powiązanymi zmianami stanu oraz do reagowania na nie.

Nest structures reprezentuje fizyczne budowle w świecie rzeczywistym. Służą jako punkt składowy devices i przechowują dane dla całego budynku. Zazwyczaj structure jest domem użytkownika.

Urządzenie devices reprezentuje fizyczne urządzenia (termostaty, zabezpieczenia i kamery) w ramach konstrukcji.

Do każdego elementu danych w dokumencie JSON można dodać adres URL (określany też jako „"data locations"”). Działa z produktami Nest i może je odczytywać oraz zapisywać w sekcjach tego dokumentu, a także subskrybować zmiany. Ta funkcja subskrypcji umożliwia usługom Works with Nest reagowanie w czasie rzeczywistym na zmiany wprowadzone w systemie, np. wyłączanie światła, gdy użytkownik ustawi strukturę na Poza domem.

Obiekty również działają zgodnie z rzeczywistymi ograniczeniami. Model danych chroni urządzenia i dom użytkownika, zapobiegając zaskakującym i niebezpiecznym działaniom. Na przykład termostat nie uruchamia klimatyzacji, kiedy ogrzewanie awaryjne jest włączone.

Zapoznaj się z modelem danych z tego interaktywnego pliku API.

Stan przeznaczenia

Usługa Nest zapisuje najistotniejszy stan systemu, a usługi Works with Nest subskrybują zmiany. Modyfikowanie tego stanu (na przykład w celu zmiany temperatury termostatu) spowoduje, że usługa przekaże powiadomienie o zmianie wszystkim subskrybentom.

Ponieważ ten proces ma pewne opóźnienia, a sieci mogą być zawodne, stan zaobserwowany przez produkt może nie być obecnie takim stanem jak zaobserwowany przez inne usługi lub usługę. Stan jest ostatecznie synchronizowany, ponieważ wiadomości są przesyłane między różnymi usługami.

Ten model publikowania i subskrybowania oparty na dokumentach zapewnia elastyczne interakcje z aplikacją.

Korzystanie z usługi Nest

Aby uzyskać dostęp do punktów końcowych REST w usłudze Nest, użyj protokołu HTTPS w usłudze. Do tego celu jest dostępnych wiele bibliotek klienckich innych firm.

Uprawnienia i autoryzacja

Chcemy umożliwić deweloperom tworzenie produktów i usług, które będą lepiej dopasowane do domu bez obniżania prywatności i bezpieczeństwa użytkowników. Nasza komunikacja jest bezpieczna, a użytkownik ma dostęp do danych zawsze i tak. Więcej informacji znajdziesz w Przeglądzie uprawnień.

Autoryzacja jest obsługiwana przez protokół OAuth 2.0. Gdy użytkownik zgodzi się na dostęp do żądanego poziomu uprawnień, Nest uwierzytelni żądanie i otrzyma token dostępu do niego. Ten token dostępu może służyć do uzyskiwania dostępu do interfejsu Nest API i interakcji ze strukturami i urządzeniami użytkownika.

Przyznanie tokena dostępu tworzy relację zaufania między użytkownikiem, usługą Works with Nest i Nest. Użytkownicy mogą w każdej chwili anulować dostęp.

Aby dowiedzieć się, jak autoryzować połączenie z interfejsem Nest API, przeczytaj artykuł Omówienie autoryzacji.