『瀚思彼岸』» 智能家居技术论坛

 找回密码
 立即注册
查看: 71614|回复: 54

[基础教程] homeassistant 接入天猫精灵填坑版

  [复制链接]

5

主题

67

帖子

319

积分

论坛分享达人

积分
319
金钱
252
HASS币
10
发表于 2020-4-24 13:16:22 | 显示全部楼层 |阅读模式
本帖最后由 coriding 于 2020-5-4 13:18 编辑

home assistant 接入天猫精灵填坑版

背景

​        网上关于homeassistant 接入天猫精灵的文章很多,也有论坛接入版本,考虑到隐私和网络链接速度问题,最终还是选择自建技能和配置插件来实现天猫精灵接入。

使用的homeassistant版本103

本文写于2020/04/24

参考

步骤

1.首先下载插件

https://github.com/cnk700i/havcs

​        插件有三种模式:

  • 模式一 音箱组件http网关:通过自建测试技能接入,适合家庭宽带有公网ip或实现内网穿透场景下使用。

  • 模式二 mqtt中转+音箱组件http网关:通过自建测试技能接入,适合家庭宽带无公网ip场景下使用。

  • 模式三 mqtt中转+音箱组件直接处理:通过官方音箱APP技能接入,适合普遍场景(无需公网ip)使用。

    本文采用  模式一

插件安装很简单,把插件放置到HA自定义插件目录,最终路径结构为{HA配置目录}/custom_components/havcs

其中havcs就是你下载的那个插件文件夹

2.实现homeassitant 公网https访问

​        我是开启的全局https访问,虽然大大也说了这种不是特别好,受限制比较多,但是我只是天猫精灵控制家电,自动化直接用的脚本,如果用node-red,获取有其他需求还是用其他方式实现比较好。

具体实现方式参考下文

https://bbs.hassbian.com/thread-9506-1-1.html

3.配置天猫精灵自建技能

​                在 https://www.aligenie.com/  网站登陆,就用淘宝账号,天猫精灵也用淘宝账号登陆。这样自建技能不需要发布也可以在本地使用。

内容和&IOT技能新建技能,关键在于服务设置页面

里面需要设置以下内容

  • 账户授权连接
  • Client ID
  • Client Secret
  • Access Token URL
  • 开发者网关地址

根据  cnk700i 大大文章说明有两种方式实现oAuth2 认证

方案一

使用HA自带的授权页面 (这里大大的授权地址教程路径写错了,注意更改为下面内容)

#账户授权连接 
https://{你的域名:端口}/auth/authorize

#Client ID,填回调地址域名那一串即可(HA要求格式)
天猫:https://open.bot.tmall.com

#Client Secret
随便填写,不做校验

#Access Token URL (v3版)
https://{你的域名:端口}/auth/token 

#开发者网关地址 (v3版)
https://{你的域名:端口}/havcs/service 

方案二

我没测试成功,有没有大大可以测试一下

(v3 2020.04.05后版本增加)
#账户授权连接 
https://{你的域名及端口}/havcs/auth/authorize

#Client Id,在插件配置文件定义
与插件(配置文件)所设置的一致

#Client Secret,在插件配置文件定义
与插件(配置文件)所设置的一致

#Access Token URL
https://{你的域名及端口}/havcs/auth/token

#开发者网关地址 
https://{你的域名及端口}/havcs/service

参考截图

JBM8a9.png

4 配置HAVCS

​        我采用的是步骤3中的方案一 因此只需要配置如下

havcs:
  platform:          # 音箱平台服务网关,至少启用一个
   - aligenie        # 天猫精灵
     http:
         clients:    
           aligenie123456: adofadfadfpadofa    # 官方认证随便写
     ha_url: http://localhost:8123   # 配置了base_url需要这样写    
     device_config: ui               #开启图像界面 很好用墙裂推荐

​        配置好了重启HA就可以了,重启后你会在HA侧栏发现插件HAVCS设备,然后就可以通过图像界面关联你需要同步到天猫精灵的设备,图形化操作很强大

JB1m8I.png

​        添加设备的时候需要设置以下参数

  • device_id : 必须为指定格式,如havcs.sxxxx,havcs不能变,后面随便取名字

  • entity_id  : 必须是HA中已发现的实体,在开发者工具-状态中能找到该实体ID

    其他参数自己选就行了,没关系

JB3ZeU.md.png

​        配置所有设备以后,建议同步一下,可以用服务havcs.reload也可以点HAVCS设备同步按钮,或者重启HA。

5返回天猫精灵技能

