homeassistant 接入天猫精灵填坑版 您所在的位置:网站首页 redline手链官网 homeassistant 接入天猫精灵填坑版

homeassistant 接入天猫精灵填坑版

2023-09-25 18:27| 来源: 网络整理| 查看: 265

home assistant 接入天猫精灵填坑版 背景

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

使用的homeassistant版本103

本文写于2020/04/24

参考

主要是参考  cnk700i 大大文章,使用大大的插件实现接入功能

https://ljr.im/articles/plugin-smart-speaker-access-home-assistant-integration-plusplus/

接入步骤参考

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

oAuth2 认证参考  feversky 大大的文章

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

步骤 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 ID 和 Client Secret

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

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

JyzeLq.png



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有