Мы рекомендуем вам создать локальное приложение для выполнения заказов, выполнив действия, описанные ранее, а затем протестировать интеграцию умного дома в собственной среде хостинга, выполнив следующие действия:
В вашей собственной среде хостинга разместите 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>
Отладка из Chrome . Используйте точки останова и журналы для устранения неполадок в интеграции.
Измените и скомпилируйте код TypeScript, а затем повторите эти шаги.
Повторив этот процесс сборки и тестирования, вы сможете быстро увидеть изменения в действии, что поможет вам отладить проблемы с вашим кодом.
Контроль испытательного устройства
В Google Home Developer Console вам необходимо указать URL-адрес вашего веб-приложения, которое обслуживает HTML-код, загружаемый на устройство Google Home или Google Nest во время локального выполнения.
Чтобы протестировать управление устройствами с локальным выполнением, выполните следующие действия:
Хром
- На странице настройки и конфигурации вашей облачной интеграции в Google Home Developer Console прокрутите до пункта «Локальное выполнение» и включите этот параметр.
- В разделе «URL-адреса тестирования» > «URL-адрес тестирования для Chrome » укажите URL-адрес сервера разработки, который обслуживает HTML-код, запускающий ваше локальное приложение для выполнения заказов.
- Нажмите Сохранить . Google может потребоваться до 30 минут, чтобы распространить изменения вашей консоли.
- Перезагрузите тестовое устройство Google Home или Google Nest.
- Отправьте команду на свое смарт-устройство. Например, если ваше устройство реализует функцию «Вкл.Выкл.» , вы можете сказать «Эй, Google, включи свет».
Node.js
- На странице настройки и конфигурации Google Home Developer Console прокрутите до пункта «Локальное выполнение» и включите этот параметр.
- В разделе «URL-адреса тестирования» > «URL-адрес тестирования для Node » укажите URL-адрес сервера разработки, который обслуживает JavaScript, на котором выполняется ваше локальное приложение для выполнения.
- Нажмите Сохранить . Google может потребоваться до 30 минут, чтобы распространить изменения вашей консоли.
- Перезагрузите тестовое устройство Google Home или Google Nest.
- Отправьте команду на свое смарт-устройство. Например, если ваше устройство реализует функцию «Вкл.Выкл.» , вы можете сказать «Эй, Google, включи свет».
Дополнительные сведения о том, какая среда выполнения используется вашим устройством, см. в разделе Поддерживаемые устройства .
Отладка из Chrome
Вы можете отладить свое локальное приложение для выполнения заказов с помощью Chrome DevTools . Прежде чем приступить к отладке, убедитесь, что ваша среда настроена правильно:
- Вы установили URL-адрес разработки в консоли как URL-адрес, доступный для устройства Google Home или Google Nest (либо по локальной сети, либо через Интернет).
- Ваше устройство подключено к той же локальной сети, что и тестируемое устройство Google Home или Google Nest.
- Ваша сеть не блокирует пакеты между устройствами.
- Вы вошли в систему с одной и той же учетной записью Google в Google Home Developer Console и на устройстве Google Home или Google Nest.
- Вы обновили ответ SYNC в своем облачном исполнении . Он должен возвращать хотя бы одно допустимое значение в
otherDeviceIds
. - Вы ввели правильную информацию о конфигурации сканирования в Google Home Developer Console .
Чтобы подключить локальное приложение выполнения к отладчику Chrome DevTools, выполните следующие действия:
Хром
- На локальном компьютере для разработки установите и запустите браузер Google Chrome .
- В поле адреса браузера Chrome запустите инспектор Chrome, введя:
chrome://inspect#devices
. На странице вы должны увидеть список устройств, а ваш HTML-файл должен быть указан под именем вашего тестового устройства Google Home или Google Nest. - Нажмите синюю ссылку проверки под HTML-кодом, чтобы запустить Chrome DevTools. Перейдите на вкладку Консоль . Платформа Local Home выводит версию вашего приложения и версию Local Home SDK в журнал консоли. Если вы видите журнал, это означает, что Google успешно загрузил ваше приложение и может к нему подключиться. Если нет, перезагрузите устройство Google Home или Google Nest.
Node.js
- На локальном компьютере разработки установите и запустите браузер Google Chrome .
- Определите локальный IP-адрес вашего тестового устройства.
- В поле адреса браузера Chrome запустите инспектор Chrome, введя:
chrome://inspect#devices
. - Выберите «Настроить...», чтобы открыть настройки обнаружения целей .
- Введите
DEVICE_IP_ADDRESS :9222
в список и нажмите «Готово» . - Нажмите синюю ссылку проверки под вашим скриптом, чтобы запустить 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
от обработчиков. - Избегайте сохранения глобального состояния в памяти. См. жизненный цикл приложения .
- Ошибки, возникающие в вашем местном приложении выполнения, появятся в журналах ошибок вашего проекта.
Подготовить и запустить в производство
Когда вы будете готовы запустить действие «Умный дом», выполните следующие действия:
- Откройте терминал. В каталоге вашего проекта выполните команду
npm run build
. Эта команда создает следующие пакеты JavaScript для вашего приложения в каталогеdist
:project-directory/ └── dist ├── web │ └── bundle.js └── node └── bundle.js
- На странице настройки и конфигурации Google Home Developer Console прокрутите до пункта «Локальное выполнение» и включите этот параметр.
- С помощью кнопок «Загрузить JavaScript» загрузите ранее созданные файлы пакета. Обязательно загрузите обе версии файлов пакета (Node, Web), чтобы ваше действие было настроено для правильной работы во всех средах выполнения, которые поддерживают локальное выполнение.
- Загрузите свой JavaScript, ориентированный на Node.js. Загрузите файл
bundle.js
из каталогаdist/node
. - Загрузите свой JavaScript для Chrome (браузер) . Загрузите файл
bundle.js
из каталогаdist/web
.
- Загрузите свой JavaScript, ориентированный на Node.js. Загрузите файл
- Проверьте свое действие на устройстве с поддержкой Ассистента, чтобы убедиться, что оно ведет себя должным образом в производственной среде. Чтобы узнать больше, см. «Протестируйте и поделитесь своим умным домом. Действие» .
- Когда вы будете удовлетворены тем, как работает ваше действие, отправьте его в Google для производственного развертывания, следуя инструкциям в разделе «Запуск действия умного дома» . Это включает в себя выполнение шагов самотестирования и запроса на сертификацию.