关爱吃灰智能音箱,从接入Home Assistant做起:用APP技能实现叮咚音箱、天猫精灵、小度音箱接入

2019-02-25 11:05:41 26点赞 289收藏 16评论

前记

去年年初,带着懵懂与好奇,入坑了智能家居系统,搭建了domoticz。为了实现初级的智能:语音控制设备,当时找到了教程,在踩过不少坑后,实现了天猫精灵接入的尝试。当时想写文章分享下折腾过程的,但由于某种神秘的力量稿件未能发表。后来转投Home Assisant的怀抱,在张大妈的种草下购置了一套米家设备,于是忙着学习新知识,天猫精灵又吃灰去了。再后来得益于各路大神的研究,Home Assisant上出现了比较完善的智能音箱插件,省去了搭建OAuth服务、Http服务的工作,大大降低了接入的难度。但对于没有公网IP的朋友,内网穿透仍是一个门槛。为了进一步简化接入难度,于是基于现有的天猫精灵插件小度音箱插件,自己折腾出来一个能用APP技能接入的方案,经过一番折腾,APP技能也算是上线能用了,于是写篇文(guang)章(gao)和各位值友分(tui)享(xiao)下,也算填了之前曾想在张大妈发表原创的坑。

智能音箱是怎样接入Home Assistant的

目前基本都是通过智能音箱厂家的技能开发平台,自己创建智能家居技能(当然自定义技能也可以,但要自己设计语义,调用还得呼唤技能名称,用起来不太方便)来完成接入。技能需要实现的两个功能为:

  • OAuth服务


    授权音箱云平台的接入、对音箱云平台的控制指令进行校验。

  • 网关服务

    对音箱云平台的指令进行解析,通知Home Assistant控制真实设备。

整体工作流程如下:

  1. 音箱云平台申请Token

  2. 网关服务返回Token

  3. 音箱云平台发送指令至网关服务

  4. 网关服务通知OAuth服务对指令的Token进行认证

  5. OAuth服务返回认证结果

  6. 网关服务对指令进行解析,通知Home Assistant进行处理

  7. Home Assistant返回控制结果

  8. 网关服务返回控制结果给音箱云平台

关爱吃灰智能音箱,从接入Home Assistant做起:用APP技能实现叮咚音箱、天猫精灵、小度音箱接入

方案介绍

为了突破公网IP的限制,技能平台采用了MQTT消息转发音箱云平台的命令:技能平台只实现OAuth服务,真正的网关服务由各自本地音箱插件提供。目前已支持叮咚音箱、天猫精灵、小度音箱的接入,APP搜"aihome"可找到技能。

关爱吃灰智能音箱,从接入Home Assistant做起:用APP技能实现叮咚音箱、天猫精灵、小度音箱接入

接入流程

0.准备

  • Home Assistant(建议版本0.82.0左右)+相应智能设备

  • 下载插件

  • 天猫精灵/小度音箱/叮咚音箱

  • 折腾的心

1.注册账号

前往注册页面注册

关爱吃灰智能音箱,从接入Home Assistant做起:用APP技能实现叮咚音箱、天猫精灵、小度音箱接入

2.获取AppKey和AppSecret

打开账号获取页面,点击登录

关爱吃灰智能音箱,从接入Home Assistant做起:用APP技能实现叮咚音箱、天猫精灵、小度音箱接入

登录后点击按钮生成AppKey和AppSecret,填写验证码,点击保存。注意保存好AppKey和AppSecret。

关爱吃灰智能音箱,从接入Home Assistant做起:用APP技能实现叮咚音箱、天猫精灵、小度音箱接入

3.配置插件信息

用途:与aihome技能平台建立通信通道。

配置文件:配置目录文件夹下的configuration.yaml(重启生效)。

关爱吃灰智能音箱,从接入Home Assistant做起:用APP技能实现叮咚音箱、天猫精灵、小度音箱接入

4.配置设备信息

用途:根据配置信息,将Home Assistant中的设备生成为对于音箱云平台可识别的设备信息。

配置文件:配置目录文件夹下的customize.yaml(重启生效)。

假设你已经有一个switch.test的设备想让智能音箱进行控制,增加属性aihome_device: True可发现,然后根据你需要用的音箱配置相关属性:ailigenie_为天猫精灵相关属性,dueros_为小度音箱相关属性,jdwhale_为叮咚音箱用相关属性。

关爱吃灰智能音箱,从接入Home Assistant做起:用APP技能实现叮咚音箱、天猫精灵、小度音箱接入

5.APP绑定账号

最后在相应的音箱APP里,搜索"aihome"技能,绑定账号(步骤1注册的账号),然后愉快地玩耍吧。

最后

因为篇幅有限,很多地方无法介绍到位,有兴趣的朋友可以前往这里看更详细的介绍。将智能音箱接入Home Assitant只是一个开始,更多的玩法大家自己慢慢挖掘吧。

展开 收起
16评论

  • 精彩
  • 最新
  • 用的瀚思提供的服务,你能支持多久呢?

    校验提示文案

    提交
    家里宽带没断都能用吧,我自己也是这样用。你用翰思的服务,说明有公网IP,那你完全可以自己搭技能来用的,网关功能都是在HA实现的,用原版或者我这个改版的都可以。

    校验提示文案

    提交
    你好,请问下载下来的插件拷贝到什么位置啊?

    校验提示文案

    提交
    还有1条回复
    收起所有回复
  • 门槛太高 玩不转

    校验提示文案

    提交
    有home assistant基础就行啦,这门槛不高了

    校验提示文案

    提交
    会的自然不高

    校验提示文案

    提交
    还有1条回复
    收起所有回复
  • 插件目录里的ca.crt完整路径,难道要填我的主机共享地址吗,比如
    //192.168.2.4/config/custom_component/aihome/ca.crt吗

    校验提示文案

    提交
    不是网络地址,是文件路径。

    校验提示文案

    提交
    我docker装的,怎么找到地址 [尴尬]

    校验提示文案

    提交
    还有1条回复
    收起所有回复
  • 大神也上张大妈啊,改天试试

    校验提示文案

    提交
  • 厉害,我搞了花生壳的穿透,一直用论坛的猫精接入,自己弄环境太复杂

    校验提示文案

    提交
  • 相对来讲是domo用的爽还是ha用的爽呢?
    我看相关的帖子都是说domo能实现一些ha做不到的事

    校验提示文案

    提交
  • 更新:音箱APP中技能名称改成havcs了

    校验提示文案

    提交
提示信息

取消
确认
评论举报

相关文章推荐

更多精彩文章
更多精彩文章

cnk700i

Ta还没有介绍自己

关注 打赏
最新文章 热门文章
目录
289
扫一下,分享更方便,购买更轻松