在问题集中反馈贴里提出了这个问题,版主可能比较忙,一直也没给个答案,自己摸索了一下,也不知道算不算是搞定了,发出来给大家研究:
先创建一个节点:
再创建个debug,获取所需要的调试信息:
把两个节点连上,部署,然后对小爱说话:
然后接着往下翻,
old_state是上条指令和回答,不管它。
看下一条,new_state->attributes->answers[0]->tts->text
下面是关键:
最后得到一行代码:
data.new_state.attributes.answers[0].tts.text
把刚才的debug改一下:
如果要同时显示出你给出的指令文本,再建个debug,msg里添你刚才记事本里的payload,图就不发了。
最后是这个样子:
对小爱说话,看调试窗口:
回答在前面,是因为这个debug是先建的,请无视。
到这里小爱的指令文本和回答文本都已经提取出来了,不过还有个很大的问题,调试窗口里会把上一条指令也显示出来,所以文本提取以后,需要把小爱的历史信息清除掉。这样每次显示的都是最新文本。
再建个节点,清除小爱历史数据:
Service里选择Update_entity,Entity跟第一个节点的一样。
最后把线连上,成了这个样子:
部署一下,清除调试窗口数据,然后对小爱说:
这句话问的比较多,小爱每次回答都不一样。。。
我觉得这个东西挺有用的,既然语音全部可以转为文本,这个文本可以Switch一下,可以控制非小米的所有HA支持的设备,也可以跟小爱进行动态的交流,一边交流一边让小爱控制设备。当然,也会有个小问题,如果不是小爱支持的设备,小爱会说找不到设备让你去绑定啥的,这就更好解决了,去小爱的APP创建个训练不就完了?!
小白一个,抛砖引玉,没有玉拍砖也行!