Zalecamy utworzenie lokalnej aplikacji do realizacji zamówień w sposób opisany powyżej, a następnie przetestowanie integracji inteligentnego domu we własnym środowisku hostingowym. Aby to zrobić:
W swoim środowisku hostingowym wyświetl stronę HTML, na której działa lokalna aplikacja do realizacji zamówień. Poniższy fragment kodu zawiera przykład statycznego pliku HTML, na którym działa lokalna aplikacja do realizacji zamówień.
<html> <head> <!-- Local Home SDK --> <script src="//www.gstatic.com/eureka/smarthome/smarthome_sdk.js"></script> <!-- Local app under development --> <script src="local_execution.js"></script> </head> </html>
Debuguj z Chrome Użyj punktów przerwania i logów do rozwiązywania problemów z integracją.
Zmodyfikuj i skompiluj kod TypeScript, a następnie powtórz te czynności.
Powtarzając ten proces kompilacji i testowania, możesz szybciej i łatwiej dostrzegać i debugować zmiany wprowadzone w kodzie.
Sterowanie urządzeniem testowym
W konsoli działań musisz podać adres URL aplikacji internetowej, która przesyła kod HTML wczytany na urządzeniu Google Home lub Google Nest podczas realizacji lokalnej.
Aby przetestować sterowanie urządzeniami w ramach lokalnej realizacji zamówienia, wykonaj te czynności:
Chrome
- Otwórz projekt Smart Home w Konsoli Actions.
- W menu po lewej stronie kliknij Działania.
- W sekcji Skonfiguruj lokalny pakiet SDK do strony głównej (opcjonalnie) > Wpisz testowy adres URL dla Chrome podaj adres URL serwera programistycznego, który udostępnia kod HTML, na którym działa Twoja lokalna aplikacja do realizacji zamówień.
- Kliknij Zapisz. Rozpowszechnienie przez Google zmian w konsoli może potrwać do 30 minut.
- Zrestartuj urządzenie testowe Google Home lub Google Nest.
- Wydaj polecenie do urządzenia. Jeśli na przykład Twoje urządzenie obsługuje funkcję OnOff, możesz powiedzieć „OK Google, włącz światło”.
Node.js
- Otwórz projekt Smart Home w Konsoli Actions.
- W menu po lewej stronie kliknij Działania.
- W sekcji Skonfiguruj lokalny pakiet SDK dla strony głównej (opcjonalnie) > Wpisz testowy adres URL węzła podaj URL serwera programistycznego, który udostępnia kod JavaScript uruchamiający Twoją lokalną aplikację logiczną.
- Kliknij Zapisz. Rozpowszechnienie przez Google zmian w konsoli może potrwać do 30 minut.
- Zrestartuj urządzenie testowe Google Home lub Google Nest.
- Wydaj polecenie do urządzenia. Jeśli na przykład Twoje urządzenie obsługuje funkcję OnOff, możesz powiedzieć „OK Google, włącz światło”.
Więcej informacji o tym, które środowisko wykonawcze jest używane przez urządzenie, znajdziesz w sekcji Obsługiwane urządzenia.
.Debugowanie z Chrome
Lokalną aplikację realizacji zamówień możesz debugować za pomocą Narzędzi deweloperskich w Chrome. Zanim rozpoczniesz debugowanie, upewnij się, że środowisko jest prawidłowo skonfigurowane:
- Adres URL do programowania masz ustawiony w konsoli na adres, do którego ma dostęp urządzenie Google Home lub Google Nest (w sieci lokalnej albo przez internet).
- Urządzenie jest połączone z tą samą siecią lokalną co urządzenie Google Home lub Google Nest, które testujesz.
- Sieć nie blokuje pakietów między urządzeniami.
- Jesteś zalogowany(-a) na tym samym koncie Google w Konsoli Actions i na urządzeniu Google Home lub Google Nest.
- Zaktualizowaliśmy odpowiedź SYNC w realizacji w chmurze.
Powinien zwrócić co najmniej jedną prawidłową wartość w polu
otherDeviceIds
. - czy w konsoli Actions zostały podane prawidłowe informacje o konfiguracji skanowania.
Aby połączyć lokalną aplikację do realizacji zamówień z debugerem Narzędzi deweloperskich w Chrome, wykonaj te czynności:
Chrome
- Na komputerze lokalnym zainstaluj i uruchom przeglądarkę Google Chrome.
- W polu adresu przeglądarki Chrome uruchom inspektora Chrome, wpisując:
chrome://inspect#devices
. Na stronie powinna się wyświetlać lista urządzeń. Plik HTML powinien znajdować się pod nazwą testowego urządzenia Google Home lub Google Nest. - Kliknij niebieski link inspekcji pod kodem HTML, aby uruchomić Narzędzia deweloperskie w Chrome. Przejdź na kartę Console (Konsola). Platforma Local Home w dzienniku konsoli podaje wersję aplikacji i wersję pakietu SDK Local Home. Jeśli widzisz ten dziennik, oznacza to, że aplikacja została wczytana przez Google i może się z nią połączyć. Jeśli nie, zrestartuj urządzenie Google Home lub Google Nest.
Node.js
- Na komputerze lokalnym zainstaluj i uruchom przeglądarkę Google Chrome.
- Określ lokalny adres IP urządzenia testowego.
- W polu adresu przeglądarki Chrome uruchom inspektora Chrome, wpisując:
chrome://inspect#devices
. - Kliknij Skonfiguruj..., aby otworzyć Ustawienia wykrywania celów.
- Wpisz na liście
DEVICE_IP_ADDRESS:9222
i kliknij Gotowe. - Kliknij niebieski link inspekcji pod skryptem, aby uruchomić Narzędzia deweloperskie w Chrome. Przejdź na kartę Console (Konsola). Platforma Local Home w dzienniku konsoli podaje wersję aplikacji i wersję pakietu SDK Local Home. Jeśli widzisz ten dziennik, oznacza to, że aplikacja została wczytana przez Google i może się z nią połączyć. Jeśli nie, zrestartuj urządzenie Google Home lub Google Nest.
Więcej informacji o środowisku wykonawczym używanym przez urządzenie znajdziesz w sekcji Obsługiwane urządzenia.
Wskazówki dotyczące debugowania
Podczas debugowania pamiętaj o tych kwestiach:
- Nie łącz wielu urządzeń Google Home lub Google Nest z kontem testowym w tej samej sieci lokalnej. Za pomocą lokalnych poleceń realizacji zamówień nie będziesz mieć możliwości kontrolowania, na które urządzenia Google Home lub Google Nest mają być kierowane reklamy.
- Odśwież stronę w Narzędziach deweloperskich w Chrome, aby ponownie załadować lokalny kontener aplikacji do realizacji zamówień za pomocą najnowszego kodu z adresu URL dla programistów. Nie powoduje to zresetowania platformy Local Home, co może być konieczne do ponownego aktywowania intencji platformy (np.
IDENTIFY
) w lokalnej aplikacji do realizacji zamówień. Aby zresetować platformę Local Home, uruchom ponownie urządzenie Google Home lub Google Nest. - Sprawdź, czy aplikacja JavaScript wczytuje się bez błędów. W tym celu otwórz sekcję konsoli na stronie Narzędzi deweloperskich. Jeśli wystąpi problem, zobaczysz taki komunikat:
Uncaught TypeError: Cannot read property ‘open’ of null.
- Element
verificationId
w odpowiedziIDENTIFY
musi być zgodny z jednym ze wszystkich elementówotherDeviceIds
w odpowiedziSYNC
. - W przypadku modułu obsługi
EXECUTE
sprawdź, czy polecenia HTTP, TCP i UDP mogą być odbierane przez urządzenie i działają zgodnie z oczekiwaniami. - Pamiętaj, aby zwrócić
Promise
z modułów obsługi. - Unikaj utrzymywania stanu globalnego w pamięci. Zobacz Cykl życia aplikacji.
- Błędy zgłoszone przez lokalną aplikację do realizacji zamówień pojawią się w logach błędów projektu.
Przygotowywanie i wprowadzanie aplikacji na ścieżkę produkcyjną
Gdy wszystko będzie gotowe do uruchomienia działania inteligentnego domu, wykonaj te czynności:
- Otwórz terminal. W katalogu projektu uruchom polecenie
npm run build
. To polecenie wygeneruje następujące pakiety JavaScript dla aplikacji w katalogudist
:project-directory/ └── dist ├── web │ └── bundle.js └── node └── bundle.js
- Prześlij w konsoli aplikację JavaScript, klikając Programowanie > Działania. W sekcji Skonfiguruj pakiet SDK aplikacji lokalnej kliknij Prześlij pliki JavaScript.
- W oknie Prześlij pliki prześlij wygenerowane wcześniej pliki pakietu. Prześlij obie wersje plików pakietu (węzeł i sieć), tak aby akcja została skonfigurowana do prawidłowego działania we wszystkich środowiskach wykonawczych obsługiwanych przez lokalną realizację.
- Prześlij plik JavaScript kierowany na Node.js: prześlij plik
bundle.js
z katalogudist/node
. - Prześlij plik JavaScript kierowany na Chrome (przeglądarkę): prześlij plik
bundle.js
z katalogudist/web
.
- Prześlij plik JavaScript kierowany na Node.js: prześlij plik
- Przetestuj akcję na urządzeniu z Asystentem, aby sprawdzić, czy działa zgodnie z oczekiwaniami w środowisku produkcyjnym. Więcej informacji znajdziesz w artykule Testowanie i udostępnianie działania inteligentnego domu.
- Jeśli działanie jest zadowalające, prześlij je do Google w celu wdrożenia produkcyjnego, wykonując czynności opisane w artykule Uruchamianie działania w inteligentnym domu. Obejmuje to samodzielne sprawdzenie aplikacji i złożenie wniosku o certyfikat.