(一) 天猫精灵接入Home Assistant- hass对接天猫精灵

 

 1如何利用论坛的认证服务器对接天猫精灵



提及天猫精灵的接入,最先是由c1pher(25989406)大神经过开发自定义技能接入,后面qebabe大神进行了改进,能够直接经过HASS API读取hass中的设备,但因为接入方法限制,还须要自行搭建php+mysql环境,还要搞oauth认证,让不少人望而却步。

以后,天猫精灵支持了飞利浦hue,这意味着能够经过HaBridge模拟hue进行接入,可是此方法接入很不稳定,不是搜不到设备就是控制不了,也非常让人头疼。

最近c1pher大神搞定了多用户支持,而且c大和q大高风亮节,将核心代码共享给了论坛,这才有了今天的天猫精灵官方技能(名称“HASS智能”)!

此接入方法优势是方便,只须要在天猫官方APP中绑定帐户(用论坛帐号登陆便可,不须要另行注册),而后在配置页面填入HASS公网地址和密码,便可添加设备。设备添加后,会自动同步到天猫精灵APP中。

须要说明的是,论坛提供的官方技能至关于架设了一个多用户oauth受权服务器,同时做为桥,经过https与天猫精灵服务器通信,桥的另外一端就是用户的hass。所以,须要您的hass在公网能够访问到,而且须要提供hass密码来经过hass api来读取设备和响应天猫精灵的操做。

使用此方法接入前,请参阅隐私政策,继续接入表示您已赞成该政策。

接入方法:php

1 hass对接天猫精灵----帐号绑定

首先打开天猫精灵app,点击“个人”> “智能家居”> 点右上角 + 号 > 找到“HASS智能”

 点击进入,阅读相关说明后,点击绑定帐号,此时会提示你登陆,用论坛帐号和密码登陆后,会跳转到受权页面,点击 YES,确认受权后,即为绑定成功。

 2 将本身公网ip能够访问到的hass服务器和论坛的认证服务器绑定

原本应该是是本身的hass服务器完成和天猫精灵的认证和控制命令传输,可是须要在国家报备的域名,和一些列复杂的认证操做设置,为了省事直接使用论坛服务器。html

论坛提供的官方技能至关于架设了一个多用户oauth受权服务器,同时做为桥,经过https与天猫精灵服务器通信,桥的另外一端就是用户的hass。所以,须要您的hass在公网能够访问到,而且须要提供hass密码来经过hass api来读取设备和响应天猫精灵的操做。mysql

2 hass设置,添加hass已有的控制设备(灯)给天猫精灵APP控制设备
而后,用浏览器打开此页面:https://bbs.hassbian.com/tmall
 

重要提示!重要提示!重要提示!
输入hass地址时,必定要带上 http:// 或者 https:// ,还有端口号!不然可能控制不了!!
格式以下(最后不要有斜杠):
http://hass.test.com:8123   
 
  目前全部在hass里设置的位置和别名均可以在天猫精灵APP中修改(修改后操做以app中设置的位置和别名为准)
因为天猫精灵的传感器目前还没法设置别名,只能经过选择位置区分,且在HA中同一个传感器不一样的参数值有不一样的entity_id,因此目前每一个区域(位置)只能设置一个传感器,若是同一个位置设置了多个传感器,天猫精灵没法区分会致使查询不到结果。

2搭建本身的HomeAssistant能够在公网被访问,并添加一个自定义设备

添加设备
以前添加了一个MQTT的灯,如今添加到天猫精灵 
选择 --实物设备-属性按下面选择
设备ID自动弹出
 
http://本身的域名:本身的端口/states
 

3绑定后进入天猫精灵APP,添加本身的HomeAssistant上原有的设备

https://bbs.hassbian.com/tmall/discovery.phpsql

 




设备管理页面中,点击deviceid(设备ID),这时会自动列出您HomeAssistant中支持的设备,选择想添加到天猫精灵里的设备进行添加api

位置须要在列表中进行选择,品牌、型号能够简单填一下。浏览器

 

properties(支持的属性状态)要按您的设备进行选择,好比网关灯、yeelight灯支持亮度颜色调整,就须要选择:电源状态、颜色、亮度,传感器就须要选择对应的:温度、湿度、PM2.5。服务器

action(支持的操做)对基本设备须要选择打开、关闭、查询开关状态,传感器须要选择对应的温度、湿度、PM2.5的查询,特殊的灯须要选择设置亮度、设置颜色。网络

 

添加完成后刷新天猫精灵APP里的设备列表就能够看到你刚刚添加的设备了,也有可能会有必定延时,没有的话稍等5分钟再看。app

在天猫精灵APP中完善位置和别名,APP里修改后全部操做以app中的位置和别名为准ide


其实很简单,受权后,在设备管理界面,添加设备后,会自动同步到天猫精灵,在天猫精灵APP中更改一下位置和名称别名,在天猫精灵控制时,以在天猫精灵app中设置的位置和名称为准。

你能够说“天猫精灵,打开次卧台灯”,“次卧台灯的状态”,“客厅传感器的温度”

 

 打开天猫精灵 app -智能家居

发现多了个设备

 

 

换个名字

位置+名称

客厅的灯

更多操控

 5实际测试下

拔一块红色的方糖天猫精灵(冒着深夜叫人被打的风险把某人叫醒,解锁手机解除绑定给我用)

 

 

 按照提示,使用 位置+名称方式 呼叫

-我:天猫精灵,把客厅的灯打开

 -猫:好的,已经打开

手机开启设备监听,模拟一个插座设备,确实收到 "ON"命令,届时只需把这个命令给ESP8266硬件终端解析下作出闭合动做。

 

下一步改进:

1目前使用速度还能够,可是毕竟蹭了大神的认证服务器,且架设在日本,后期搭建本身的认证服务器。(有空再说吧,路漫漫长修远兮)

https://bbs.hassbian.com/forum.php?mod=viewthread&tid=3910&extra=page%3D1%26filter%3Ddigest%26digest%3D1

我一开始使用论坛的服务,发现有2个问题,1是延迟比较严重,由于论坛服务器在日本,2是传感器不能查询,这个问了大神知道了也是延迟的问题。
若是你的天猫精灵也会常常出现“智能家居控制暂时使用不了呢”这样的状况,十有八九是你那里的网络延迟比较高

这是个示意图,若是你自建服务,而且将服务器放在hass所在的本地,那么能够节约2个过程的时间,1是访问国外服务器,2是访问hass,由于是本地操做,局域网或者本机,基本没有延迟,事实证实,这样作确实解决了前述两个问题

 

2 搞个ESP8266配合继电器接入灯的电路,实现实际 控制。

 https://www.cnblogs.com/post/readauth?url=/kekeoutlook/p/9420838.html