搭建智能家居系统
- 搭建智能家居系统(1)
-
- 介绍
- 软件安装
-
- 简便安装
- Home Assistant
- Home Bridge
- Home Bridge – Home Assistant
- 相关配置
-
- HASS 配置框架
-
- 主文件设置
- Homebridge 设置
- 鹬蚌相争
- 设备追踪设置
搭建智能家居系统(1)
介绍
将 Pi 接入智能家居控制系统并不新鲜,现有通过 Homebridge (下称「HB」)接入 Homekit 的教程本身已经非常全面,但是由于 Homekit 本身的局限性,使其对智能家居设备的支持广度和深度不足,间接影响了用户的使用体验。例如,早期 homebridge-aqara 插件并不支持小米 关 2 的自带灯光控制,白白浪费了设备的功能。
为了摆脱这一束缚,我们可以利用另一个强大的智能家居平台:Home Assistant(下称「HA」)。
Home Assistant 是一个成熟完整的基于 Python 的智能家居系统,设备支持度高,支持自动化(Automation)、群组化(Group)、UI 客制化(Theme) 等等高度定制化设置。背后又有庞大的 群基础,且不断在更新。最重要的是我们可以通过 Homeassistant-homebridge 插件打通两个平台,同样实现设备的 Siri 控制。整套体系的框架如下:
前面的软件安装完成后,我们就可以在 IOS 的家庭中访问了(这里需要扫描 Homebridge 运行时生成的二维码或者输入 8 位设备编码或者在 app 中可以自动发现设备)
大多数人初接触 HASS 的时候经常一头雾水,原因是 HASS 的配置体系十分混乱,一个设备的完美接入需要涉及多个配置文件。实际上,系统架构不清晰也是 HASS 的最大缺点,因此,在开始配置教程前,我先帮助大家捋一捋 HASS 的配置框架。
HASS 配置框架
HASS 的核心配置围绕 文件展开, 在这里你可以进行时区、度量单位、开发者模式、主题选择等等基础配置。当然,最为重要的,你将在该文件内完成所有设备的接入。这也是本篇教程的重点。
HASS 的运行依赖于一个个相对独立的功能组件(Components),比如小米米家平台就可以视作一个组件。有些时候,部分设备或者功能仍未得到 HASS 的官方支持,你必须在主目录下新建自定义组件 custom_components 文件夹,添加相关的设备支持文件。
完成上述的文件修改,加上 HB 的配置,你就可以自如控制所有智能家居设备了。
然而,使用一段时间后,你可能会觉得设备太多显示凌乱,想给界面换个风格,或者 文件看起来要炸了。此时,你会考虑把部分配置剥离出去形成独立的文件,以满足你的强迫症。例如你开启了“设备追踪功能”(Device Tracker),那么 HASS 将在主文件下自动生成 文件,你将在这里配置需要追踪的设备。
主文件设置
上篇中已经安装了 SFTP ,使用 FileZilla 软件连接上树莓派,既可以访问树莓派的文件系统,配置文件位于
打开 ,文件默认包含如下内容,我们按需修改:
正常情况下,剩下的部分便无须变动了。现在添加雅虎天气服务小试牛刀一下吧:
其中,woeid 是城市代码,打开雅虎天气官 输入城市后搜索,url 的最后几位数字便是
请大家记住此步指令,今后若出现重新配置 HA、HB 导致 iOS 设备无法识别新设备或树莓派的,大部分情况均可以使用此指令解决。
这样我们就完成了 Homebridge 的设置,重启 Homebridge:
经过上述设置,我相信你的智能家居设备已经在 HA 和 HB 里稳定运转了,现在不妨尝试使用 Siri 操控你的设备。
鹬蚌相争
我们知道 Homebridge 本身可以通过安装插件的方式将智能设备接入 Apple Home 平台,有的时候设备同时支持 HA 和 Apple Homekit 2 个平台,这时我们就面临平台选择。
首先,这个问题只存在 iOS 以及未来的 macOS 用户身上,因为只有你们可以使用 Siri,才可以痛并快乐着。 对于其他终端系统的用户而言,要么和设备厂家的 app 斗智斗勇,要么享受 HA 页操控的快感,至于语音控制,就还需等待了。
其次,以米家设备为例,同是 关,HA 可以控制夜灯功能,获取光感数据,Homekit 则不能;而针对扫地机器人,HA 的接入方法十分复杂,且现阶段只能实现开关功能,HB 的插件安装配置更为容易,且可以控制吸力……可以说两个平台之间没有绝对的胜者,都需要具体情况具体分析。个人认为大多数情况下,HA 对设备的支持更好,并且基于 群支持,跟进速度也更快。
在这里再次提醒初学者:二者必取其一,同一设备请通过一个平台接入,否则未经『自定义设置』将产生冲突。
对于已经将设备通过 HB 接入,但想转入 HA 平台的派友,这里提供如下兼容方案:
- 在 HA 接入相关设备,详见上文。
- 在 HA 主页面侧边栏,点击下方 “<>”,获取设备的 entity ID:
则该设备将在 Homebridge 中被隐藏,重启后不会被 家庭 App 重复识别添加。
此时,你可以通过 Apple Homekit 和 HA 平台同时控制该设备。
设备追踪设置
HA 可以追踪同一路由器内 设备联 状态,我们转换一下思路,便可以利用这个系统判断家人是否在家等,非常方便。
我的路由器是 ASUS AC66U-B1,HA 原生支持大部分品牌的路由器,包括小米路由器、TP-LINK 等。不同的路由器对应配置方法不同,具体请大家前往 官 查询。设置前需要打开路由器的 SSH 模式,请大家设置好密码等,保护数据安全。建议设置仅限 LAN 用户拥有 SSH 权限。
打开 文件,末尾添加:
不出意外,重启 HA 后,主文件夹下便会自动生成 文件,打开之后你会发现,系统已经自动为嗅探到的连接到路由器的设备添加了默认配置:
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!