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