关爱吃灰智能音箱,从接入Home Assistant做起:用APP技能实现叮咚音箱、天猫精灵、小度音箱接入
前记
去年年初,带着懵懂与好奇,入坑了智能家居系统,搭建了domoticz。为了实现初级的智能:语音控制设备,当时找到了教程,在踩过不少坑后,实现了天猫精灵接入的尝试。当时想写文章分享下折腾过程的,但由于某种神秘的力量稿件未能发表。后来转投Home Assisant的怀抱,在张大妈的种草下购置了一套米家设备,于是忙着学习新知识,天猫精灵又吃灰去了。再后来得益于各路大神的研究,Home Assisant上出现了比较完善的智能音箱插件,省去了搭建OAuth服务、Http服务的工作,大大降低了接入的难度。但对于没有公网IP的朋友,内网穿透仍是一个门槛。为了进一步简化接入难度,于是基于现有的天猫精灵插件、小度音箱插件,自己折腾出来一个能用APP技能接入的方案,经过一番折腾,APP技能也算是上线能用了,于是写篇文(guang)章(gao)和各位值友分(tui)享(xiao)下,也算填了之前曾想在张大妈发表原创的坑。
智能音箱是怎样接入Home Assistant的
目前基本都是通过智能音箱厂家的技能开发平台,自己创建智能家居技能(当然自定义技能也可以,但要自己设计语义,调用还得呼唤技能名称,用起来不太方便)来完成接入。技能需要实现的两个功能为:
OAuth服务
授权音箱云平台的接入、对音箱云平台的控制指令进行校验。网关服务
对音箱云平台的指令进行解析,通知Home Assistant控制真实设备。
整体工作流程如下:
音箱云平台申请Token
网关服务返回Token
音箱云平台发送指令至网关服务
网关服务通知OAuth服务对指令的Token进行认证
OAuth服务返回认证结果
网关服务对指令进行解析,通知Home Assistant进行处理
Home Assistant返回控制结果
网关服务返回控制结果给音箱云平台
方案介绍
为了突破公网IP的限制,技能平台采用了MQTT消息转发音箱云平台的命令:技能平台只实现OAuth服务,真正的网关服务由各自本地音箱插件提供。目前已支持叮咚音箱、天猫精灵、小度音箱的接入,APP搜"aihome"可找到技能。
接入流程
0.准备
1.注册账号
前往注册页面注册
2.获取AppKey和AppSecret
打开账号获取页面,点击登录
登录后点击按钮生成AppKey和AppSecret,填写验证码,点击保存。注意保存好AppKey和AppSecret。
3.配置插件信息
用途:与aihome技能平台建立通信通道。
配置文件:配置目录文件夹下的configuration.yaml(重启生效)。
4.配置设备信息
用途:根据配置信息,将Home Assistant中的设备生成为对于音箱云平台可识别的设备信息。
配置文件:配置目录文件夹下的customize.yaml(重启生效)。
假设你已经有一个switch.test的设备想让智能音箱进行控制,增加属性aihome_device: True可发现,然后根据你需要用的音箱配置相关属性:ailigenie_为天猫精灵相关属性,dueros_为小度音箱相关属性,jdwhale_为叮咚音箱用相关属性。
5.APP绑定账号
最后在相应的音箱APP里,搜索"aihome"技能,绑定账号(步骤1注册的账号),然后愉快地玩耍吧。
最后
因为篇幅有限,很多地方无法介绍到位,有兴趣的朋友可以前往这里看更详细的介绍。将智能音箱接入Home Assitant只是一个开始,更多的玩法大家自己慢慢挖掘吧。
炎羽
校验提示文案
ren者
校验提示文案
追风的小明
//192.168.2.4/config/custom_component/aihome/ca.crt吗
校验提示文案
POKO哑虎呸呸
校验提示文案
追风的小明
校验提示文案
落霞艳
我看相关的帖子都是说domo能实现一些ha做不到的事
校验提示文案
cnk700i
校验提示文案
cnk700i
校验提示文案
落霞艳
我看相关的帖子都是说domo能实现一些ha做不到的事
校验提示文案
炎羽
校验提示文案
POKO哑虎呸呸
校验提示文案
追风的小明
//192.168.2.4/config/custom_component/aihome/ca.crt吗
校验提示文案
追风的小明
校验提示文案
ren者
校验提示文案