Локальный путь выполнения заказа устанавливается, когда Google сопоставляет локально управляемое устройство с устройством, возвращенным в ответе SYNC от вашего облачного выполнения заказа.
 Чтобы Google мог обнаружить ваше устройство в локальной сети и настроить локальный путь выполнения заказов, необходимо добавить информацию об обнаружении в консоль действий. Также необходимо обновить ответ SYNC от вашего облачного сервиса выполнения заказов, чтобы сообщить Google о локально управляемом устройстве.
Настройте информацию о конфигурации сканирования
Чтобы указать информацию об обнаружении, выполните следующие действия:
Перейдите к интеграции Cloud-to-cloud в Google Home Developer Console :
Перейдите в раздел «Проект» > «Облако-облако» в левой части экрана, затем выберите «Изменить» для интеграции. На странице «Настройка и конфигурация» прокрутите до пункта «Локальное выполнение» и включите этот параметр. Введите следующий URL-адрес в каждое поле тестового URL-адреса, укажите идентификатор вашего проекта и нажмите «Сохранить »:
https://<project-id>.web.app/local-home/index.htmlНажмите + Добавить конфигурацию сканирования в разделе Обнаружение устройства , чтобы добавить новую конфигурацию сканирования.
Выберите тип протокола соответствия сканированию из раскрывающегося списка и введите значения, которые Google будет сканировать.
В следующих таблицах показаны атрибуты, которые вы можете добавить в зависимости от протоколов, которые Google хочет использовать для сканирования вашего устройства:
| Атрибут | Описание | Пример значения | 
|---|---|---|
| Название услуги |  Обязательно. Имя службы, опубликованное устройством в формате service . domain |  _http._tcp.local | 
| Имя |  Обязательно. Фильтр по уникальному экземпляру службы в формате   |  my-device-[0-9]{4}\._http\._tcp\.local | 
| Атрибут | Описание | Пример значения | 
|---|---|---|
| Тип услуги |  Обязательно. Полный идентификатор службы UPnP в формате domain :service: type : version . |  schemas-upnp-org:service:SwitchPower:1 | 
| OUI | Необязательно. Уникальный идентификатор организации . 24-битное значение, идентифицирующее производителя устройства. Обычно это первые три октета MAC-адреса устройства. |  1A:2B:3C | 
| Атрибут | Описание | Пример значения | 
|---|---|---|
| Адрес открытия | Обязательно. IP-адрес назначения для широковещательной рассылки UDP. |  255.255.255.255 | 
| Порт вещания | Обязательно. Порт назначения для широковещательной рассылки UDP. |  5555 | 
| Порт прослушивания | Обязательно. Порт прослушивания для ответа обнаружения UDP. |  5556 | 
| Пакет открытий | Обязательно. Полезная нагрузка для отправки в широковещательной рассылке UDP. Отформатировано как шестнадцатеричная закодированная строка байтов. |  48454C4C4F  | 
Обновление ответа SYNC в облачном исполнении
 Намерение SYNC сообщает Ассистенту, какими устройствами управляет пользователь и их возможностями.
 Для поддержки локального выполнения заказов платформа Local Home проверяет ответ SYNC от облачного сервиса выполнения действий вашего умного дома и пытается сопоставить идентификаторы устройств в поле otherDeviceIds с идентификатором проверки, возвращаемым обработчиком IDENTIFY . Записи устройств без поля otherDeviceIds исключаются из локального выполнения заказов.
 В поле otherDeviceIds ответа SYNC необходимо указать идентификаторы устройств умного дома, которыми можно управлять локально. Это поле отображается в ответе на уровне device . Google может настроить локальный путь выполнения заказа для любого устройства с заданным идентификатором.
 Используйте поле customData для указания любых дополнительных данных, которые нужны Google для подключения к автономному устройству или для подключения к конечным устройствам с помощью концентратора (например, номер порта и другая информация, специфичная для протокола).
Пример
 В следующем фрагменте показано, как создать обработчик SYNC . 
{ "requestId": "ff36a3cc-ec34-11e6-b1a0-64510650abcf", "payload": { "agentUserId": "1836.15267389", "devices": [{ "id": "123", "type": "action.devices.types.OUTLET", "traits": [ "action.devices.traits.OnOff" ], "name": { "name": "Night light" }, "willReportState": false, "otherDeviceIds": [{ "deviceId": "local-device-id" }], "customData": { "port": 5555, "authToken": "..." } }] } }