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.

Testowanie i debugowanie aplikacji

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

Zalecamy utworzenie lokalnej aplikacji do realizacji zamówień w sposób opisany powyżej, a potem przetestowanie integracji inteligentnego domu z własnym środowiskiem hostingowym. W tym celu:

  1. We własnym środowisku hostingowym wyświetlaj stronę HTML, na której działa lokalna aplikacja realizacji zamówień. Ten fragment kodu zawiera przykład statycznego pliku HTML, na którym działa Twoja 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>
    
    
  2. Testowanie sterowania urządzeniem

  3. Debuguj z Chrome. Używaj punktów przerwania i logów do rozwiązywania problemów z integracją.

  4. Zmodyfikuj i skompiluj kod TypeScript, a następnie powtórz powyższe czynności.

Powtarzając proces kompilacji i testowania, możesz szybko wprowadzić zmiany w działaniu oraz łatwiej wykrywać i debugować problemy z kodem.

Testowanie sterowania urządzeniem

W Konsoli Actions musisz podać adres URL aplikacji internetowej obsługującej kod HTML, który jest wczytywany na urządzeniu Google Home lub Google Nest podczas lokalnej realizacji.

Aby przetestować sterowanie urządzeniami za pomocą lokalnej realizacji, wykonaj te czynności:

Google Chrome

  1. Otwórz projekt Smart Home w konsoli Actions.
  2. W panelu nawigacyjnym po lewej stronie kliknij Czynności.
  3. W sekcji Skonfiguruj lokalny pakiet SDK (opcjonalny) > Wpisz testowy adres URL dla Chrome, podaj adres URL serwera programisty, który obsługuje kod HTML służący do uruchamiania lokalnej aplikacji do realizacji zamówień.
  4. Kliknij Zapisz. Rozpowszechnienie zmian w konsoli może zająć Google do 30 minut.
  5. Zrestartuj urządzenie Google Home lub Google Nest w trybie testowym.
  6. Wydaj polecenie na urządzeniu. Jeśli na przykład Twoje urządzenie korzysta z funkcji OnOff, możesz powiedzieć „OK Google, włącz światło”.

Node.js

  1. Otwórz projekt Smart Home w konsoli Actions.
  2. W panelu nawigacyjnym po lewej stronie kliknij Czynności.
  3. W sekcji Skonfiguruj lokalny pakiet SDK (opcjonalny) > Wpisz testowy URL dla węzła podaj adres URL serwera programistycznego obsługującego JavaScript, który obsługuje Twoją lokalną aplikację.
  4. Kliknij Zapisz. Rozpowszechnienie zmian w konsoli może zająć Google do 30 minut.
  5. Zrestartuj urządzenie Google Home lub Google Nest w trybie testowym.
  6. Wydaj polecenie na urządzeniu. Jeśli na przykład Twoje urządzenie korzysta z funkcji 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

Możesz debugować lokalną aplikację do realizacji zamówień, korzystając z Narzędzi deweloperskich w Chrome. Przed debugowaniem sprawdź, czy środowisko jest prawidłowo skonfigurowane:

  • Adres URL programowania w konsoli jest ustawiony na adres URL dostępny na urządzeniu Google Home lub Google Nest (w sieci lokalnej lub przez internet).
  • Twój komputer jest połączony z tą samą siecią lokalną co urządzenie Google Home lub Google Nest, które testujesz.
  • Twoja sieć nie blokuje pakietów między urządzeniami.
  • W Konsoli Actions i na urządzeniu Google Home lub Google Nest logujesz się na to samo konto Google.
  • Zaktualizowaliśmy odpowiedź SYNC w Twojej usłudze chmurowej. Powinna zwracać co najmniej 1 prawidłową wartość w polu otherDeviceIds.
  • Wpisano prawidłowe informacje o konfiguracji skanowania w konsoli Actions.

Aby połączyć lokalną aplikację realizacji zamówień z debugerem Chrome DevTools:

Google Chrome

  1. Zainstaluj i uruchom przeglądarkę Google Chrome na komputerze lokalnym.
  2. W polu adresu przeglądarki Chrome uruchom inspektora, wpisując: chrome://inspect#devices. Powinna wyświetlić się lista urządzeń, a plik HTML powinien być widoczny pod nazwą testowego urządzenia Google Home lub Google Nest.
  3. Kliknij niebieski link inspekcji pod kodem HTML, aby uruchomić Chrome DevTools. Otwórz kartę Konsola. Platforma Local Home publikuje w aplikacji konsolę i wersję aplikacji oraz wersję pakietu SDK Home Home. Jeśli widzisz dziennik, oznacza to, że Google udało się załadować aplikację i może się z nią połączyć. Jeśli nie, uruchom ponownie urządzenie Google Home lub Google Nest.
  4. Ilustracja 1. Lokalna aplikacja do realizacji zamówień na chrome://inspect

