Pakiet SDK Local Home SDK usprawnia integrację inteligentnego domu z Google Asystent przez dodanie do trasy lokalnej ścieżki realizacji intencje inteligentnego domu.
SDK umożliwia pisanie lokalnej aplikacji do realizacji zamówień za pomocą języka TypeScript lub JavaScript, który zawiera Twoją logikę biznesową w inteligentnym domu. Urządzenia Google Home i Google Nest mogą wczytywać się i uruchamiać aplikację na urządzeniu. Aplikacja komunikuje się bezpośrednio z dotychczasowymi przez Wi-Fi w sieci lokalnej (LAN) w celu wykonywania poleceń użytkownika. w porównaniu z istniejącymi protokołami.
Integracja pakietu SDK poprawia wydajność inteligentnego domu Działanie, w tym krótszy czas oczekiwania i większa niezawodność. Lokalna realizacja zamówień to obsługiwane w przypadku wszystkich typów urządzeń i ich cech, z wyjątkiem tych, użytkownik dodatkowy weryfikacji.
Zacznij tworzyć Wypróbuj fragment
Jak to działa
Po otrzymaniu odpowiedzi SYNC
z realizacji w chmurze, platforma Local Home skanuje
w lokalnej sieci mDNS, transmisji UDP lub UPnP,
urządzeń połączonych z Asystentem.
Platforma wysyła intencję IDENTIFY
, aby określić, czy urządzenie
sterowane lokalnie, przez porównanie identyfikatora urządzenia w odpowiedzi IDENTIFY
do tych zwróconych w poprzedniej odpowiedzi SYNC
. Jeśli wykryte urządzenie to
lub mostu, platforma wysyła intencję REACHABLE_DEVICES
i traktuje
jako urządzenie proxy do lokalnej komunikacji.
Po otrzymaniu odpowiedzi z potwierdzeniem użycia urządzenia lokalnego platforma łączy się lokalną ścieżkę realizacji zamówienia do urządzenia Google Home lub Google Nest użytkownika, a następnie kieruje poleceń użytkownika w przypadku realizacji lokalnej.
Gdy użytkownik wywoła działanie inteligentnego domu, które ma lokalną ścieżkę realizacji,
Asystent wysyła: EXECUTE
lub intencji QUERY
do
Google Home lub Google Nest, a nie realizację usług w chmurze. Następnie urządzenie
uruchamia lokalną aplikację realizacji zamówień, aby przetworzyć intencję.
Platforma Local Home nie decyduje o tym, które urządzenie Google Home czy Google Nest ma zastosować
i uruchomić polecenie. Intencje EXECUTE
i QUERY
mogą pochodzić z dowolnego miejsca
Urządzenie Google Home lub Google Nest zdefiniowane w tym samym Home Graph
jako urządzenie docelowe.
Aplikacja do lokalnej realizacji zamówień
Lokalna aplikacja do realizacji zamówień zawiera logikę biznesową umożliwiającą przetwarzanie intencji wysłanych przez z platformy Lokalna strona główna i uzyskać dostęp do urządzenia przez sieć lokalną. Nie przewidujemy żadnych modyfikacji sprzętu, które uniemożliwią realizację lokalnej realizacji zamówień. realizuje żądania akcji inteligentnego domu, wysyłając polecenia sterujące do urządzeń mobilnych za pomocą protokołów warstwy aplikacji, w tym HTTP, TCP lub UDP. Jeśli lokalna ścieżka realizacji się nie powiedzie, wykorzystywana jest realizacja w chmurze jako zastępczej ścieżki wykonania.
Aby ułatwić tworzenie aplikacji, pakiet SDK Local Home SDK udostępnia 2 podstawowe zajęcia:
DeviceManager
: Udostępnia metody komunikowania się z urządzeniami za pomocą TCP, UDP lub żądania HTTP.App
: Udostępnia metody dołączania modułów obsługi do intencji wysyłanych przez Google po wykryciu urządzeń sterowanych lokalnie (IDENTIFY
,REACHABLE_DEVICES
). Ta klasa wykonuje też polecenia użytkownika (EXECUTE
) oraz odpowiada na pytania użytkowników dotyczące bieżącego stanu urządzenia (QUERY
).
W trakcie programowania możesz kompilować i testować aplikację, wczytując ją samodzielnie. serwera hostującego lub komputera lokalnego. W wersji produkcyjnej Google hostuje: w bezpiecznej piaskownicy JavaScript na urządzeniu Google Home lub Google Nest użytkownika.
Interfejs API Report State (Stan raportu) to nie jest obecnie obsługiwana w przypadku realizacji lokalnej. Działanie Google zależy od do przetwarzania tych żądań w chmurze.
Cykl życia aplikacji
Aplikacja do lokalnej realizacji zamówień wczytuje się na żądanie, gdy platforma Local Home wykryje nowe urządzenia lokalne pasujące do konfiguracji skanowania projektu lub oczekujące Z myślą o dostarczaniu treści związanych ze zidentyfikowanym wcześniej urządzeniem.
Urządzenia Google Home i Google Nest mają ograniczoną pamięć, a lokalna aplikacja do realizacji zamówień może zostać przerwane w dowolnym momencie z powodu zapotrzebowania na pamięć w systemie. Może to spowodować gdy aplikacja zaczyna zużywać zbyt dużo pamięci lub gdy system zrobić miejsce na inną aplikację. Platforma Local Home uruchamia aplikację ponownie tylko wtedy, gdy pojawią się nowe intencje dostarczania i wystarczającej ilości zasobów pamięci do uruchomienia aplikacji.
Platforma Local Home wyładuje aplikację po upłynięciu czasu bezczynności, gdy użytkownik
odłączy swoje konto lub nie będą już dostępne urządzenia z obsługą danych lokalnych,
realizacja powiązana z agentUserId
użytkownika.
Obsługiwane urządzenia
Platforma Local Home uruchamia Twoją lokalną aplikację do realizacji zamówień na obsługiwanych urządzeniach urządzeń Google Home lub Google Nest. W poniższej tabeli opisano obsługiwane urządzenia oraz środowiska wykonawczego wykorzystywanego na każdym urządzeniu. Więcej informacji o wymaganiach dotyczących środowiska wykonawczego znajdziesz w artykule Środowisko wykonawcze.
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 | Sieć reklamowa | Chrome |
Nest Hub Max | Sieć reklamowa | Chrome |
Nest Wifi | Router | Node.js |
Punkt | Chrome |
Środowisko wykonawcze
Środowisko wykonawcze lokalnej aplikacji do realizacji zależy od device. Platforma Lokalna strona główna obsługuje te środowiska wykonawczego:
- Chrome: lokalna aplikacja do realizacji zamówień jest wykonywana w kontekście Chrome.
przeglądarka
window
z systemem Chrome M80 lub nowszej z obsługą ECMAScript w wersji ES2018. - Node.js lokalna aplikacja do realizacji jest wykonywana jako skrypt w środowisku Node.js. proces z uruchomionym Node v10.x LTS lub nowszej z obsługą ECMAScript w wersji ES2018.
Struktura kodu źródłowego
Zalecamy umieszczenie zależności w jednym pliku JavaScript za pomocą metody konfiguracji pakietów odbiorców dzięki pakietowi SDK Local Home i spakowaniem kodu źródłowego Natychmiastowo wywoływane wyrażenie funkcji (IIFE).
Ścieżka implementacji
Aby korzystać z pakietu SDK Local Home SDK do integracji inteligentnego domu, musisz: wykonaj te czynności:
1 | Konfigurowanie skanowania config | Skonfiguruj w Konsoli Actions parametry niezbędne do zastosowania do wykrywania urządzeń, które można kontrolować lokalnie. |
2 | Zaktualizuj SYNCHRONIZACJA odpowiedzi w ramach realizacji w chmurze | W usłudze Cloud fulfillment zmodyfikuj
SYNC
moduł obsługi żądań do obsługi
otherDeviceIds , które wykorzystuje platforma do ustanawiania
lokalnej ścieżki realizacji. W tym polu podaj identyfikatory urządzeń, których można używać
kontrolowane lokalnie.
|
3 | Wdróż aplikacja do lokalnej realizacji zamówień | Użyj pakietu SDK Local Home SDK, aby utworzyć aplikację JavaScript, aby
obsługuje: IDENTIFY ,
Intencje
EXECUTE i
QUERY . W przypadku urządzeń centralnych lub mostkowych należy:
obsługuje też intencję REACHABLE_DEVICES .
|
4 | Testowanie i debugowanie aplikacji | Przetestuj integrację (lub samodzielnie certyfikuj), korzystając z Google Home Test Suite. |
Zanim zaczniesz
- Poznaj podstawy tworzenia inteligentnego domu Action (Działanie).
- W menu Działania konsola, marka Sprawdź, czy masz już projekt inteligentnego domu, a łączenie kont jest skonfigurowany.
- Upewnij się, że logujesz się na to samo konto Google na stronie w Konsoli Actions i w Asystencie na urządzeniu testowym.
- Potrzebujesz środowiska Node.js środowiska programistycznego. Aby zainstalować Node.js i npm, wersja węzła Menedżer .
- Aby korzystać z najnowszej wersji pakietu SDK Local Home SDK, musisz wykonać te czynności: rejestrowanie urządzeń testowych w podglądzie Cast, Program.