Pakiet SDK urządzenia Home Home usprawnia integrację inteligentnego domu z Asystentem Google, dodając lokalną ścieżkę realizacji, do której będą kierowane intencje inteligentnego domu.
Pakiet SDK umożliwia napisanie lokalnej aplikacji do realizacji zamówień za pomocą JavaScriptu lub JavaScriptu, która zawiera Twoją logikę biznesową. Urządzenia Google Home lub Google Nest mogą wczytywać i uruchamiać Twoją aplikację na urządzeniu. Aplikacja komunikuje się bezpośrednio z dotychczasowymi urządzeniami przez Wi-Fi w sieci lokalnej (LAN), aby wykonywać polecenia użytkowników za pomocą istniejących protokołów.
Integracja pakietu SDK zapewnia lepsze działanie inteligentnej aplikacji domowej, w tym krótszy czas oczekiwania i większą niezawodność. Lokalna realizacja zamówień jest obsługiwana przez wszystkie typy i cechy urządzenia, z wyjątkiem tych, które korzystają z dodatkowej weryfikacji użytkownika.
Zacznij tworzyć Wypróbuj przykład
Jak to działa
Po otrzymaniu odpowiedzi SYNC
z możliwości realizacji transakcji w chmurze platforma lokalna skanuje sieć lokalną użytkownika za pomocą mDNS, transmisji UDP lub UPnP, aby wykryć inteligentne urządzenia połączone z Asystentem.
Platforma wysyła intencję IDENTIFY
, aby określić, czy można sterować urządzeniem lokalnie, porównując identyfikator urządzenia w odpowiedzi IDENTIFY
z tymi zwróconymi przez wcześniejszą odpowiedź SYNC
. Jeśli wykryte urządzenie to centrum lub most, platforma wysyła intencję REACHABLE_DEVICES
i traktuje urządzenie jak serwer proxy do komunikacji lokalnej.
Po otrzymaniu odpowiedzi z potwierdzeniem urządzenie lokalne tworzy lokalną ścieżkę realizacji zamówienia na urządzeniu Google Home lub Google Nest użytkownika, a następnie kieruje polecenia użytkownika na potrzeby lokalnej realizacji.
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 zamiast realizacji w chmurze. Następnie na urządzeniu uruchamia się lokalna aplikacja do realizacji transakcji w celu przetworzenia intencji.

