如何使用小爱音响控制海尔等第三方平台设备
如何使用小爱音响控制海尔等第三方平台设备
- 一、 前言
- 二、 准备工作
- 1.设备需求
- 2.软件平台需求
- 3.设备环境
- 三、详细流程
- 1. HOMEASSISTANT配置
- 1.安装HACS插件
- 2.安装Haier插件
- 3.安装小米插件
- 4.安装bemfa平台
- 2.bemfa平台配置
- 2.1.先看下bemfa平台说明:
- 2.2 bemfa平台配置
- 2.2.1 bemfa平台注册获取私钥
- 2.2.2 bemfa平台绑定homeassistant
- 2.2.3 米家绑定bemfa平台
- 3. haier智家设备同步
- 4.homeassistant上的bemfa设备同步
- 附录小爱音响控制海尔面板视频
一、 前言
首先肯定有人会问我,为啥要搞这么非主流的操作,用小爱音响去控制海尔的设备,市面上都找不到多少海尔的生态,那必然是用抽象的方法去应对抽象的操作,如下图所示,开发商配备了全套的海尔智家设备,这些玩意我在市面上找一个都难,抽象开发商搞了全套。这些4寸屏官网售价1500一个,6寸屏官网售价2000多,全部换米家的话不算米家成本,起码海尔全套就要拆掉1W多的成本。所以我想看看有没有办法通过桥接第三方平台转发米家控制消息去控制海尔的设备。
下图左边是海尔智家的全套设备,右边是我家的米家设备
二、 准备工作
1.设备需求
【1】一台NAS或一台HA主机,优先使用nas方便点毕竟开不开HA nas都得24h开机,单独搞HA主机也是24h开机
【2】任意一台带蓝牙mesh功能的小爱音响
【3】海尔智能开关面板,作为被控设备
2.软件平台需求
【1】第三方bemfa平台
【2】科学上网流畅访问github网站
【3】mobxterm软件用于连接nas或者HA主机
【4】打开nas或者ha主机的ssh连接功能,需要修改文件
【5】REQABLE小黄鸟软件用于抓包
【6】海尔智家账号,并成功绑定设备
【7】米家账号并成功绑定小米音箱
3.设备环境
为了确保各位百分百成功,建议保持和我一样的系统环境和HA安装方式,我的homeassistant是非docker安装的
我是群晖NAS主机+社群套件中心的Homeassistant,nas开了网络代理用于加速github,后面会需要从github下载很多库。
三、详细流程
下图是完整的一套小爱音箱打开海尔玄关灯的流程
1. HOMEASSISTANT配置
1.安装HACS插件
HACS插件相对于一个应用市场,可以拉取github上的非官方插件进行安装,比如我们要使用的haier插件就是要通过hacs去安装的,安装完左边可以在状态栏看到HACS的选项
2.安装Haier插件
这个haier插件实际是源自github上的banto6插件,作者因为受到律师函已经很久没有更新了,但是不影响我们个人玩家非商业使用。
记得要使用我勾选的插件,下面有一个haierOn的插件没有用,那个插件只能同步haierON上的数据无法同步海尔智家的数据。
3.安装小米插件
在设置里面添加集成,发现有很多小米插件可以选择,我们选择XIAO MIot Auto这个,这个可以直接同步米家账号下的所有智能设备到homeassistant上
4.安装bemfa平台
这里比较复杂,HACS下载完,在设置->集成添加bemfa可能会失败,报如下错误
homeassistant添加bemfa失败原因在于,bemfa平台很久没更新了,上一次更新是在10多个月前,最新版本的homeassistant需要修改下设置才能成功加载bemfa插件。
解决方法社区大神给出了答案,参考去修改几个文件就行。
解决办法:https://github.com/larry-wong/bemfa/pull/70/files
这里需要通过ssh连接你的HA设备,然后在vi编辑器中修改文件再保存。参考修改就行不要夹带私货。
2.bemfa平台配置
https://github.com/larry-wong/bemfa
2.1.先看下bemfa平台说明:
使用
1. 注册巴法云账号,并获取密钥
2. 在HACS中搜索 bemfa 安装,或者 clone 此项目, 将 custom_components/bemfa 目录拷贝至 Home Assistant 配置目录的 custom_components 目录下。
3. 重启 Home Assistant 服务。
4. 在 Home Assistant 的集成页面,搜索 “bemfa” 并添加。
5. 根据提示输入巴法云密钥后提交
6. 安装成功后,点击集成左下角“选项”,同步需要的实体至巴法云。
7. 在智能音箱App中添加巴法云设备:
小爱同学: 在米家app–>我的–>其他平台设备–>点击添加–>找到"巴法",输入巴法云账号即可,设备会自动同步到米家。
天猫精灵: 打开天猫精灵app,在app中搜索:巴法云。找到巴法云技能,点击绑定账号,登陆你的巴法云账号.
小度音箱: 打开小度音箱app或者小度app,在app首页点+号–>添加设备–>搜索巴法,找到"巴法",输入巴法云账号即可。
优势
1. 操作简单,只需要下载一个插件,且是可视化配置。
2. 无需公网 ip, 无需 NR.
2.2 bemfa平台配置
2.2.1 bemfa平台注册获取私钥
先注册一个bemfa平台,注册完会有一个私钥
2.2.2 bemfa平台绑定homeassistant
在homassistant里面找到你的bemfa插件,贴上这个私钥,你的bemfa云就和homeassistant联通了。
下一步要做的是把bemfa云和你的米家绑定,这样你的米家指令就能通过bemfa去控制海尔设备了。
2.2.3 米家绑定bemfa平台
如下图,在我的里面找到绑定其他平台然后选择bemfa,这里的同步设备可以先不要同步,在homeassistant上选完后设备再同步。
至此,homeassistant平台和米家平台通过bemfa第三方平台连接起来了,bemfa相当于一个中介,转发一下mqtt消息
3. haier智家设备同步
重头戏来了,因为haier关闭了生态接口导致后面homeassistant同步haier设备都很麻烦,不能直接通过haier智家账号去登录了,需要下面的两个id去登录,一个叫client id一个叫refresh token,这两个参数都需要在登录海尔智家瞬间,抓取json包区获取,我最开始是尝试手机app抓包,电脑连接adb不知道为什么抓到的包数据是错误的,一直认证失败。后面有个邻居提供了一个好思路,小程序抓包,我成功抓到这两个参数,下面发一组可能的数据格式,一切以实际抓包结果为准。
{"retCode": "00000","retInfo": "操作成功","data": {"tokenInfo": {"accountToken": "77ea7dc5e2fb4a48969cc17926b32bec","expiresIn": 863999,"tokenType": "bearer","refreshToken": "946e489911c940918bw91cd9969762a5","uhomeAccessToken": "77ea7dc5e2fb4a48969cc17926b32bec","uhomeUserId": "1436568322","uocUserId": "1436568322","captchaToken": null,"captchaImage": null,"scope": null}}
}
同步后homeassistant上就能看到所有海尔智家的设备了
这里我也通过测试了通断HA上的设备开关,看到了海尔智家APP上设备确实被控制了,至此一切链路都通了,剩下的就是bemfa设备同步了
4.homeassistant上的bemfa设备同步
这里是纯搬砖的活了,需要足够耐心找到你的设备,然后同步到bemfa平台上
homeassistant上找到你家设备,点击同步设备,然后在编辑同步上就能看到具体同步了哪些设备,同步完成后在bemfa云平台再二次确认下。
在bemfa云网站平台的mqtt云上看下这些设备都同步了吗
最后再在米家上同步bemfa云设备到米家虚拟终端上,如果出现以下设备就证明同步成功了,后面的关键词和自动化设置请自行玩转米家和小爱音响APP
附录小爱音响控制海尔面板视频
附录一个小爱音响控制海尔开关的视频,海尔开关面板连接一个普通LED灯,通过bemfa平台中转稍微有点延迟,但是可以接受。
小爱音响控制海尔设备