Przeznaczenie

Intencje inteligentnego domu to proste obiekty wiadomości, które opisują, jaką integrację Cloud-to-cloud należy wykonać, np. włączyć światło lub przesłać dźwięk do głośnika.

Wszystkie intencje smart home są zawarte w przestrzeni nazw action.devices i musisz zapewnić ich obsługę. Za każdym razem, gdy Google Assistant wysyła intencję do realizacji, token dostępu OAuth 2 użytkownika jest przekazywany w nagłówku autoryzacji.

Oto obsługiwane intencje smart home:

SYNC

Intencja action.devices.SYNC służy do żądania listy urządzeń smart home, które użytkownik połączył i które są dostępne do użycia.

Gdy użytkownik konfiguruje swoje urządzenia za pomocą Google Home app (GHA), jest też uwierzytelniany w infrastrukturze w chmurze. Następnie Assistant otrzymuje token OAuth2. W tym momencie Assistant wysyła intencję action.devices.SYNC do Twojej usługi realizacji, aby pobrać początkową listę urządzeń i funkcji użytkownika z Twojej infrastruktury w chmurze.

Ten rysunek przedstawia interakcję między infrastrukturą Google a infrastrukturą partnera. Z infrastruktury Google aplikacja kliencka Asystenta otrzymuje listę partnerów, która następnie jest przekazywana do infrastruktury partnera w celu przeprowadzenia uwierzytelniania OAuth. Uwierzytelnianie OAuth po stronie partnera to widok internetowy konfiguracji partnera, widok internetowy OAuth, opcjonalne ustawienia i warunki oraz usługi partnera w chmurze. Infrastruktura partnera zwraca dane logowania OAuth do aplikacji klienckiej Asystenta. Usługi w chmurze partnera wysyłają informacje o dostępnych urządzeniach i funkcjach do usług Asystenta, które następnie zapisują je w Home Graph.
Rysunek 1. Interakcja między infrastrukturą Google i partnera

Aby uniknąć odłączania i ponownego łączenia konta użytkownika, możesz wysłać prośbę o synchronizację do Assistant. Spowoduje to wysłanie intencji action.devices.SYNC do realizacji, aby zsynchronizować listę urządzeń i funkcji. Więcej informacji znajdziesz w artykule Implement Request Sync (Implementowanie żądania synchronizacji).

Diagram przepływu intencji SYNC
Rysunek 2. Intencja SYNC

Podczas konfigurowania realizacji lokalnej platforma Local Home sprawdza odpowiedź SYNC z realizacji w chmurze akcji smart home. Aby dowiedzieć się więcej o tym, jak zmodyfikować odpowiedź SYNC, aby obsługiwać realizację lokalną, przeczytaj artykuł o aktualizowaniu odpowiedzi SYNC w realizacji w chmurze.

ZAPYTANIE

Intencja action.devices.QUERY służy do wysyłania zapytań o bieżący stan urządzeń smart home.

gdy użytkownicy pytają o stan urządzenia, np. OK Google, które światła są włączone w kuchni?, Assistant wysyła intencję action.devices.QUERY do realizacji.

Diagram przepływu intencji QUERY
Rysunek 3. Intencja QUERY

Aby zapewnić użytkownikom jak najlepsze wrażenia, zaimplementuj funkcję Report State, która aktywnie raportuje bieżący stan urządzeń użytkownika bezpośrednio do Google Home Graph. Dzięki temu Assistant wie na przykład, czy użytkownik włączył inteligentne oświetlenie za pomocą fizycznego przełącznika.

Raportowanie stanu urządzenia za pomocą funkcji Report State
Rysunek 4. Raportowanie stanu urządzenia

EXECUTE

Intencja action.devices.EXECUTE służy do udostępniania poleceń do wykonania na urządzeniach smart home.

Gdy użytkownicy wysyłają polecenia do urządzeń za pomocą Assistant, Twoja realizacja otrzymuje intencję action.devices.EXECUTE, która opisuje działanie i urządzenia, na których ma zostać wykonane. Użytkownik może wykonać działanie na urządzeniu za pomocą polecenia, takiego jak OK Google, włącz światła w salonie.

Diagram przepływu intencji EXECUTE
Rysunek 5. Intencja EXECUTE

ODŁĄCZ

Intencja action.devices.DISCONNECT jest wywoływana, aby poinformować Cię, że użytkownik odłączył konto aplikacji od Assistant. Po otrzymaniu intencji action.devices.DISCONNECT nie należy zgłaszać stanu urządzeń tego użytkownika.