[技术探讨]小爱音箱自定义指令DIY实现交流

[技术探讨]小爱音箱自定义指令DIY实现交流

查看: 10627|回复: 13

[技术探讨]

小爱音箱自定义指令DIY实现交流

[复制链接]

子风

子风

当前离线

积分372

金钱344

威望0

贡献0

HASS币20

6

主题17

回帖372

积分

论坛技术达人

积分372

金钱344

HASS币20

发消息

电梯直达

楼主

发表于 2022-7-18 10:54:26

|

只看该作者

|倒序浏览

|阅读模式

看了坛子里wdmywm3老哥的贴子,Xiaomi Miot Auto插件里集成的小爱音箱,里面conversation传感器可以拿到对小爱说的话,于是进行了以下操作

1.note-red订阅各个小爱conversation实体的事件

2.事件发生时调用我自己开发的后端api,主要逻辑是匹配关键字,并进行对应操作以及让小爱做出回复

例如:小爱同学,开启书房电脑--订阅到事件--调用api--后端发出wake on lan魔术包--驱动小爱进行回复(调用小爱播报指定内容api)

目前使用下来,发现有两个问题

1.node-red拿到事件有几秒的延迟,不知有没有办法改善

2.如果对小爱说同样的话,则conversation传感器变更事件不会被触发,后端api无法拿到消息并进行处理,尝试在每次调用后给conversation传感器赋值,没有成功,不知有没有什么办法.

我自己开发的webapi文档地址:http://api.service.zhimin.me:30005/

node-red截图

登录/注册后可看大图

微信截图_20220718105309.png (198.34 KB, 下载次数: 0)

下载附件

2022-7-18 10:54 上传

收藏4

回复

使用道具

举报

silversucks

silversucks

当前离线

积分1395

金钱1285

威望0

贡献0

HASS币0

0

主题110

回帖1395

积分

金牌会员

金牌会员, 积分 1395, 距离下一级还需 1605 积分

金牌会员, 积分 1395, 距离下一级还需 1605 积分

积分1395

金钱1285

HASS币0

发消息

沙发

发表于 2022-7-18 12:07:54

来自手机

|

只看该作者

用自动化,不存在这两个问题

回复

使用道具

举报

秋雨轩

秋雨轩

当前离线

积分2758

金钱2474

威望0

贡献0

HASS币50

11

主题263

回帖2758

积分

金牌会员

金牌会员, 积分 2758, 距离下一级还需 242 积分

金牌会员, 积分 2758, 距离下一级还需 242 积分

积分2758

金钱2474

HASS币50

发消息

板凳

发表于 2022-7-18 14:20:52

来自手机

|

只看该作者

本帖最后由 秋雨轩 于 2022-7-18 14:23 编辑

1.miot auto插件实现的原理是通过miot协议轮询米家服务器上的信息,这个是改变不了的,是受协议类型影响的原理性的,不能像zigbee协议那样本地实时更新。所以如果想降低延时,解决办法是缩短轮询间隔,miot auto插件本身支持更改轮询间隔。2.看你图片,你的NR触发节点用的是HA节点吧,没记错的话这个节点可以设置是否是“与上次信息不一致时才触发”,把这个取消掉,应该就能前后相同信息都触发了吧。

回复

使用道具

举报

子风

子风

当前离线

积分372

金钱344

威望0

贡献0

HASS币20

6

主题17

回帖372

积分

论坛技术达人

积分372

金钱344

HASS币20

发消息

地板

楼主|

发表于 2022-7-18 14:36:57

|

只看该作者

秋雨轩 发表于 2022-7-18 14:20

1.miot auto插件实现的原理是通过miot协议轮询米家服务器上的信息,这个是改变不了的,是受协议类型影响的 ...

感谢大佬的指导, 已经做出调整, 兴高采烈只等回家测试

回复

使用道具

举报

silversucks

silversucks

当前离线

积分1395

金钱1285

威望0

贡献0

HASS币0

0

主题110

回帖1395

积分

金牌会员

金牌会员, 积分 1395, 距离下一级还需 1605 积分

