0

我正在尝试在 Ubuntu VM 桌面上使用 Google Assistant SDK 对智能家居环境进行建模。我想在 https://developers.google.com/actions/smarthome/guides/对开发人员文档中列出的所有设备类型进行建模,并研究用于控制它们的命令。但是,当我尝试为 CAMERA 创建设备模型时,我收到一条错误消息,指出可用的设备类型仅限于 LIGHT、SWITCH 和 OUTLET。有谁知道是否/如何可以按照所述扩展设置中的可用设备类型列表?

4

1 回答 1

0

目前,不支持其他设备类型。原因是因为TypesTraits

类型是对设备是什么的非常通用的描述:灯泡、插座或开关。此描述在您进行远程执行的情况下更有用。诸如“打开我的灯”之类的短语将获得该类型的所有设备。使用 Assistant SDK,目前不支持远程执行,因此您使用的实际类型不太重要。

特征是一段元数据,描述了可以对设备执行的操作。“打开”、“变红”或“将亮度设置为 20%”都是与不同特征相关的内容。

这些相同的类型和特征也存在于Smart Home API的上下文中,其中设备本身没有嵌入智能助理,但仍然存在并通过云到云的集成在生态系统中工作。

当我构建相机时,规范讨论了如何返回特定属性以及SYNC意图。

"attributes": {
    "cameraStreamSupportedProtocols": ["hls", "dash"],
    "cameraStreamNeedAuthToken": true,
    "cameraStreamNeedDrmEncryption": false
  }

使用 Assistant SDK 注册设备时,不会SYNC要求您返回这些属性。因此,当用户发送EXECUTE意图时,具有 Assistant SDK 的设备无法知道这些值。

其他一些设备类型(例如恒温器)也是如此。由于 SDK 不支持SYNC或不QUERY支持意图,因此助手将不知道如何处理需要额外设置或参数的操作。

目前,Assistant SDK 仅支持智能家居设备可用的类型和特征的子集。

如果您确实想要一个设备可以同时使用 Assistant SDK 和其他特性,例如CameraStream,您将需要有两个路径/脚本。

  • 首先是实际的 Assistant SDK 集成,它将处理音频输入和输出,而无需向该模型注册任何特征
  • 您还需要有一个智能家居云集成,它将支持该CAMERA类型并在调用与相机相关的命令时提醒您的客户。

这确实有需要间接谈论你的相机的缺点,即。“显示前门摄像头”。但是,它会让你有能力做到这两点。Assistant SDK 确实使用您的帐户,因此除了其他类型的查询之外,任何智能家居命令都可以使用。

相反,如果您只想对不同的设备类型进行建模,而不需要在每个设备中嵌入 Google 助理,那么您可以创建每种设备类型并构建基于云的集成。

于 2018-02-27T00:45:25.470 回答