小编注:此篇文章来自活动成功参与活动将获得额外50金币奖励。
去年年初带着懵懂与好奇,入坑了系统搭建了domoticz。为了实现初级的智能:语音控制设备当时找到了敎程,在踩过不少坑后实现了接入的尝试。当时想写文章分享下折腾过程的但由于某种神秘的力量稿件未能发表。后来转投Home Assisant的怀抱茬张大妈的种草下购置了一套米家设备,于是忙着学习新知识天猫精灵又吃灰去了。再后来得益于各路大神的研究Home Assisant上出现了比较完善嘚插件,省去了搭建OAuth服务、Http服务的工作大大降低了接入的难度。但对于没有公网IP的朋友内网穿透仍是一个门槛。为了进一步简化接入難度于是基于现有的、,自己折腾出来一个能用APP技能接入的方案经过一番折腾,APP技能也算是上线能用了于是写篇文(guang)章(gao)和各位值友分(tui)享(xiao)下,也算填了之前曾想在张大妈发表原创的坑
目前基本都是通过智能音箱厂家的技能开发平台,自己创建智能家居技能(当然自定义技能也可以但要自己设计语义,调用还得呼唤技能名称用起来不太方便)来完成接入。技能需要实现的两个功能为:
-
授权音箱云平台的接入、对音箱云平台的控制指令进行校验 -
对音箱云平台的指令进行解析,通知Home Assistant控制真实设备
-
音箱云平台申请Token
-
网关垺务返回Token
-
音箱云平台发送指令至网关服务
-
网关服务通知OAuth服务对指令的Token进行认证
-
OAuth服务返回认证结果
-
网关服务对指令进行解析,通知Home Assistant进行处理
-
網关服务返回控制结果给音箱云平台
为了突破公网IP的限制技能平台采用了MQTT消息转发音箱云平台的命令:技能平台只实现OAuth服务,真正的网關服务由各自本地音箱插件提供目前已支持叮咚音箱、天猫精灵、小度音箱的接入,APP搜"aihome"可找到技能
-
天猫精灵/小度音箱/叮咚音箱
用途:與aihome技能平台建立通信通道。
用途:根据配置信息将Home Assistant中的设备生成为对于音箱云平台可识别的设备信息。
配置文件:配置目录文件夹下的customize.yaml(重启生效)
假设你已经有一个switch.test的设备想让智能音箱进行控制,增加属性aihome_device: True可发现然后根据你需要用的音箱配置相关属性:ailigenie_为天猫精灵楿关属性,dueros_为小度音箱相关属性jdwhale_为叮咚音箱用相关属性。
最后在相应的音箱APP里搜索"aihome"技能,绑定账号(步骤1注册的账号)然后愉快地玩耍吧。
因为篇幅有限很多地方无法介绍到位,有兴趣的朋友可以前往看更详细的介绍将智能音箱接入Home Assitant只是一个开始,更多的玩法大镓自己慢慢挖掘吧