【智能家居:二】HA添加各平台硬件及中文设置

上一篇介绍了部署HA平台的过程,现在简单讲一下如何将各个平台的硬件添加到HA中。

HA是一个由全球开发者共同维护的开源智能家居平台,所以能够支持的硬件有很多,理论上只要支持第三方控制或者HTTP协议的智能家居产品都可以接入。

这一篇会涉及小米网关xiaomi_aqara、博联broadlink、sonos音箱、索尼bravia电视等的接入

微信截图_20191008010403.png

配置文件的习惯

这里插入一个我个人关于HA平台配置文件configura.yaml的功能,就是可以将不同的component的内容赋值到不同的yaml文件,这样可以保证configuration文件的内容不出故障,尽量不影响启动。

比如原本的配置文件就是在configuration.yaml中进行配置

1
2
3
4
5
6
7
8
9
10
configuration:
xiaomi_aqara:
discovery_retry: 5
gateways:
- key: xxxxxxxxxxxxxxx
broadlink:
switch: xxxxxxxxx
mqtt:
mqtt_server: xxxxxx
mqtt_passwd: xxxxxx

现在可以改成

1
2
3
4
configuration:
xiaomi_aqara: !include xiaomi.yaml
broadlink: !include br.yaml
mqtt: !include mqtt.yaml

然后另外新建xiaomi.yaml、br.yaml等文件,将配置文件单独添加到对应的yaml文件中

接入小米网关

HA官网关于小米网关的资料

也可以登录墨兰大美女整理的表格,查看哪些设备是支持ha的,这时你就会发现小米的智能家居生态有多庞大,表格中的大部分支持米家的产品也都支持HA,就算不能接入HA,米家也是一个足够庞大足够完整的智能家居生态。

只有一个小米网关的情况

获取密码

打开米家app,点击右上角的菜单,点关于,然后在底下的空白处连续点击五下,就会出现隐藏菜单,然后点击局域网通信协议,打开开关,并记录密码。

添加进HA

在configuration.yaml中添加

xiaomi_aqara: !include xiaomi.yaml

然后新建一个xiaomi.yaml

复制代码

1
2
3
discovery_retry: 5
gateways:
- key: xxxxxxxxxxxxxxxx

xxxxxxxxx就是从米家app中复制的局域网通信协议密码

重启HA

代码复制完,保存两个yaml文件,重启ha

添加完网关之后,连接在网关上的所有zigbee设备包括开关和传感器都会自动添加,通过wifi或者蓝牙连接的设备还需要另外设置,详见《【智能家居:三】小米非网关设备连接》

接入博联

博联这个牌子,我从2012年就开始用,从最早的rm-home开始,那时候还不支持315/433射频,也没有S1,SP系列智能开关等等,现在真是啥都有了,但是app真的是越做越烂。关于博联的智能开关,除了官方原版,我只用过京东定制版,不支持第三方控制也就是无法接入HA。即便自身平台生态稀烂,博联由于出色的第三方控制,我也一直非常喜欢用。

博联的产品里我现在在用的主要是红外遥控用的黑豆和支持大功率电器的智能开关sp-mini

翻看官网关于broadlink设备的文档

智能开关 SP-MINI

不知道什么原因,我的设备一直没办法成功在博联自己的app(e控、智慧星)中注册,但是可以连接到wifi,所以不影响第三方控制,这里需要进入路由器,找到博联设备的IP地址和MAC地址,然后添加到ha的配置中。

路由器界面

在用户端列表中找到broadlink开头的设备,都有详细的设备名称

微信截图_20191008013905.png

添加进HA

在configuration.yaml中添加

switch: !include switch.yaml

然后新建一个switch.yaml

复制代码

1
2
3
4
- platform: broadlink
host: 192.168.1.151
mac: '34:EA:34:XX:XX:XX'
type: spmini2

注意: type这一项是设备的型号,可选项有很多

1
rm, rm2, rm_mini, rm_pro_phicomm, rm2_home_plus, rm2_home_plus_gdt, rm2_pro_plus, rm2_pro_plus2, rm2_pro_plus_bl, rm_mini_shate, sp1, sp2, honeywell_sp2, sp3, spmini2, spminiplus or mp1. SC1 devices can be registered as sp2.

红外遥控RM-mini

黑豆体积小,功耗低,在我眼里远远比小米那个智能遥控好用,只不过现在基本不用了,但还是记录一下吧

红外遥控的设备,添加之后还要学码,HA在这方面的支持做的很到位。

添加进HA

同样在switch.yaml下添加以下代码,用自己设备的IP和mac地址替换。

1
2
3
4
5
6
7
8
9
10
11
- platform: broadlink
host: 192.168.1.2
mac: 'B4:43:0D:CC:0F:58'
timeout: 15
retry: 5
switches:
# Will work on most Phillips TVs:
tv_phillips:
friendly_name: "Phillips Tv Power"
command_on: 'JgAcAB0dHB44HhweGx4cHR06HB0cHhwdHB8bHhwADQUAAAAAAAAAAAAAAAA='
command_off: 'JgAaABweOR4bHhwdHB4dHRw6HhsdHR0dOTocAA0FAAAAAAAAAAAAAAAAAAA='

switches:后面的内容也也要复制,不然有可能会添加失败。等学了别的码之后再替换掉就行了

和智能开关的配置内容差不多,只是要加入学码的内容。

Sonos智能音箱

这东西就太简单了,只要之前在app中设置好,打开HA的web界面就能无脑添加进去。

1570470657572.png

1570470649709.png

1570470678800.png

SONY BRAVIA电视

2013年以后生产的bravia系列电视机,都支持局域网控制协议,在官网文档可以找到相关的资料

路由器界面

同样的,需要在路由器界面或者电视机的设置中找到电视的IP

添加进HA

添加到HA配置文件的media_player中

1570471431280.png

web界面设置

打开HA的web界面,就会看到多出来一个配置器选项,可以添加索尼电视

微信截图_20191008013905.png

点击右边蓝色的配置,电视上就会跳出一个四位数的验证码,输入到web界面中即可完成添加。

微信截图_20191008020841.png

添加成功之后,电视就能执行一些比较基础的操作,如开关机,调音量,切换信号源等

微信截图_20191008021006.png

电视设置

如果不会自动跳出的话,可能是电视的设置没有打开

打开电视机,主菜单>设置>网络>远程设备设置,开启远程控制的开关即可。

中文名称

HA中添加的所有设备都是英文的,所以只能自行添加中文名,这里会用到configuration.yaml文件中提到的customize文件

具体格式为

1
2
硬件名称:
friendly_name: 中文名称

同时,customize文件中也可以设定很多其他选项,

比如

1
2
3
4
5
switch_broadlink1:
friendly_name: 书房电蚊香开关
hidden: true
icon: mdi:bug
group: room2

可以设置的内容很多,如果是自定义的传感器,还可以通过customize文件定义传感器类型。详见官方文档


下一篇为大家介绍MQTT平台和设备的添加,这是HA最牛逼的地方,各种DIY大神各显神通,为智能家居创造了更多的可能。