Witamy w Google Home Developer Center – nowym miejscu, gdzie możesz dowiedzieć się, jak tworzyć inteligentne działania domowe. Uwaga: nadal będziesz tworzyć działania w konsoli Actions.

Przeznaczenie

Intencje inteligentnego domu to proste obiekty komunikacyjne, które opisują działanie smart home, takie jak włączenie światła lub przesyłanie dźwięku na głośnik.

Wszystkie intencje smart home znajdują się w przestrzeni nazw action.devices i musisz je zrealizować. Za każdym razem, gdy element Google Assistant wysyła intencję do realizacji, w nagłówku autoryzacji jest przekazywany token dostępu OAuth 2 innej firmy.

Oto intencje smart home obsługiwane:

SYNC

Intencja action.devices.SYNC służy do wysyłania próśb o listę urządzeń smart home połączonych przez użytkownika i których można używać.

Gdy użytkownik skonfiguruje swoje urządzenia z Google Home app (GHA), także zostanie uwierzytelniony w Twojej infrastrukturze w chmurze. Następnie Assistant otrzymuje token OAuth2. Na tym etapie Assistant wysyła intencję action.devices.SYNC do Twojej realizacji, aby pobrać początkową listę urządzeń i możliwości użytkowników z Twojej infrastruktury chmurowej.

Ta ilustracja przedstawia interakcję między infrastrukturą Google i infrastrukturą partnera. W infrastrukturze Google znajduje się lista partnerów, którzy mają dostęp do aplikacji klienckiej Asystenta, a potem następuje przejście do infrastruktury partnera, aby umożliwić uwierzytelnianie OAuth. Uwierzytelnianie OAuth po stronie partnera obejmuje komponent WebView partnera, komponent WebView protokołu OAuth, opcjonalne ustawienia i warunki oraz usługi w chmurze partnera. Następnie infrastruktura partnera zwraca dane logowania OAuth do aplikacji klienckiej Asystenta. Usługi w chmurze partnera wysyłają do usług Asystenta dostępne urządzenia i możliwości, które następnie zapisują informacje na głównym wykresie.
Ilustracja 1. Interakcja między Google a infrastrukturą Partner

Aby uniknąć rozłączenia i ponownego połączenia konta użytkownika, możesz wysłać prośbę o synchronizację na konto Assistant. Spowoduje to wysłanie do realizacji intencji action.devices.SYNC, aby zsynchronizować listę urządzeń i funkcji. Więcej informacji znajdziesz w artykule Implementowanie synchronizacji żądań.

Schemat blokowy intencji SYNC
Rysunek 2. Intencja SYNC

Podczas konfiguracji lokalnej realizacji platforma Google Home sprawdza odpowiedź SYNC z realizacji akcji w chmurze akcji smart home. Więcej informacji o zmienianiu odpowiedzi SYNC na obsługę lokalnej realizacji zamówień znajdziesz w artykule Aktualizowanie odpowiedzi SYNC w realizacji w chmurze.

ZAPYTANIE

Intencja action.devices.QUERY jest używana do wysyłania zapytań dotyczących bieżącego stanu urządzeń smart home.

Gdy użytkownicy sprawdzają stan urządzenia, aby znaleźć odpowiedź na pytanie takie jak OK Google, jakie światła w kuchni są włączone?. Assistant wysyła intencję action.devices.QUERY do Twojej realizacji.

Schemat blokowy intencji QUERY
Rysunek 3. Intencja QUERY

Aby wszystko działało jak najlepiej, musisz wdrożyć stan raportowania, aby aktywnie przekazywać informacje o bieżącym stanie urządzeń użytkowników bezpośrednio do Google Home Graph. Dzięki temu Assistant może na przykład sprawdzić, czy użytkownik włączył inteligentne oświetlenie z przełącznikiem światła.

Raportowanie stanu urządzenia przy użyciu stanu raportu
Rysunek 4. Raportowanie stanu urządzenia

WYKONAJ

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

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

Schemat blokowy intencji EXECUTE
Rysunek 5. ZALECANY WYKONAWCA

ODŁĄCZ

Intencja action.devices.DISCONNECT jest powiadamiana, gdy użytkownik odłączył konto aplikacji od konta Assistant. Po odebraniu intencji action.devices.DISCONNECT nie należy zgłaszać stanu urządzeń tego użytkownika.