Pakiet SDK do domu lokalnego usprawnia integrację inteligentnego domu z Asystentem Google, dodając lokalną ścieżkę realizacji, która kieruje użytkowników do inteligentnych intencji domu.
Pakiet SDK umożliwia pisanie lokalnej aplikacji do realizacji zamówień za pomocą TypeScriptu lub JavaScriptu, która zawiera funkcję inteligentnego domu. Urządzenia Google Home lub Google Nest mogą wczytywać i uruchamiać Twoją aplikację na urządzeniu. Aplikacja komunikuje się bezpośrednio z Twoimi urządzeniami przez Wi-Fi w sieci lokalnej (LAN), aby wykonywać polecenia użytkowników na podstawie istniejących protokołów.
Integracja pakietu SDK zapewnia lepsze działanie inteligentnego domu, takie jak krótsze czasy oczekiwania i większa niezawodność. Lokalna realizacja jest obsługiwana w przypadku wszystkich typów urządzeń i cech ich urządzeń oprócz tych, które korzystają z dodatkowej weryfikacji użytkownika.
Zacznij tworzyć Zobacz przykład
Jak to działa
Gdy otrzymasz odpowiedź SYNC
z Twojej realizacji w chmurze, lokalna platforma lokalna skanuje sieć lokalną użytkownika za pomocą mDNS, transmisji UDP lub UPnP, aby znaleźć inteligentne urządzenia połączone z Asystentem.
Platforma wysyła intencję IDENTIFY
, aby określić, czy można sterować lokalnie urządzeniem, porównując identyfikator urządzenia w odpowiedzi IDENTIFY
z odpowiedziami zwróconymi przez wcześniejszą odpowiedź SYNC
. Jeśli wykryte urządzenie to centrala lub most, platforma wysyła intencję REACHABLE_DEVICES
i traktuje centrum jako urządzenie pośredniczące w celu komunikacji lokalnej.
Po otrzymaniu odpowiedzi potwierdzającej urządzenie lokalne platforma określa lokalną ścieżkę realizacji na urządzeniu Google Home lub Google Nest użytkownika, a następnie przekierowuje polecenia użytkownika do realizacji lokalnego zamówienia.
Gdy użytkownik wywoła działanie inteligentnego domu, które ma lokalną ścieżkę realizacji, Asystent wyśle intencję EXECUTE
lub intencję QUERY
do urządzenia Google Home lub Google Nest, a nie do realizacji w chmurze. Następnie urządzenie uruchomi aplikację służącą do realizacji zamówień, aby zrealizować jej cel.

