Мы рекомендуем вам создать локальное приложение для выполнения заказов, выполнив действия, описанные ранее, а затем протестировать интеграцию умного дома в собственной среде хостинга, выполнив следующие действия:
В вашей собственной среде хостинга разместите 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, а затем повторите эти шаги.
Повторяя этот процесс сборки и тестирования, вы сможете быстро увидеть изменения в действии и с легкостью выявлять и отлаживать проблемы с вашим кодом.
Контроль испытательного устройства
В консоли действий вам необходимо указать URL-адрес вашего веб-приложения, которое обслуживает HTML-код, загружаемый на устройство Google Home или Google Nest во время локального выполнения.
Чтобы протестировать управление устройствами с локальным выполнением, выполните следующие действия:
Хром
- Откройте проект «Умный дом» в консоли «Действия».
- На панели навигации слева нажмите Действия .
- В разделе «Настройка локального домашнего SDK (необязательно)» > «Введите URL-адрес тестирования для Chrome » укажите URL-адрес сервера разработки, который обслуживает HTML-код, запускающий ваше локальное приложение для выполнения заказов.
- Нажмите Сохранить . Google может потребоваться до 30 минут, чтобы распространить изменения вашей консоли.
- Перезагрузите тестовое устройство Google Home или Google Nest.
- Отправьте команду на свое смарт-устройство. Например, если ваше устройство реализует функцию «Вкл.Выкл.» , вы можете сказать «Эй, Google, включи свет».
Node.js
- Откройте проект «Умный дом» в консоли «Действия».
- На панели навигации слева нажмите Действия .
- В разделе «Настройка локального домашнего SDK (необязательно)» > «Введите 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 или Google Nest.
- Вы обновили ответ SYNC в своем облачном исполнении . Он должен возвращать хотя бы одно допустимое значение в
otherDeviceIds
. - Вы ввели правильную информацию о конфигурации сканирования в консоли действий.
Чтобы подключить локальное приложение выполнения к отладчику 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. Если возникнет проблема, вы увидите такое сообщение:
Uncaught TypeError: Cannot read property 'open' of null.
-
verificationId
из ответаIDENTIFY
должен совпадать с одним изotherDeviceIds
из ответаSYNC
. - Что касается обработчика
EXECUTE
, убедитесь, что ваши команды HTTP, TCP или UDP могут быть получены вашим устройством и работают должным образом. - Обязательно верните
Promise
от обработчиков. - Избегайте сохранения глобального состояния в памяти. См. жизненный цикл приложения .
- Ошибки, возникающие в вашем местном приложении выполнения, появятся в журналах ошибок вашего проекта.
Подготовить и запустить в производство
Когда вы будете готовы запустить действие «Умный дом», выполните следующие действия:
- Откройте терминал. В каталоге вашего проекта выполните команду
npm run build
. Эта команда создает следующие пакеты JavaScript для вашего приложения в каталогеdist
:project-directory/ └── dist ├── web │ └── bundle.js └── node └── bundle.js
- В консоли загрузите приложение JavaScript, нажав «Разработка» > «Действия» . В разделе «Настроить локальный домашний SDK» нажмите «Загрузить файлы JavaScript» .
- В диалоговом окне «Загрузить файлы » загрузите ранее созданные файлы пакета. Обязательно загрузите обе версии файлов пакета (Node, Web), чтобы ваше действие было настроено для правильной работы во всех средах выполнения, которые поддерживают локальное выполнение.
- Загрузите свой JavaScript, ориентированный на Node.js. Загрузите файл
bundle.js
из каталогаdist/node
. - Загрузите свой JavaScript для Chrome (браузер) . Загрузите файл
bundle.js
из каталогаdist/web
.
- Загрузите свой JavaScript, ориентированный на Node.js. Загрузите файл
- Проверьте свое действие на устройстве с поддержкой Ассистента, чтобы убедиться, что оно ведет себя должным образом в производственной среде. Чтобы узнать больше, см. «Протестируйте и поделитесь своим умным домом. Действие» .
- Когда вы будете удовлетворены тем, как работает ваше действие, отправьте его в Google для производственного развертывания, следуя инструкциям в разделе «Запуск действия умного дома» . Это включает в себя выполнение шагов самотестирования и запроса на сертификацию.