Architektura Nest API

Informacje o usłudze Nest

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

Przykład chmura w chmurze

Usługa Nest obejmuje model danych domu. Urządzenia i aplikacje odczytują dane z tego modelu danych, aby podjąć odpowiednie działanie. Te modele są aktualizowane, aby odzwierciedlić zmiany w systemie.

Na przykład termostat odczytuje swoją temperaturę docelową z modelu danych. Ustala on temperaturę otoczenia na bieżący pomiar i wysyła dane z czujnika do Asystenta wyjścia/powrotu, który odpowiednio dostosowuje tryb domu.

Urządzenia Nest działają w zamkniętych środowiskach. Zasilanie jest ograniczone, a połączenie z siecią domową może być niestabilne. Twoje produkty i usługi mogą korzystać z naszych algorytmów urządzeń, aby oferować użytkownikom proste i intuicyjne środowisko domowe.

Model danych

Interfejs Nest API jest reprezentowany przez dokument JSON z atrybutami najwyższego poziomu: metadata, devices i structures. Usługi Works with Nest używają tego dokumentu JSON do interakcji z urządzeniami Nest i związanych z nimi zmian stanu oraz reagowania na nie.

Nest structures to fizyczne obiekty. Sprawdzają się jako devices i pomagają uporządkować dane w całym budynku. Zwykle structure jest domem użytkownika.

Nest devices to urządzenia fizyczne (termostaty, zabezpieczenia i kamery).

Każdy element danych w dokumencie JSON może być adresowany według adresu URL (znanego też jako „lokalizacja danych”). Działa z usługami Nest i umożliwia odczytywanie oraz zapisywanie sekcji w tym dokumencie, a także subskrybowanie zmian. Ta funkcja subskrypcji umożliwia usługom Works with Nest reagowanie w czasie rzeczywistym na zmiany wprowadzane w systemie, takie jak wyłączanie światła, gdy użytkownik ustawi strukturę na Poza domem.

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

Zapoznaj się z modelem danych dostępnym w materiałach referencyjnych dotyczących interaktywnego interfejsu API.

Stan docelowy

Usługa Nest przechowuje autoryzowany stan systemu, a usługi Works with Nest subskrybują zmiany. Zmiana tego stanu (na przykład zmiana temperatury docelowej termostatu) powoduje, że usługa wysyła powiadomienie o zmianach do wszystkich subskrybentów.

Ze względu na opóźnienie w działaniu tej sieci i sieci może być ona niewiarygodna, dlatego stan obserwowany przez usługę może nie być stanem obserwowanym obecnie przez inne produkty lub usługę. Stan jest ostatecznie synchronizowany w miarę przesyłania wiadomości między różnymi usługami.

Ten model publikowania/subskrypcji zorientowany na dokumenty umożliwia elastyczne interakcje z aplikacją.

Korzystanie z usługi Nest

Aby w usłudze Nest uzyskać dostęp do punktów końcowych REST, w swojej usłudze użyj HTTPS. Istnieje wiele bibliotek klienta innych firm, które można wykorzystać w tym celu.

Uprawnienia i autoryzacja

Chcemy umożliwić deweloperom tworzenie produktów i usług, które ulepszają domy bez naruszania prywatności i bezpieczeństwa użytkowników. Wszystkie nasze komunikaty są bezpieczne, a użytkownik zawsze ma pozwolenie na dostęp do danych. Więcej informacji znajdziesz w artykule Omówienie uprawnień.

Autoryzacja jest obsługiwana przez protokół OAuth 2.0. Gdy użytkownik zgadza się na dostęp do żądanego poziomu uprawnień, Nest uwierzytelnia uwierzytelnienie, a token otrzymuje dostęp. Za pomocą tego tokena dostępu możesz uzyskać dostęp do interfejsu Nest API i wchodzić w interakcje ze strukturami i urządzeniami użytkownika.

Przyznanie tokena dostępu powoduje nawiązanie relacji 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 omówienie autoryzacji.