Przeznaczenie

Intencje dotyczące inteligentnego domu to proste obiekty wiadomości opisujące, jakie działanie ma wykonać integracja Cloud-to-cloud, np. włączyć światło lub przesłać dźwięk na głośnik.

Wszystkie intencje smart home znajdują się w przestrzeni nazw action.devices i musisz zapewnić ich realizację. Za każdym razem, gdy usługa Google Assistant wysyła intencję do realizacji, token dostępu OAuth 2.0 użytkownika jest przekazywany w nagłówku Authorization.

Oto obsługiwane smart homeintencje:

SYNC

Intencja action.devices.SYNC służy do wysyłania prośby o listę urządzeńsmart home, które użytkownik podłączył i które są dostępne do użycia.

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

Ilustracja przedstawia interakcję między infrastrukturą Google a infrastrukturą partnera. Z infrastruktury Google do aplikacji klienta Asystenta jest przesyłana lista partnerów, która następnie trafia do infrastruktury partnera w celu ukończenia uwierzytelniania OAuth. Uwierzytelnianie OAuth po stronie dostawcy obejmuje widok internetowy konfiguracji dostawcy, widok internetowy OAuth, ustawienia i warunki opcjonalne oraz usługi w chmurze dostawcy. Infrastruktura partnera zwraca dane logowania OAuth do aplikacji klienta Asystenta. Usługi w chmurze partnera wysyłają dostępne urządzenia i funkcje do usług Asystenta, które następnie przechowują te informacje w Home Graph.
Ilustracja 1. Interakcja między infrastrukturą Google a infrastrukturą 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 usługi, aby zsynchronizować listę urządzeń i możliwości. Więcej informacji znajdziesz w sekcji Implement Request Sync (Wdrażanie synchronizacji żądań).

Schemat blokowy intencji SYNC
Rysunek 2. Intencja SYNC

Podczas konfigurowania realizacji lokalnej platforma Local Home sprawdza odpowiedź SYNC z realizacji w chmurze działania smart home. Więcej informacji o tym, jak zmodyfikować odpowiedź SYNC, aby obsługiwać realizację lokalną, znajdziesz w artykule Aktualizowanie 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, aby uzyskać odpowiedź na pytanie w rodzaju Hej Google, jakie światła są włączone w kuchni?. Assistant wysyła intencję action.devices.QUERY do Twojej usługi.

Schemat procesu intencji QUERY
Rysunek 3. Intencja ZAPYTANIA

Aby zapewnić użytkownikom jak najlepsze wrażenia, zaimplementuj funkcję Report State, która będzie proaktywnie raportować bieżący stan urządzeń użytkownika bezpośrednio do Google Home Graph. Na przykład dzięki temu usługa Assistant może się dowiedzieć, czy użytkownik włączył inteligentne oświetlenie za pomocą fizycznego włącznika światła.

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

EXECUTE

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

Gdy użytkownicy wysyłają polecenia do urządzeń z Assistant, Twoja usługa realizacji 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, np. OK Google, włącz światło w salonie.

Schemat blokowy intencji EXECUTE
Rysunek 5. INTENCJA WYKONANIA

ODŁĄCZ

Intencja action.devices.DISCONNECT jest wywoływana, aby poinformować Cię, gdy 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.