​        点击自建技能中的测试验证

​        按照步骤做下来就能在天猫精灵技能内获取到HA的设备,在天猫精灵app中也能看见相应设备

问题处理

1、使用HA自带的认证模式存在授权过期问题

处理方法:

更换为步骤3中方案二 插件版的授权方式,可以设置授权超时。

本来我一直都没有验证成功,在大大LJR的指导下终于发现问题,原来我配置了插件的集成环境,当时自动配置了client IDClient Secret

使用上述参数配置进去就可以了。

在 HAVCS设备管理页面工具栏,最后可以看见配置

JyzeLq.png


评分

参与人数 1金钱 +20 收起 理由
+ 20 感谢楼主分享!

查看全部评分

回复

使用道具 举报

70

主题

596

帖子

3409

积分

论坛元老

Rank: 8Rank: 8

积分
3409
金钱
2813
HASS币
0
发表于 2020-4-24 15:14:51 | 显示全部楼层
小白一个,一直用molobot很方便也很简单,也稳定。但近来出问题,不知道如何解决。天猫邦定了有设备,但语音讲找不到设备。
回复

使用道具 举报

19

主题

417

帖子

2467

积分

金牌会员

Rank: 6Rank: 6

积分
2467
金钱
2045
HASS币
20
发表于 2020-4-24 16:08:00 | 显示全部楼层
能分享下设置不  我只能设置查询温度 开关灯 其他的延时 跟开关窗帘 不会设置呀
回复

使用道具 举报

2

主题

68

帖子

734

积分

高级会员

Rank: 4

积分
734
金钱
666
HASS币
10
发表于 2020-4-24 17:38:49 | 显示全部楼层
lrving163 发表于 2020-4-24 15:14
小白一个,一直用molobot很方便也很简单,也稳定。但近来出问题,不知道如何解决。天猫邦定了有设备,但语 ...

我也是这种情况,语音找不到设备,在天猫精灵后台开发页面重新进入测试页面就正常了,然后过段时间又不行了
回复

使用道具 举报

0

主题

37

帖子

204

积分

中级会员

Rank: 3Rank: 3

积分
204
金钱
167
HASS币
0
发表于 2020-4-24 17:40:06 | 显示全部楼层
想问一下 这个不能设置自定义的png吗
回复

使用道具 举报

0

主题

37

帖子

204

积分

中级会员

Rank: 3Rank: 3

积分
204
金钱
167
HASS币
0
发表于 2020-4-24 17:41:08 | 显示全部楼层
lrving163 发表于 2020-4-24 15:14
小白一个,一直用molobot很方便也很简单,也稳定。但近来出问题,不知道如何解决。天猫邦定了有设备,但语 ...

之前我是 重新在猫精设置了一遍自定义名称就能用了
回复

使用道具 举报

70

主题

596

帖子

3409

积分

论坛元老

Rank: 8Rank: 8

积分
3409
金钱
2813
HASS币
0
发表于 2020-4-24 20:20:39 | 显示全部楼层
ppxdingdang 发表于 2020-4-24 17:41
之前我是 重新在猫精设置了一遍自定义名称就能用了

是的,我之前也一样,但现在不行。
回复

使用道具 举报

70

主题

596

帖子

3409

积分

论坛元老

Rank: 8Rank: 8

积分
3409
金钱
2813
HASS币
0
发表于 2020-4-24 20:21:47 | 显示全部楼层
菲麦物联 发表于 2020-4-24 17:38
我也是这种情况,语音找不到设备,在天猫精灵后台开发页面重新进入测试页面就正常了,然后过段时间又不行 ...

入了molo群,了解到应该服务器问题。
回复

使用道具 举报

5

主题

67

帖子

319

积分

论坛分享达人

积分
319
金钱
252
HASS币
10
 楼主| 发表于 2020-4-25 08:59:35 | 显示全部楼层
yhwl8888 发表于 2020-4-24 16:08
能分享下设置不  我只能设置查询温度 开关灯 其他的延时 跟开关窗帘 不会设置呀
...

没有其他设备,测不了
回复

使用道具 举报

40

主题

2176

帖子

8286

积分

元老级技术达人

积分
8286
金钱
6095
HASS币
110
发表于 2020-4-26 08:38:27 | 显示全部楼层
我就是用的方法二  设置了300小时超时  但还是会出现授权过期   这中间可能重启过HA...折腾嘛
具体没去排查...猫精这个授权超时真的是》。。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|Hassbian

GMT+8, 2024-11-23 23:41 , Processed in 0.078589 second(s), 34 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表