Я пытаюсь смоделировать среду умного дома с помощью Google Assistant SDK на рабочем столе виртуальной машины Ubuntu. Я хотел бы смоделировать все типы устройств, перечисленные в документации для разработчиков здесь https://developers.google.com/actions/smarthome/guides/ и изучите команды для управления ими. Однако, когда я попытался создать модель устройства для КАМЕРЫ, я получил сообщение об ошибке, в котором говорилось, что доступные типы устройств ограничены LIGHT, SWITCH и OUTLET. Кто-нибудь знает, можно ли / как расширить список доступных типов устройств в настройке, как описано?
Моделирование устройств умного дома с помощью Google Assistant SDK на виртуальной машине Ubuntu - доступные типы устройств?
Ответы (1)
В настоящий момент другие типы устройств не поддерживаются. Причина в том, что типы отличаются от свойств.
тип - это довольно общее описание того, что устройство это: лампочка, розетка или выключатель. Это описание более полезно в случаях, когда вы выполняете удаленное выполнение. Фразы вроде «Включи мой свет» получат все устройства этого типа. В Assistant SDK удаленное выполнение в настоящий момент не поддерживается, поэтому фактический тип, который вы используете, менее важен.
характеристика - это часть метаданных, описывающих действие. это можно сделать с устройством. «Включить», «покраснеть» или «установить яркость на 20%» - это все, что связано с разными характеристиками.
Эти же типы и особенности также существуют в контексте Smart Home API, где устройства сами не имеют встроенного помощника, но все еще существуют и работают в экосистеме за счет интеграции облака в облако.
Когда я создаю камеру, в спецификации обсуждается, как вернуть определенные свойства вместе с SYNC
намерением.
"attributes": {
"cameraStreamSupportedProtocols": ["hls", "dash"],
"cameraStreamNeedAuthToken": true,
"cameraStreamNeedDrmEncryption": false
}
При регистрации устройств с помощью Assistant SDK не требуется SYNC
запрос на возврат этих свойств. Таким образом, устройство с Assistant SDK не может узнать эти значения, когда пользователь отправляет EXECUTE
намерение.
То же самое и с некоторыми другими типами устройств, такими как термостат. Поскольку в SDK не поддерживается SYNC
или QUERY
намерение, Ассистент не знает, как обрабатывать действия, требующие дополнительных настроек или параметров.
На данный момент Assistant SDK поддерживает только подмножество типов и характеристик, доступных для устройств Smart Home.
Если вы хотите иметь устройство, которое работает как с Assistant SDK, так и с дополнительными функциями, такими как CameraStream
, вам потребуется два пути / сценария.
- Во-первых, это фактическая интеграция Assistant SDK, которая будет обрабатывать ввод и вывод звука без каких-либо характеристик, зарегистрированных в этой модели.
- Вам также потребуется облачная интеграция Smart Home, которая будет поддерживать тип
CAMERA
и предупреждать вашего клиента при вызове команды, связанной с камерой.
У этого есть обратная сторона - необходимость косвенно говорить о вашей камере, т. Е. «Покажи камеру на входной двери». Однако это даст вам возможность делать и то, и другое. Assistant SDK действительно использует вашу учетную запись, поэтому любые команды Smart Home будут работать в дополнение к другим типам запросов.
Если вместо этого вы хотите смоделировать только разные типы устройств, не встраивая в каждый из них Google Assistant, то вы можете обойтись без создания каждого типа устройства и просто создания облачной интеграции.