Локальный путь выполнения устанавливается, когда Google сопоставляет локально контролируемое устройство с устройством, возвращенным в ответе SYNC
от вашего облачного выполнения.
Чтобы Google мог обнаружить ваше устройство в локальной сети и установить локальный путь выполнения, вам необходимо добавить информацию об обнаружении в консоль действий. Вам также необходимо обновить ответ SYNC
от вашего облачного исполнения, чтобы сообщить Google о локально управляемом устройстве.
Настройте информацию о конфигурации сканирования
Чтобы указать информацию об обнаружении, выполните следующие действия.
- Откройте свой проект умного дома в консоли Actions.
- На левой панели навигации нажмите Действия .
- В разделе Настройка локального домашнего SDK (необязательно) > Добавить конфигурацию сканирования устройства щелкните Новая конфигурация сканирования .
- Выберите в раскрывающемся списке соответствующий тип протокола сканирования и введите значения для сканирования 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": "..." } }] } }