【问题标题】:How to implement CameraStream traits through Google local home sdk如何通过 Google local home sdk 实现 CameraStream 特征
【发布时间】:2020-05-23 07:02:21
【问题描述】:

我们尝试了本地 sdk 并使用 otherDeviceIds 处理 SYNC 响应。 扫描配置应该没问题,因为我们的本地应用程序已经收到了带有预期 udp 有效负载的 IDENTITY 请求。 IDENTITY 响应应该没问题,因为本地平台应该已经通过检查“verificationId”,因为如果我将verificationId 设置为某个字符串,否则它表示未通过验证。

问题是当我尝试“显示相机”时,本地执行执行回调函数未触发。在这种情况下,我的 firebase 云功能仍然收到“action.devices.commands.GetCameraStream”命令。

我试用了灯海峡样品,看起来效果不错。 任何人都知道 Google 本地 Home sdk 是否支持 CameraStream 特征。

以下日志是我们firebase云函数中SYNC返回的对象,我们添加“otherDeviceIds”:[{“deviceId”:“789”}]字段, 为了完成本地sdk。

同步 JSON 对象:

{ "requestId": "465812xxx029114126", "payload": { "agentUserId": "023XXXXd4d850c01cd16ebb636eb8418", "devices": [{ "id": "123", "traits": ["action.devices.traits.CameraStream"], "name": { "defaultNames": ["xxx CAMERA"], "nicknames": ["Front door"], "name": "Camera" }, "customData": { "fooValue": 88, "barValue": true, "bazValue": "string" }, "attributes": { "cameraStreamSupportedProtocols": ["hls"], "cameraStreamNeedAuthToken": false, "cameraStreamNeedDrmEncryption": false }, "otherDeviceIds": [{ "deviceId": "789" }], "type": "action.devices.types.CAMERA", "willReportState": false }] } } IDENTITY 响应应该没问题,因为本地平台应该已经通过了“verificationId”检查。

识别请求对象(本地 SDK):

{ "requestId": "XXXXXA5FB895B0CD58C022BDC", "inputs": [{ "intent": "action.devices.IDENTIFY", "payload": { "device": { "udpScanData": { "data": "A562696463373839656D6F64656C6966616B6563616E64796668775F726576656576742D316666775F7265766776312D62657461686368616E6E656C738101" } }, "structureData": {} } }], "devices": [{ "id": "123", "customData": { "barValue": true, "bazValue": "string", "fooValue": 88 } }] } 识别响应对象(本地 SDK):

{ "intent": "action.devices.IDENTIFY", "requestId": "XXXXX8D0A4A5FB895B0CD58C022BDC", "payload": { "device": { "id": "", "verificationId": "789" } } }

但是当我尝试“显示相机”时,本地执行执行回调函数没有触发。 在这种情况下,我的firebase云功能仍然收到“action.devices.commands.GetCameraStream”命令。

下面是我说“显示相机”我的 Firebase 云功能时的日志。

{ "inputs": [{ "context": { "locale_country": "US", "locale_language": "en" }, "intent": "action.devices.EXECUTE", "payload": { "commands": [{ "devices": [{ "customData": { "barValue": true, "bazValue": "string", "fooValue": 88 }, "id": "123" }], "execution": [{ "command": "action.devices.commands.GetCameraStream", "params": { "StreamToChromecast": true, "SupportedStreamProtocols": ["progressive_mp4", "hls", "dash", "smooth_stream"] } }] }] } }], "requestId": "xxxx366353358387" }

【问题讨论】:

  • 欢迎来到社区!您能否提供一些示例代码。这有助于为其他人回答您的问题提供背景信息。我们经常看到解决方案的请求,而这可能不是解决您的问题的正确方法
  • @idan 感谢您的评论,我们提供了相关代码

标签: node.js google-chrome google-cloud-functions actions-on-google google-smart-home


【解决方案1】:

CameraStream 目前不支持本地履行。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-04-10
    • 2015-08-07
    • 2021-11-14
    • 1970-01-01
    • 2016-06-02
    • 2015-03-23
    相关资源
    最近更新 更多