相信大家通过之前的 安装篇已经成功安装了 Home Assistant (HASS) 和 Homebridge,在这篇文章中,我将带领大家接入智能家居设备。
大多数人初接触 HASS 的时候经常一头雾水,原因是 HASS 的配置体系十分混乱,一个设备的完美接入需要涉及多个配置文件。实际上,系统架构不清晰也是 HASS 的最大缺点,因此,在开始配置教程前,我先帮助大家捋一捋 HASS 的配置框架。
HASS 配置框架
HASS 的核心配置围绕 configuration.yaml
文件展开, 在这里你可以进行时区、度量单位、开发者模式、主题选择等等基础配置。当然,最为重要的,你将在该文件内完成所有设备的接入。这也是本篇教程的重点。
HASS 的运行依赖于一个个相对独立的功能组件(Components),比如小米米家平台就可以视作一个组件。有些时候,部分设备或者功能仍未得到 HASS 的官方支持,你必须在主目录下新建自定义组件custom_components
文件夹,添加相关的设备支持文件。
完成上述的文件修改,加上 HB 的配置,你就可以自如控制所有智能家居设备了。
然而,使用一段时间后,你可能会觉得设备太多显示凌乱,想给界面换个风格,或者configuration.yaml
文件看起来要炸了。此时,你会考虑把部分配置剥离出去形成独立的文件,以满足你的强迫症。例如你开启了“设备追踪功能”(Device Tracker),那么 HASS 将在主文件下自动生成 known_devices.yaml
文件,你将在这里配置需要追踪的设备。本篇教程也将涉及相关内容。至于主题设置、群组设置等其他非功能性设置,我将在之后的”个性化配置“中详细介绍。
下面正式开始介绍配置方法,这里以小米米家智能家居设备为例。当然,HASS 原生支持数千款智能家居设备,具体列表 见此。
主文件设置
上一篇教程中我们已经打开了 SMB 服务,现在我们通过 smb 打开 HASS 主目录。
打开configuration.yaml
,文件默认包含如下内容,我们按需修改:
homeassistant: #经纬度 latitude: 32.87336 longitude: 117.22743 #海拔 elevation: 430 #度量单位,默认米 unit_system: metric #时区 time_zone:Asia/Shanghai #系统昵称,显示在主界面顶部 name: Home
正常情况下,剩下的部分便无须变动了。现在添加雅虎天气服务小试牛刀一下吧:
weather: - platform: yweather woeid:2151849
其中,woeid是城市代码,打开雅虎天气官网输入城市后搜索,url的最后几位数字便是
保存,重启 HASS。
恭喜你,接入了第一个 HASS 组件~ 现在你大概明白 HASS 是怎么个操作原理了,我们转到 homebridge 进行相关设置。
Homebridge 设置
执行指令前,请保证曾经运行过一次 Homebridge。注意:如果添加了开机自启任务,勿重复运行 Homebridge,否则会出现端口占用错误。
cd /home/pi/.homebridgesudo nano config.json{"bridge": {"name": "Homebridge","username": "CC:22:3D:E3:CE:30(树莓派MAC地址)","port": 51826,"pin": "123-45-678(连接密码,自行设定)"},"platforms": [{"platform": "HomeAssistant","name": "HomeAssistant","host": "http://树莓派地址:8123","password": "raspberry","supported_types": ["fan", "binary_sensor", "sensor", "garage_door", "input_boolean", "light", "lock", "media_player", "rollershutter", "scene", "switch"]}]}
ctrl+x,y,回车。我们就完成了 Homebridge 的设置。
鹬蚌相争?
我们知道 Homebridge 本身可以通过插件的方式接入智能设备,有的时候设备同时支持 HASS 和HB 2 个平台,这时我们就面临平台选择。
首先,这个问题只存在 iOS 以及未来的 macOS 用户身上,因为只有你们可以使用 Siri,才可以痛并快乐着。 对于其他终端系统的用户而言,要么和设备厂家的app斗智斗勇,要么享受 HASS 网页操控的快感,至于语音控制,就还需等待了。
其次,以米家设备为例,同是网关,HASS 可以控制夜灯功能,获取光感数据,HB 则不能;而针对扫地机器人,HASS 的接入方法十分复杂,且现阶段只能实现开关功能,HB 配置更为容易,且可以控制吸力……可以说两个平台之间没有绝对的胜者,都需要具体情况具体分析。个人认为大多数情况下,HASS 对设备的支持更好,并且基于社群支持,跟进速度也更快。
有一点请大家务必注意:二者必取其一,同一设备请通过一个平台接入,否则将产生冲突。
设备追踪设置
HASS 可以追踪路由器联网设备状态,我们转换一下思路,便可以利用这个系统判断家人是否在家等,非常方便。
我的路由器是 ASUS AC66U-B1,HASS 原生支持大部分大厂的路由器,包括小米路由器。设置前需要打开路由器的 SSH 模式,请大家设置好密码等,保护数据安全。
打开configuration.yaml
文件,末尾添加:
device_tracker: - platform: asuswrt #根据平台填写,小米路由器为xiaomi host: 192.168.50.1 #路由器Ip username: admin #管理员账号 password: elena1*SHY #管理员密码 track_new_devices: no #是否自动添加新设备
不出意外,重启 HASS 后,主文件夹下便会自动生成known_devices.yaml
文件,打开之后你会发现,系统已经自动为嗅探到的连接到路由器的设备添加了默认配置:
devicename: name: Friendly Name #昵称 mac: EA:AA:55:E7:C6:94 #mac地址 picture: https://home-assistant.io/images/favicon-192x192.png #图片icon: mdi:human-female #图标,和图片取一个设置 track: yes #是否追踪 hide_if_away: no #离开后是否自动隐藏
经过上述设置,我相信你的智能家居设备已经在 HASS 里稳定运转了,现在不妨尝试使用 Siri 操控你的设备。
在接下来的教程中,我将指导大家如何进行自动化配置,真正实现人工智能,摆脱遥控的束缚。
由于大家对小米设备的积极性很高,我为此撰写了独立教程,欢迎 前往阅读。
虽然 49.0 没有更新相关内容,但是我在 Github 源文件中看到了 xiaomi.py
的身影,看来很快 HASS 就要原生支持米家平台了。