Тестируйте и отлаживайте свое приложение

Мы рекомендуем вам создать локальное приложение для выполнения заказов, выполнив действия, описанные ранее, а затем протестировать интеграцию умного дома в собственной среде хостинга, выполнив следующие действия:

  1. В вашей собственной среде хостинга разместите HTML-страницу, на которой работает ваше локальное приложение для выполнения заказов. В следующем фрагменте показан пример статического HTML-файла, в котором запускается ваше локальное приложение для выполнения заказов.

    <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. Управление тестовым устройством .

  3. Отладка из Chrome . Используйте точки останова и журналы для устранения неполадок в интеграции.

  4. Измените и скомпилируйте код TypeScript, а затем повторите эти шаги.

Повторив этот процесс сборки и тестирования, вы сможете быстро увидеть изменения в действии, что поможет вам отладить проблемы с вашим кодом.

Контроль испытательного устройства

В Google Home Developer Console вам необходимо указать URL-адрес вашего веб-приложения, которое обслуживает HTML-код, загружаемый на устройство Google Home или Google Nest во время локального выполнения.

Чтобы протестировать управление устройствами с локальным выполнением, выполните следующие действия:

Хром

  1. На странице настройки и конфигурации вашей облачной интеграции в Google Home Developer Console прокрутите до пункта «Локальное выполнение» и включите этот параметр.
  2. В разделе «URL-адреса тестирования» > «URL-адрес тестирования для Chrome » укажите URL-адрес сервера разработки, который обслуживает HTML-код, запускающий ваше локальное приложение для выполнения заказов.
  3. Нажмите Сохранить . Google может потребоваться до 30 минут, чтобы распространить изменения вашей консоли.
  4. Перезагрузите тестовое устройство Google Home или Google Nest.
  5. Отправьте команду на свое смарт-устройство. Например, если ваше устройство реализует функцию «Вкл.Выкл.» , вы можете сказать «Эй, Google, включи свет».

Node.js

  1. На странице настройки и конфигурации Google Home Developer Console прокрутите до пункта «Локальное выполнение» и включите этот параметр.
  2. В разделе «URL-адреса тестирования» > «URL-адрес тестирования для Node » укажите URL-адрес сервера разработки, который обслуживает JavaScript, на котором выполняется ваше локальное приложение для выполнения.
  3. Нажмите Сохранить . Google может потребоваться до 30 минут, чтобы распространить изменения вашей консоли.
  4. Перезагрузите тестовое устройство Google Home или Google Nest.
  5. Отправьте команду на свое смарт-устройство. Например, если ваше устройство реализует функцию «Вкл.Выкл.» , вы можете сказать «Эй, Google, включи свет».

Дополнительные сведения о том, какая среда выполнения используется вашим устройством, см. в разделе Поддерживаемые устройства .

Отладка из Chrome

Вы можете отладить свое локальное приложение для выполнения заказов с помощью Chrome DevTools . Прежде чем приступить к отладке, убедитесь, что ваша среда настроена правильно:

Чтобы подключить локальное приложение выполнения к отладчику Chrome DevTools, выполните следующие действия:

Хром

  1. На локальном компьютере для разработки установите и запустите браузер Google Chrome .
  2. В поле адреса вашего браузера Chrome запустите инспектор Chrome, введя: chrome://inspect#devices . На странице вы должны увидеть список устройств, а ваш HTML-файл должен быть указан под именем вашего тестового устройства Google Home или Google Nest.
  3. Нажмите синюю ссылку проверки под HTML-кодом, чтобы запустить Chrome DevTools. Перейдите на вкладку Консоль . Платформа Local Home выводит версию вашего приложения и версию Local Home SDK в журнал консоли. Если вы видите журнал, это означает, что Google успешно загрузил ваше приложение и может к нему подключиться. Если нет, перезагрузите устройство Google Home или Google Nest.
  4. Рисунок 1. Локальное приложение для выполнения заказов в chrome://inspect.