金牌会员, 积分 1395, 距离下一级还需 1605 积分

积分1395

金钱1285

HASS币0

发消息

5#

发表于 2022-7-19 10:35:51

|

只看该作者

子风 发表于 2022-7-18 14:36

感谢大佬的指导, 已经做出调整, 兴高采烈只等回家测试

重启ha你会发现这个方案的问题,最好解决办法是自动化触发。

回复

使用道具

举报

sxrcm

sxrcm

当前离线

积分3158

金钱2912

威望0

贡献0

HASS币0

0

主题246

回帖3158

积分

论坛元老

积分3158

金钱2912

HASS币0

发消息

6#

发表于 2022-7-19 14:05:05

|

只看该作者

silversucks 发表于 2022-7-19 10:35

重启ha你会发现这个方案的问题,最好解决办法是自动化触发。

自动化的方案是啥?能否共享一下

回复

使用道具

举报

子风

子风

当前离线

积分372

金钱344

威望0

贡献0

HASS币20

6

主题17

回帖372

积分

论坛技术达人

积分372

金钱344

HASS币20

发消息

7#

楼主|

发表于 2022-7-20 09:29:06

|

只看该作者

silversucks 发表于 2022-7-19 10:35

重启ha你会发现这个方案的问题,最好解决办法是自动化触发。

确实有问题,node-red里面的events: state节点时不时的会产出重复事件,实际上并没有对小爱说话(还是上次说的内容).

自动化方案能分享一下不

回复

使用道具

举报

lamioiseng

lamioiseng

当前离线

积分573

金钱483

威望0

贡献0

HASS币0

8

主题82

回帖573

积分

高级会员

高级会员, 积分 573, 距离下一级还需 427 积分

高级会员, 积分 573, 距离下一级还需 427 积分

积分573

金钱483

HASS币0

发消息

8#

发表于 2022-7-24 06:27:45

|

只看该作者

我的思路是: 我問音箱我手機電量,音箱根據HA數據TTS回答

alias: 查詢手機電量

description: ''

trigger:

- platform: state

entity_id:

- sensor.xiaomi_lx5a_eb33_conversation

attribute: content

to: 查手机电量

condition: []

action:

- service: xiaomi_miot.intelligent_speaker

data:

text: 手机电量為{{ states("sensor.mi_9_battery_level") }}百分比

entity_id: media_player.xiaomi_lx5a_eb33_play_control

throw: true

- wait_template: '{{ states (''sensor.mi_9_battery_level'') }}'

continue_on_timeout: true

mode: single

复制代码

评分

参与人数 1金钱 +1

收起

理由

zylok

+ 1

高手,这是高手!

查看全部评分

回复

使用道具

举报

子风

子风

当前离线

积分372

金钱344

威望0

贡献0

HASS币20

6

主题17

回帖372

积分

论坛技术达人

积分372

金钱344

HASS币20

发消息

9#

楼主|

发表于 2022-9-15 17:53:47

|

只看该作者

lamioiseng 发表于 2022-7-24 06:27

我的思路是: 我問音箱我手機電量,音箱根據HA數據TTS回答

感谢老哥

回复

使用道具

举报

zelotoj

zelotoj

当前离线

积分940

金钱872

威望0

贡献0

HASS币0

0

主题68

回帖940

积分

高级会员

高级会员, 积分 940, 距离下一级还需 60 积分

高级会员, 积分 940, 距离下一级还需 60 积分

积分940

金钱872

HASS币0

发消息

10#

发表于 2022-9-22 03:14:28

|

只看该作者

lamioiseng 发表于 2022-7-24 06:27

我的思路是: 我問音箱我手機電量,音箱根據HA數據TTS回答

非常好用,感谢分享,试验成功

回复

使用道具

举报

相关任务

盒子365app下载 《方舟生存进化》油井怎么用 油井用法分享
365速发app下载平台注册 男篮世界杯巴西队大名单 瓦莱乔巴博萨领衔
365速发app下载平台注册 鸿星尔克

鸿星尔克

📅 12-06 👁️ 224