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

 找回密码
 立即注册
查看: 33288|回复: 69

[基础教程] 天猫精灵在无公网IP下不用自建服务器加入Ha最简单方法

  [复制链接]

5

主题

122

帖子

494

积分

中级会员

Rank: 3Rank: 3

积分
494
金钱
372
HASS币
0
发表于 2019-5-27 17:13:01 | 显示全部楼层 |阅读模式
本帖最后由 lipzbob 于 2019-5-29 19:26 编辑

    一、先介绍下我的环境:win10+python 3.7.3+homeassistant 0.92.2 ,无公网IP、不用自建服务器、不依赖第三方服务。
    二、现在绝大多数家庭宽带都是运营商的内网,申请公网IP着实不易,所以内网穿透是最简便易行的。我用的是frp。

      2019-05-12_083147.png

        1.下载客户端后解压如下,

2019-05-12_083637.png



        2.按如下修改frpc.ini文件

2019-05-12_083241.png


        3.运行客户端

2019-05-12_083749.png



      4.如能用自己设置的域名访问自己的Ha就已经成功。可以进行下一步。

2019-05-12_084000.png



        三、 将下面的代码放到HA的/custom_components目录下面:

                 https://github.com/feversky/aligenie/blob/master/aligenie.py  (感谢feversky写了这个插件)
                 同时在configuration.yaml里面加入下面的内容:  
                  aligenie:                                                                                                                                                                                            expire_hours: 30  (expire_hours意思是多少个小时后需要重新进行授权。)

                完成后重启HA进入下一步。

        四、在天猫的开发者平台自建新技能。

          1.在开发者平台注册登录

2019-05-12_084243.png


   
          2.在“支持中心--控制台”下添加新技能。

          3.新技能的服务设置按如下配置。(
Client Secret的内容任意真就行了


2019-05-12_084545.png




        4.测试验证中在新窗口打开,点击“账户配置”后应该出现授权登录界面

2019-05-12_084802.png





       5.输入自己的账户、密码如能返回设备列表则说明认证通过。

2019-05-12_084858.png 2019-05-12_085001.png



        五、天猫精灵最重要的三个参数(配置不当的话在设备列表里会出不来):
        1. zone:仅支持特定的区域,如客厅、餐厅等,详细看这里:https://open.bot.tmall.com/oauth/api/placelist
        2. deviceName:设备名称也只支持特定的,否则可以显示但它听不懂可能不能控制,https://open.bot.tmall.com/oauth/api/aliaslist
        3. deviceType:必须从文档中候选:http://doc-bot.tmall.com/docs/doc.htm?treeId=393&articleId=108271&docType=1
      插件会尝试自动从 HA 的配置信息中,根据一些规则尝试自动识别。但有时候可能识别不了,可以在 customize.yaml 中为设备设定天猫精灵能认出          来的区域和名称,例如:
  switch.light:      
          friendly_name: 主卧灯      
          hagenie_deviceName: 灯      
          hagenie_deviceType: light   
          hagenie_zone: 主卧  

评分

参与人数 2金钱 +25 收起 理由
xiaopi + 5 有成功的来分享一下
+ 20 感谢楼主分享!

查看全部评分

回复

使用道具 举报

5

主题

322

帖子

1345

积分

金牌会员

Rank: 6Rank: 6

积分
1345
金钱
1023
HASS币
0
发表于 2019-5-27 17:24:02 | 显示全部楼层
好内容,学习收藏了!
话说天猫精灵也有custom_components支持了?太好了!
回复

使用道具 举报

23

主题

302

帖子

2165

积分

论坛技术达人

积分
2165
金钱
1838
HASS币
110

活跃会员教程狂人

发表于 2019-5-27 17:44:03 来自手机 | 显示全部楼层
frp不是第三方服务?
回复

使用道具 举报

5

主题

122

帖子

494

积分

中级会员

Rank: 3Rank: 3

积分
494
金钱
372
HASS币
0
 楼主| 发表于 2019-5-27 19:02:12 | 显示全部楼层
cnk700i 发表于 2019-5-27 17:44
frp不是第三方服务?

如果有公网就不用frp,天猫精灵服务不需要第三方。
回复

使用道具 举报

0

主题

42

帖子

199

积分

注册会员

Rank: 2

积分
199
金钱
157
HASS币
0
发表于 2019-5-27 19:44:48 | 显示全部楼层
还得自己申请个域名吗?还得有个云服务器吗?没看懂
回复

使用道具 举报

0

主题

42

帖子

199

积分

注册会员

Rank: 2

积分
199
金钱
157
HASS币
0
发表于 2019-5-27 19:54:23 | 显示全部楼层
我想用向往Hope的家庭背景音乐系统,他们的主机中自带天猫精灵,这种可以接入咱们的ha吗?
回复

使用道具 举报

5

主题

122

帖子

494

积分

中级会员

Rank: 3Rank: 3

积分
494
金钱
372
HASS币
0
 楼主| 发表于 2019-5-27 20:56:38 | 显示全部楼层
sunny1314 发表于 2019-5-27 19:44
还得自己申请个域名吗?还得有个云服务器吗?没看懂

有免费的frp服务器,登录上直接就有个域名。
回复

使用道具 举报

5

主题

122

帖子

494

积分

中级会员

Rank: 3Rank: 3

积分
494
金钱
372
HASS币
0
 楼主| 发表于 2019-5-27 20:59:15 | 显示全部楼层
sunny1314 发表于 2019-5-27 19:54
我想用向往Hope的家庭背景音乐系统,他们的主机中自带天猫精灵,这种可以接入咱们的ha吗? ...

理论上可以,你可以试试看。
回复

使用道具 举报

8

主题

2073

帖子

6053

积分

论坛元老

流水无味

Rank: 8Rank: 8

积分
6053
金钱
3980
HASS币
145

灌水之王

发表于 2019-5-28 07:45:11 | 显示全部楼层
哥们你这是直接windows运行ha
回复

使用道具 举报

5

主题

122

帖子

494

积分

中级会员

Rank: 3Rank: 3

积分
494
金钱
372
HASS币
0
 楼主| 发表于 2019-5-28 09:38:54 | 显示全部楼层
xieahui 发表于 2019-5-28 07:45
哥们你这是直接windows运行ha

是的,其实在什么平台都是一样操作的。
回复

使用道具 举报

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

本版积分规则

Archiver|手机版|小黑屋|Hassbian

GMT+8, 2024-11-24 14:41 , Processed in 0.237259 second(s), 36 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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