Platforma Home Home nie określa jednoznacznie, które urządzenie Google Home czy Google Nest ma aktywować 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 do realizacji zamówień zawiera logikę biznesową, aby przetworzyć intencje wysłane przez platformę Local Home i uzyskać dostęp do urządzenia przez sieć lokalną. Nie przewiduje się wprowadzenia modyfikacji sprzętu do integracji lokalnej realizacji zamówień. Aplikacja realizuje żądania inteligentnego domu, wysyłając polecenia sterujące do inteligentnego urządzenia za pomocą protokołów warstwy aplikacji, takich jak HTTP, TCP czy UDP. Jeśli lokalna ścieżka realizacji nie powiedzie się, realizacja w chmurze będzie używana jako zastępcza ścieżka wykonania.
Aby ułatwić tworzenie aplikacji, pakiet SDK Home Home zawiera 2 główne klasy:
DeviceManager
: zapewnia metody komunikacji z urządzeniami za pomocą TCP, gniazd UDP i żądań HTTP.App
: udostępnia metody podłączania modułów obsługi intencji, które Google wysyła po wykryciu urządzeń, którymi można sterować lokalnie (IDENTIFY
,REACHABLE_DEVICES
). Ta klasa wykonuje też polecenia użytkowników (EXECUTE
) i odpowiada na zapytania użytkowników dotyczące bieżącego stanu urządzenia (QUERY
).
Podczas programowania możesz skompilować i przetestować aplikację, ładując ją na własnym serwerze hostingowym lub lokalnym komputerze. W wersji produkcyjnej Google hostuje Twoją aplikację w bezpiecznym środowisku piaskownicy JavaScript na urządzeniu Google Home lub Google Nest użytkownika.
Interfejs Report State API nie jest obecnie obsługiwany w przypadku lokalnej realizacji zamówień. Do przetwarzania tych żądań Google wykorzystuje realizację zamówień w chmurze.
Cykl życia aplikacji
Aplikacja do realizacji zadań lokalnych jest wczytywana na żądanie, gdy platforma lokalna wykrywa nowe urządzenia lokalne pasujące do konfiguracji skanowania projektu lub oczekuje na dostarczenie powiązanych z wcześniej zidentyfikowanym urządzeniem.
Urządzenia Google Home lub Google Nest mają ograniczony dostęp do pamięci, a Twoja lokalna aplikacja do realizacji zamówień może zostać zamknięta w każdej chwili z powodu presji pamięci w systemie. Może się tak zdarzyć, gdy aplikacja zacznie wykorzystywać zbyt dużo pamięci lub system będzie chciał zrobić miejsce na inną aplikację. Platforma lokalna uruchamia aplikację ponownie tylko wtedy, gdy pojawią się nowe intencje potrzebne do jej uruchomienia i ma ona wystarczająco dużo zasobów pamięci.
Gdy użytkownik odłączy swoje konto lub gdy w aplikacji agentUserId
nie ma już urządzeń obsługujących lokalną realizację zamówień, platforma Google Home wyładuje aplikację po przekroczeniu limitu czasu bezczynności.
Obsługiwane urządzenia
Platforma lokalna wykonuje aplikację do realizacji zamówień na obsługiwanych urządzeniach Google Home lub Google Nest. Tabela poniżej zawiera informacje na temat obsługiwanych urządzeń i czasu ich działania. Więcej informacji o wymaganiach dotyczących środowiska wykonawczego znajdziesz w artykule Środowisko wykonywania.
Urządzenie | Typ | Środowisko |
---|---|---|
Google Home | Głośnik | Google Chrome |
Google Home Mini | Głośnik | Google Chrome |
Google Home Max | Głośnik | Google Chrome |
Nest Mini | Głośnik | Google Chrome |
Nest Hub | Wyświetlacz | Google Chrome |
Nest Hub Max | Wyświetlacz | Google Chrome |
Nest Wifi | Router | Node.js |
Punkt | Google 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:
- Node.js: lokalna aplikacja do realizacji zamówień jest uruchamiana jako skrypt w procesie Node.js uruchomionym w Node. 10.x LTS lub nowszym z obsługą wersji ECMAScript ES2018.
Struktura kodu źródłowego
Zalecamy połączenie zależności w jeden plik JavaScript za pomocą konfiguracji pakietu udostępnionego przez pakiet SDK pakietu Home Home i spakowanie kodu źródłowego jako wywołania funkcji natychmiastowego wywołania (IIFE).
Ścieżka implementacji
Aby korzystać z pakietu SDK Home Home do integracji z inteligentnym domem, musisz wykonać te czynności:
1 | Skonfiguruj skanowanie | Skonfiguruj w Konsoli Actions niezbędne parametry, które umożliwi Asystentowi wykrywanie urządzeń sterowanych lokalnie. |
2 | Zaktualizuj odpowiedź SYNC w ramach realizacji w chmurze | W realizacji zamówień w chmurze zmodyfikuj moduł obsługi żądania SYNC , aby obsługiwał pole
otherDeviceIds używane przez platformę do ustanowienia lokalnej ścieżki realizacji. W tym polu określ identyfikatory urządzeń, którymi można sterować lokalnie.
|
3 | Implementowanie lokalnej aplikacji do realizacji zamówień | Aby utworzyć aplikację JavaScript do obsługi intencji IDENTIFY ,
EXECUTE i
QUERY , użyj pakietu SDK pakietu SDK do domu. W przypadku urządzeń pośredniczących lub mostków pośredniczących należy też obsługiwać intencję REACHABLE_DEVICES .
|
4 | Testowanie i debugowanie aplikacji | Sprawdź integrację (lub samodzielnie oceń) za pomocą Google Home Test Suite. |
Zanim zaczniesz
- Zapoznaj się z podstawami tworzenia akcji inteligentnego domu.
- W Konsoli Actions sprawdź, czy masz już inteligentny projekt domowy i czy połączenie kont jest skonfigurowane.
- Pamiętaj, aby zalogować się w Konsoli Actions i w Asystencie na tym samym koncie Google na urządzeniu testowym.
- Aby napisać aplikację, musisz mieć środowisko Node.js. Aby zainstalować Node.js i npm, zalecamy Menedżera wersji węzłów.
- Aby korzystać z najnowszej wersji pakietu SDK pakietu SDK Home, musisz zarejestrować urządzenia testowe w programie przesyłania Cast.