Platforma lokalna nie określa jednoznacznie, które urządzenie Google Home czy Google Nest ma wywołać polecenie. Intencje EXECUTE
i QUERY
mogą pochodzić z dowolnego urządzenia Google Home lub Google Nest zdefiniowanego w tej samej strukturze Home Graph co urządzenie docelowe.
Lokalna aplikacja do realizacji zamówień
Aplikacja służąca do realizacji zamówień zawiera logikę biznesową, przetwarzającą intencje przesyłane z platformy lokalnej i uzyskując dostęp do urządzenia za pomocą sieci lokalnej. Nie oczekuje się modyfikacji sprzętu w ramach lokalnej realizacji zamówień. Aplikacja realizuje żądania inteligentnego działania, wysyłając polecenia sterowania do inteligentnego urządzenia za pomocą protokołów warstwy aplikacji, takich jak HTTP, TCP lub UDP. Jeśli lokalna ścieżka realizacji zakończy się niepowodzeniem, używana będzie Twoja realizacja w chmurze jako zastępcza ścieżka wykonania.
Pakiet SDK Google Home obsługuje 2 główne klasy:
DeviceManager
: udostępnia metody komunikacji z urządzeniami za pomocą TCP, gniazd UDP lub żądań HTTP.App
: udostępnia metody dołączania modułów obsługi intencji, które Google wysyła po wykryciu urządzeń możliwych do sterowania lokalnie (IDENTIFY
,REACHABLE_DEVICES
). Ta klasa wykonuje też polecenia użytkownika (EXECUTE
) i odpowiada na zapytania użytkowników dotyczące bieżącego stanu urządzenia (QUERY
).
Podczas programowania możesz skompilować i przetestować aplikację, wczytując ją na własnym serwerze hostingowym lub na lokalnym komputerze. W wersji produkcyjnej Google hostuje Twoją aplikację w bezpiecznym środowisku piaskownicy JavaScriptu na urządzeniu Google Home lub Google Nest użytkownika.
Interfejs Report State nie jest obecnie obsługiwany w przypadku lokalnej realizacji zamówień. Google przetwarza te żądania zgodnie z Twoją realizacją w chmurze.
Cykl życia aplikacji
Twoja aplikacja służąca do realizacji zamówień jest wczytywana na żądanie, gdy platforma lokalna wykryje nowe urządzenia lokalne pasujące do konfiguracji skanowania projektu lub czeka na dostarczenie treści powiązanych z wcześniej zidentyfikowanym urządzeniem.
Urządzenia Google Home lub Google Nest mają ograniczoną pamięć, a lokalna aplikacja realizacji zamówień może zostać w dowolnym momencie zamknięta z powodu wykorzystania pamięci systemu. Może się tak zdarzyć, jeśli aplikacja zaczyna zużywać zbyt dużo pamięci albo system potrzebuje miejsca na inną aplikację. Platforma lokalna ponownie uruchamia aplikację tylko wtedy, gdy ma ona nowe zamiary, a jednocześnie wystarczy jej zasobów pamięci do uruchomienia.
Gdy lokalny użytkownik odłączy swoje konto lub gdy przestaną być na nim obsługiwane urządzenia obsługujące stronę lokalną i powiązane z agentUserId
, platforma lokalna wyładuje aplikację po upływie limitu czasu bezczynności.
Obsługiwane urządzenia
Platforma lokalna wykonuje lokalną aplikację do realizacji zamówień na obsługiwanych urządzeniach Google Home lub Google Nest. W tabeli poniżej znajdziesz listę obsługiwanych urządzeń oraz informacje o czasie działania na poszczególnych urządzeniach. Więcej informacji o wymaganiach dotyczących środowiska wykonawczego znajdziesz w artykule o środowisku wykonawczym.
Urządzenie | Typ | Środowisko |
---|---|---|
Google Home | Głośnik | Chrome |
Google Home Mini | Głośnik | Chrome |
Google Home Max | Głośnik | Chrome |
Nest Mini, | Głośnik | Chrome |
Nest Hub | Reklamy displayowe | Chrome |
Nest Hub Max | Reklamy displayowe | Chrome |
Nest Wifi | Router | Node.js |
Punkt | Chrome |
Środowisko wykonywania
Środowisko wykonawcze lokalnej aplikacji do realizacji zamówień zależy od urządzenia. Platforma lokalna obsługuje następujące środowiska wykonawcze:
- Chrome: lokalna aplikacja do realizacji zamówień jest uruchamiana w kontekście przeglądarki Chrome
window
z zainstalowanym systemem Chrome M80 lub nowszym z obsługą wersji ECMAScript ES2018. - Node.js: lokalna aplikacja do realizacji zamówień jest uruchamiana jako skrypt w ramach procesu Node.js korzystającego z węzła v10.x LTS lub nowszego z obsługą wersji ECMAScript ES2018.
Struktura kodu źródłowego
Zalecamy połączenie zależności w jeden plik JavaScript za pomocą konfiguracji pakietów dostępnych w lokalnym pakiecie SDK pakietu Home i spakowanie kodu źródłowego w postaci wywołania funkcji błyskawicznych (IIFE).
Ścieżka implementacji
Aby używać inteligentnego pakietu SDK do domu domowego w ramach integracji inteligentnego domu, musisz wykonać te czynności:
1 | Skonfiguruj konfigurację skanowania | Skonfiguruj w Konsoli Actions niezbędne parametry, które umożliwi Asystentowi wykrywanie urządzeń sterowanych lokalnie. |
2 | Zaktualizuj odpowiedź SYNC w realizacji w chmurze | W realizacji w chmurze zmień moduł obsługi żądania SYNC , aby obsługiwał pole
otherDeviceIds używane przez platformę do utworzenia lokalnej ścieżki realizacji. W tym polu określ identyfikatory urządzeń, które można kontrolować lokalnie.
|
3 | Implementowanie lokalnej aplikacji do realizacji zamówień | Za pomocą pakietu SDK Home Home utwórz aplikację JavaScript do obsługi intencji IDENTIFY ,
EXECUTE i
QUERY . W przypadku urządzeń pośredniczących lub mostowych serwerów proxy musisz też obsłużyć intencję REACHABLE_DEVICES .
|
4 | Testowanie i debugowanie aplikacji | Sprawdź integrację (lub samodzielną certyfikację) za pomocą Google Home Test Suite. |
Zanim zaczniesz
- Zapoznaj się z podstawami tworzenia inteligentnych działań w domu.
- W konsoli Actions sprawdź, czy masz istniejący projekt inteligentnego domu i czy masz skonfigurowane połączenie kont.
- Pamiętaj, aby zalogować się w konsoli Actions i w Asystencie na urządzeniu testowym za pomocą tego samego konta Google.
- Do napisania aplikacji potrzebne jest środowisko Node.js. Aby zainstalować Node.js i npm, zalecamy skorzystanie z Menedżera wersji węzła.
- Aby korzystać z najnowszej wersji pakietu SDK pakietu Home Home, musisz zarejestrować urządzenia testowe w programie przesyłania Cast.