之前介绍了如何在树莓派上安装HomeAssistant,下面来介绍一下怎么在已经安装好的HomeAssistant中添加小米的多功能网关。

需要用到一个开源项目“HomeAssistant Xiaomi Hub Component by Rave (Lazcad)”,在GitHub上可以找得到,项目地址是https://github.com/lazcad/homeassistant

下载回来之后,将其中的components目录拷贝到你的HomeAssistant配置文件目录中,并重命名为“custom_components”。

由于这个插件在开发时用到了pycrypto,所以我们还要安装一下Python的这个包:

sudo pip3 install pycrypto

安装成功之后,修改HomeAssistant的配置文件:

sudo vi configration.yaml

在配置文件的最后,添加下面内容:

xiaomi:
 gateways:
   sid: xx:xx:xx:xx:xx:xx
   key: xxxxxxxxxxxxxxxx

其中,sid是小米多功能网关的MAC地址,key是小米多功能网关的局域网通信协议密码。

保存之后,就可以重启HomeAssistant服务了:

sudo service hass-daemon restart

重启成功后,就可以在HomeAssistant的管理界面中看到小米多功能网关的简单开关了,如图:

默认情况下,可以查看当前的光照亮度,以及控制多功能网关的LED夜灯。

接下来,咱们可以在配置文件中添加网关的子设备,以及自定义智能动作。

首先在米家App中添加网关子设备:

编辑HomeAssistant的配置文件automations.yaml:

sudo vim automations.yaml

添加下面的内容:

# 米家无线开关(单击)
- id: Wireless_switcher_single_click
  alias: "v 无线开关(单击)"
  trigger:
    - platform: event
      event_type: click
      event_data:
        entity_id: binary_sensor.switch_158d000xxxxxx
        click_type: single
  action:
      service: light.toggle
      entity_id: light.gateway_light_34ce00xxxxxx

其中trigger->event_data->entity_id的值对应的是无线开关的entity_id;action->entity_id对应的则是需要控制的设备的entity_id。

保存配置后,重启HomeAssistant服务:

sudo service hass-daemon restart

如果没有什么意外的话,HomeAssistant已经启动了,刷新页面,就能看到新添加的开关: