Lokalna realizacja zamówień

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ę.

Ten rysunek pokazuje przepływ wykonania w przypadku lokalnej realizacji. 
            ścieżki wykonywania przechwytuje intencje użytkownika z telefonu za pomocą
            Asystenta Google, intencję użytkownika przetwarza
            w Google Cloud, a następnie jest wykonywane lokalnie na urządzeniu Google Home
            urządzenia, a polecenie jest wysyłane bezpośrednio do centrum urządzeń,
            bezpośrednio na urządzenie. Chmura programisty jest dostępna jako
            awaryjnej chmury Google.
Rysunek 1. Dodawanie lokalnej ścieżki realizacji zamówienia dla inteligentnego domu Akcja.

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:

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