Node.js

  1. Zainstaluj i uruchom przeglądarkę Google Chrome na komputerze lokalnym.
  2. Określ lokalny adres IP urządzenia testowego.
  3. W polu adresu przeglądarki Chrome uruchom inspektora, wpisując: chrome://inspect#devices.
  4. Kliknij Skonfiguruj..., aby otworzyć ustawienia docelowego wykrywania.
  5. Ilustracja 2. Kierowanie na ustawienia wykrywania w chrome://inspect
  6. Wpisz DEVICE_IP_ADDRESS:9222 na liście i kliknij Gotowe.
  7. Kliknij niebieski link inspekcji pod skryptem, aby uruchomić Narzędzia deweloperskie w Chrome. Otwórz kartę Konsola. Platforma Local Home publikuje w aplikacji konsolę i wersję aplikacji oraz wersję pakietu SDK Home Home. Jeśli widzisz dziennik, oznacza to, że Google udało się załadować aplikację i może się z nią połączyć. Jeśli nie, uruchom ponownie urządzenie Google Home lub Google Nest.

Aby dowiedzieć się, które środowisko wykonawcze jest używane przez urządzenie, zobacz Obsługiwane urządzenia.

Wskazówki na temat debugowania

Podczas debugowania pamiętaj o tych dodatkowych kwestiach:

  • Nie podłączaj kilku urządzeń Google Home ani Google Nest do konta testowego w tej samej sieci lokalnej. Nie będziesz mieć wpływu na to, na które urządzenia Google Home lub Google Nest kierowane są reklamy, za pomocą lokalnych poleceń realizacji.
  • Odśwież stronę w Narzędziach deweloperskich w Chrome, aby ponownie wczytać kontener lokalnej aplikacji do realizacji zamówień z najnowszym kodem z adresu URL programowania. Nie zresetuje to platformy lokalnej, co może być konieczne do ponownego wywołania intencji platformy (np. IDENTIFY) w lokalnej aplikacji do realizacji zamówień. Aby zresetować lokalną platformę Home, zrestartuj urządzenie Google Home lub Google Nest.
  • Sprawdź, czy aplikacja JavaScript wczytuje się bez błędów. Aby to zrobić, przejdź do sekcji konsoli strony narzędzi dla deweloperów. W przypadku problemów zobaczysz komunikat podobny do tego: Uncaught TypeError: Cannot read property ‘open’ of null.
  • verificationId z odpowiedzi IDENTIFY musi pasować do jednego z otherDeviceIds w odpowiedzi SYNC.
  • W przypadku modułu obsługi EXECUTE sprawdź, czy polecenia HTTP, TCP lub UDP mogą być odbierane przez urządzenie i czy działają zgodnie z oczekiwaniami.
  • Pamiętaj, aby zwrócić Promise z modułów obsługi.
  • Unikaj pozostawiania w pamięci stanu globalnego. Zobacz Cykl życia aplikacji.
  • Błędy zgłoszone przez lokalną aplikację do realizacji zamówień pojawią się w dziennikach błędów projektu.

Przygotowywanie i uruchamianie w środowisku produkcyjnym

Gdy wszystko będzie gotowe do uruchomienia inteligentnego działania Home, wykonaj te czynności:

  1. Otwórz terminal. W katalogu projektu uruchom polecenie npm run build. To polecenie generuje w katalogu dist te pakiety JavaScript związane z Twoją aplikacją:
    project-directory/
    └── dist
     ├── web
     │    └── bundle.js
     └── node
          └── bundle.js
    
  2. W konsoli prześlij aplikację JavaScript, klikając Programuj > Działania. W sekcji Skonfiguruj lokalny pakiet SDK Home kliknij Prześlij pliki JavaScript.
    Ilustracja 3. Prześlij aplikację JavaScript
  3. W oknie Przesyłanie plików prześlij wygenerowane wcześniej pakiety pakietów. Prześlij obie wersje pakietu (węzeł, sieć), aby umożliwić prawidłowe działanie akcji we wszystkich środowiskach wykonawczych obsługiwanych przez lokalną realizację.
    1. Prześlij kod JavaScript do kierowania na środowisko Node.js: prześlij plik bundle.js z katalogu dist/node.
    2. Prześlij kod JavaScriptu kierowany na Chrome (przeglądarka): prześlij plik bundle.js z katalogu dist/web.
  4. Przetestuj akcję na urządzeniu z Asystentem, aby sprawdzić, czy działa ona zgodnie z oczekiwaniami w środowisku produkcyjnym. Więcej informacji znajdziesz w artykule Testowanie i udostępnianie działania inteligentnego domu.
  5. Jeśli działanie jest zadowalające, prześlij je do Google do wdrożenia w środowisku produkcyjnym, wykonując instrukcje podane w artykule Uruchamianie inteligentnego domu. Obejmuje to m.in. ukończenie kroków samodzielnej certyfikacji i prośby o certyfikat.