Node.js

  1. На локальном компьютере для разработки установите и запустите браузер Google Chrome .
  2. Определите локальный IP-адрес вашего тестового устройства.
  3. В поле адреса вашего браузера Chrome запустите инспектор Chrome, введя: chrome://inspect#devices .
  4. Выберите «Настроить...», чтобы открыть настройки обнаружения целей .
  5. Рисунок 2. Настройки обнаружения целей в chrome://inspect.
  6. Введите DEVICE_IP_ADDRESS :9222 в список и нажмите «Готово» .
  7. Нажмите синюю ссылку проверки под своим скриптом, чтобы запустить Chrome DevTools. Перейдите на вкладку Консоль . Платформа Local Home выводит версию вашего приложения и версию Local Home SDK в журнал консоли. Если вы видите журнал, это означает, что Google успешно загрузил ваше приложение и может к нему подключиться. Если нет, перезагрузите устройство Google Home или Google Nest.

Дополнительные сведения о том, какая среда выполнения используется вашим устройством, см. в разделе «Поддерживаемые устройства» .

Советы по отладке

Некоторые дополнительные вещи, которые следует учитывать во время отладки, включают:

  • Не подключайте несколько устройств Google Home или Google Nest к своей тестовой учетной записи в одной локальной сети. Вы не сможете контролировать, какое устройство Google Home или Google Nest предназначено для локальных команд выполнения.
  • Обновите страницу в Chrome DevTools, чтобы перезагрузить контейнер локального приложения для выполнения последней версии кода с URL-адреса разработки. Это не сбрасывает локальную домашнюю платформу, которая может потребоваться для повторного запуска намерений платформы (например, IDENTIFY ) в вашем местном приложении выполнения. Чтобы сбросить платформу Local Home, перезагрузите устройство Google Home или Google Nest.
  • Убедитесь, что ваше приложение JavaScript загружается без ошибок. Для этого проверьте раздел консоли на странице DevTools. В случае возникновения проблемы вы увидите такое сообщение: «Необнаруженная ошибка типа: невозможно прочитать свойство «open» со значением null».
  • verificationId из ответа IDENTIFY должен совпадать с одним из otherDeviceIds из ответа SYNC .
  • Что касается обработчика EXECUTE , убедитесь, что ваши команды HTTP, TCP или UDP могут быть получены вашим устройством и работают должным образом.
  • Обязательно верните Promise от обработчиков.
  • Избегайте сохранения глобального состояния в памяти. См. жизненный цикл приложения .
  • Ошибки, возникающие в вашем местном приложении выполнения, появятся в журналах ошибок вашего проекта.

Подготовить и запустить в производство

Когда вы будете готовы запустить действие «Умный дом», выполните следующие действия:

  1. Откройте терминал. В каталоге вашего проекта выполните команду npm run build . Эта команда создает следующие пакеты JavaScript для вашего приложения в каталоге dist :
    project-directory/
    └── dist
     ├── web
     │    └── bundle.js
     └── node
          └── bundle.js
    
  2. На странице настройки и конфигурации Google Home Developer Console прокрутите до пункта «Локальное выполнение» и включите этот параметр.
  3. С помощью кнопок «Загрузить JavaScript» загрузите ранее созданные файлы пакета.
    Рисунок 3. Загрузите приложение JavaScript.
    Обязательно загрузите обе версии файлов пакета (Node, Web), чтобы ваше действие было настроено для правильной работы во всех средах выполнения, которые поддерживают локальное выполнение.
    1. Загрузите свой JavaScript, ориентированный на Node.js. Загрузите файл bundle.js из каталога dist/node .
    2. Загрузите свой JavaScript для Chrome (браузер) . Загрузите файл bundle.js из каталога dist/web .
  4. Проверьте свое действие на устройстве с поддержкой Ассистента, чтобы убедиться, что оно ведет себя должным образом в производственной среде. Чтобы узнать больше, см. «Протестируйте и поделитесь своим умным домом. Действие» .
  5. Когда вы будете удовлетворены тем, как работает ваше действие, отправьте его в Google для производственного развертывания, следуя инструкциям в разделе «Запуск действия умного дома» . Это включает в себя выполнение шагов самотестирования и запроса на сертификацию.