Моделирование устройств умного дома с помощью Google Assistant SDK на виртуальной машине Ubuntu - доступные типы устройств?

Я пытаюсь смоделировать среду умного дома с помощью Google Assistant SDK на рабочем столе виртуальной машины Ubuntu. Я хотел бы смоделировать все типы устройств, перечисленные в документации для разработчиков здесь https://developers.google.com/actions/smarthome/guides/ и изучите команды для управления ими. Однако, когда я попытался создать модель устройства для КАМЕРЫ, я получил сообщение об ошибке, в котором говорилось, что доступные типы устройств ограничены LIGHT, SWITCH и OUTLET. Кто-нибудь знает, можно ли / как расширить список доступных типов устройств в настройке, как описано?


person MKB    schedule 25.02.2018    source источник


Ответы (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, то вы можете обойтись без создания каждого типа устройства и просто создания облачной интеграции.

person Nick Felker    schedule 27.02.2018