Przeznaczenie

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

Wszystkie intencje smart home znajdują się w przestrzeni nazw action.devices i musisz je realizować. Za każdym razem, gdy Google Assistant wysyła zamiar do realizacji, w nagłówku Authorization przekazywany jest token dostępu OAuth 2 użytkownika od zewnętrznego dostawcy.

Obsługiwane smart homeintencje:

SYNC

Intencją action.devices.SYNC jest żądanie listy smart home urządzeń, które użytkownik podłączył i które są dostępne do użycia.

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

Rysunek ten przedstawia interakcję infrastruktury Google z infrastrukturą partnera. Infrastruktura Google udostępnia aplikacji klienckiej Asystenta listę partnerów, która następnie trafia do infrastruktury partnera w celu ukończenia uwierzytelniania OAuth. Uwierzytelnianie OAuth po stronie partnera to przeglądarka internetowa konfiguracji partnera, przeglądarka internetowa OAuth, opcjonalne ustawienia i warunki oraz usługi w chmurze partnera. Infrastruktura partnera zwraca następnie poświadczenia OAuth do aplikacji klienta Asystenta. Usługi chmury partnera wysyłają dostępne urządzenia i możliwości do usług Asystenta, które przechowują informacje w domowym Graph.
Rysunek 1. Interakcje między Google a infrastrukturą partnera

Aby uniknąć odłączania i ponownie łą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 w celu zsynchronizowania listy urządzeń i ich możliwości. Więcej informacji znajdziesz w artykule Wdrażanie synchronizacji żądań.

Schemat blokowy intencji SYNC
Rysunek 2. Instrukcja SYNCHRONIZUJ

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

ZAPYTANIE

Intencjonalne działanie action.devices.QUERY służy do wysyłania zapytań o obecny stan urządzeń smart home.

gdy użytkownicy zadają pytania dotyczące stanu 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 Twojego procesu realizacji.

Schemat przepływu intencji QUERY
Rysunek 3. Cel zapytania

Aby zapewnić użytkownikom jak najlepsze wrażenia, zastosuj raportowanie stanu, aby proaktywnie przekazywać aktualny stan urządzeń użytkownika bezpośrednio do Google Home Graph. Dzięki temu Assistant wie, czy użytkownik włączył inteligentną żarówkę za pomocą fizycznego przełącznika.

Raportowanie stanu urządzenia za pomocą opcji Raport stanu
Rysunek 4. Raportowanie stanu urządzenia

WYKONAJ

Intencją action.devices.EXECUTE jest dostarczanie poleceń do wykonania na urządzeniach smart home.

Gdy użytkownicy wysyłają polecenia do urządzeń z usługą Assistant, usługa otrzymuje od Ciebie action.devices.EXECUTE, który opisuje działanie i urządzenia, na których ma ono 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.

Schemat blokowy intencji EXECUTE
Ilustracja 5. INTENCJA EXECUTE

ODŁĄCZ

Intencjonalne wywołanie action.devices.DISCONNECT informuje, ż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.