Witamy w Google Home Developer Center – nowym miejscu, z którego dowiesz się, jak tworzyć inteligentne działania domowe. Uwaga: nadal będziesz tworzyć działania w konsoli Actions.

Realizacja zamówień lokalnych

Zadbaj o dobrą organizację dzięki kolekcji Zapisuj i kategoryzuj treści zgodnie ze swoimi preferencjami.

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.

Ta ilustracja przedstawia proces wykonywania lokalnej realizacji zamówień. Ścieżka działania rejestruje intencję użytkownika z telefonu z Asystentem Google. Następnie intencja użytkownika jest przetwarzana przez Google Cloud i realizowana lokalnie na urządzeniu Google Home. Polecenie jest wysyłane bezpośrednio do centrum urządzeń lub bezpośrednio do urządzenia. Chmura dewelopera jest dostępna jako awaryjna chmura.
Ilustracja 1. Dodawanie lokalnej ścieżki realizacji dla działania inteligentnego domu

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:

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