Closed FatttSnake closed 2 years ago
接入小爱同学后,使用小爱同学操作设备,设备接收得到调用,但不会调用回调函数
接收到调用后 voice-assistant.ts 中使用以下代码判断是否进行处理
get subTopic() { return `/sys/${this.device.config.productKey}/${this.device.config.deviceName}/rrpc/request/+` } if (topic.indexOf(this.subTopic.substr(0, this.subTopic.length - 1)) > -1) { let data; let fromDevice; let messageId; try { let messageString = u8aToString(message) let messageObject = JSON.parse(messageString) fromDevice = messageObject.fromDevice data = messageObject.data this.targetDevice = fromDevice messageId = topic.split('/')[6] vaLog(data, `${this.vaName}>device`) } catch (error) { console.log(error); } if (fromDevice == this.vaName) { this.processData(messageId, data); } }
实际上获取到的 subTopic=/sys/blinker/{productKey}/rrpc/request/+ topic=/device/{productKey}/r
subTopic=/sys/blinker/{productKey}/rrpc/request/+
topic=/device/{productKey}/r
无法进行正确处理
判断是否来自 MIOT 调用时使用 if (fromDevice == this.vaName) 进行判断,接收的 fromDevice 应为 MIOT 但实际接收为 ServerSender 无法正常调用回调函数
if (fromDevice == this.vaName)
fromDevice
MIOT
ServerSender
改了改能用了,小爱不报错了
nodejs sdk的语音部分,暂时还不支持点灯broker,计划重构中。
我也遇到类似的问题,小爱语音控制提示“要操作的设备好像出问题了”,希望早日完成重构。🙏
接入小爱同学后,使用小爱同学操作设备,设备接收得到调用,但不会调用回调函数
接收到调用后 voice-assistant.ts 中使用以下代码判断是否进行处理
实际上获取到的
subTopic=/sys/blinker/{productKey}/rrpc/request/+
topic=/device/{productKey}/r
无法进行正确处理
判断是否来自 MIOT 调用时使用
if (fromDevice == this.vaName)
进行判断,接收的fromDevice
应为MIOT
但实际接收为ServerSender
无法正常调用回调函数