构建强健的无云智能家居系统
如果您一直在考虑构建智能家居系统,您将面临两条主要路径:
-
购买即用型系统,例如 Google Home、Amazon Alexa、Apple HomePod 或 Samsung Smart Hub 等。
-
使用开源系统(如 Home Assistant 或 openHAB 等)构建您自己的家庭自动化系统。
启动智能家居系统似乎就像获取硬件并插入电源和网络电缆一样简单,但要使其强大和可靠需要策略。
最适合自己家的智能家居系统看起来很简单,因为它是根据特定目标创建的,这些目标与可靠性、稳健性和弹性相一致。 我已经创建了自己的智能家居系统,该系统无需公共云和电网功能即可工作。 以下是我过去搭建自己的智能家居系统的记录,内容可能会在旅途中不断更新。
目录
规划智能家居系统
在深入构建智能家居系统(或家庭自动化系统)的工作之前,您需要做一些规划,就像您对任何其他项目所做的一样。 这里的关键是确保您对智能家居系统应该完成的任务、正确的资源和定义明确的方法有一个清晰的认识。
确保智能家居系统是正确的解决方案
智能家居系统是对时间和资源的投资,因此您需要明确为什么要这样做,以及它是否是您想要完成的任务的正确解决方案。
让我们回顾一下在开始任何道路之前你应该问自己的三个问题:
1. 您的智能家居系统会让您的生活更加方便和轻松吗?
无论您是熟悉智能家居系统还是初学者,重要的是要了解智能家居系统是否对您有效且有效。
要微调您的计划,请考虑以下问题以帮助您了解强大的智能家居系统,这样您就有最大的机会实现目标。
- 可以在没有互联网/云的情况下在本地控制您的系统吗?
- 您的系统可以脱离电网或在暂时停电的情况下工作吗?
- 您的系统可以通过语音激活吗?
- 您的系统是否负责家庭保安系统?
- 您的系统是否具有硬件/软件冗余的容错能力?
2. 您能否维护智能家居系统?
智能家居系统很重要,可以非常有效,但一个成功的系统并不总是免维护的。
问问自己,您是否具备长期管理整个系统的专业知识。 确保您具备保持系统无故障运行的知识,并使用新功能和安全补丁进行更新。
3. 您的智能家居系统是否值得投资?
查看创建和维护您的智能家居系统所需的时间、精力和资源,并将其与您要实现的目标进行比较。 成本是否值得您的最佳情况下的结果? 什么结果会使智能家居系统充分利用您的资源? 是否有更具成本效益的方法来实现相同的结果?
很容易假设这些问题旨在影响您构建智能家居系统。 恰恰相反:它旨在帮助您做出正确的选择。 计划不周或质量低下的系统对您的日常生活帮助甚微,但会带来成本。 但是,如果您能够对这些问题中的每一个都自信地回答“是”,那么您就在通往有效且强大的智能家居系统的道路上。
一旦您清除了第一个障碍并知道智能家居系统是您想要完成的工作的正确解决方案,您就可以从一个目标开始,深入规划过程。
为您的智能家居系统制定目标
如果您不熟悉 SMART 目标的概念,那么要点如下:您的目标应该是:
- 具体的
- 可衡量
- 可操作
- 实际的
- 及时
为您的智能家居系统设置 SMART 目标不仅让您知道它何时完成,您还可以创建增量检查点来衡量进度并证明调整的合理性。
确定智能家居系统将做什么
很久以前,在智能家居系统之前,有智能设备。 没有 WiFi、Zwave 或 Zigbee 进行通信,智能设备只能自行工作。 例如,黎明/黄昏定时开关在日出/日落时打开/关闭门廊灯; 电饭煲在设定的时间准备好米饭。 家庭安全摄像头检测动作并录制视频,然后向您发送带有视频剪辑附件的电子邮件。
将智能家居系统视为负责您家中所有智能设备的中心。 它将连接所有有能力的设备,并使用自动化规则和其他技术(如语音命令)使它们更加智能。
利用智能家居系统的潜力,找到开箱即用的思考方式。 家庭自动化系统可以做的比你想象的还要多。 例如,您可以根据实时路况设置学校接送提醒,以免错过。 智能家居系统还可以作为您的家庭安全系统或实时电力/天然气表。
研究现有的智能家居系统
毫无疑问,智能家居系统作为一种方便的工具,作为一种多用途的家用电器,已经在现代家庭中流行起来。 你可以从其他系统的成功和他们的错误中学到很多东西。
对所有其他主流智能家居系统进行竞争分析,包括功能、评论和教程。 您将很快了解为什么有些系统广受欢迎,而有些系统的市场份额有限。
使用在线资源确定您的需求
您的研究应该包括查看适合您的目标的不同系统。您可以在网络上搜索以确定主流系统是什么。请记住,定义智能系统与智能设备之间的术语很重要。智能系统是控制您个人产品的总体指挥中心——想想 Alexa 或谷歌助手。从本质上讲,智能系统就是您想要某事发生时与之对话的系统。另一方面,设备是向该系统报告的单个产品——比如亚马逊 Echo 或飞利浦 Hue 灯泡。
市场上有两大阵营,各有利弊。三星 SmartThings Hub 等专有系统是专注于易用性、强大技术支持和广泛可比性的商业产品。而开源平台提供了更大的灵活性、多种集成和总体低成本。
- 专有系统
- 谷歌助理
- 亚马逊Alexa
- Wink Hub
- 三星 SmartThings 中心
- 开源平台:
- Home Assistant
- openHAB
如果您想要一个可以正常工作的智能家居系统——轻松控制灯泡、智能锁、开关或恒温器,尤其是无需深入研究技术细节,三星 SmartThings Hub 等商业产品可能更适合,因为它们提供友好的设置指南和支持设备的良好选择。
另一方面,专有系统是封闭的生态系统,可以免费或订阅高级功能将您连接到他们的产品线。开源平台对喜欢更大自由和更好可扩展性的 DIY 用户更具吸引力。
我的目标是为以下目的构建一个强大的智能家居系统:
- 从拥有 30 年历史的霍尼韦尔家庭安全系统到最新的 zwave 智能锁,尽可能多地连接到现有的家庭设备。
- 不需要*互联网或公共云
- 具有硬件和软件容错能力,这意味着
- 利用 UPS 或太阳能自给自足
- 低预算
下一步是为智能家居系统创建结构。
规划您的智能家居系统
我收集了整个房子里所有潜在智能设备的清单,它们是:
- 谷歌Home mini
- Schlage zwave 锁
- Tuya智能灯泡
- Tasmota firmware灯泡
- Yeelight 灯泡
- 谷歌 Nest 恒温器
- TP-Link Kasa 智能开关
- 霍尼韦尔 VISTA 20P 报警系统,带有线和无线传感器
- Zwave 门窗传感器
- Dome漏水传感器
- Heiman Zwave 烟雾探测器
- NEO Zwave 警报器
- HomeSeer Zwave 泛光灯
- Reolink 无线安全摄像头
为了让智能家居系统在没有云的情况下工作,智能集线器必须能够在没有互联网的情况下访问,即在家庭网络内进行本地控制。这意味着大多数专有系统都不走运。
大多数消费者智能家居系统不提供开箱即用的容错能力。最简单的方法是将智能集线器加倍,一个主要和一个辅助。这当然也会使预算增加一倍。对于开源平台选项,将软件安装到不同的硬件上是可行的,这些硬件可能是现有的,以节省资金。
如果您将智能家居系统用作家庭安全系统或与现有的独立家庭安全系统集成,那么在发生停电时,自包含的结构可能会有所帮助。通常像霍尼韦尔这样的传统家庭安全已经通过使用备用 12V 电池将其考虑在内。我们也可以遵循相同的概念,使用备用 UPS 为所有基本设备供电,包括运行软件的硬件、路由器等。您还可以进一步使用太阳能电池板和电池充电,使其脱离电网。
选择软件
现在您已经有了一个蓝图计划,是时候起草要运行的软件了。由于我们已经排除了像谷歌亚马逊三星这样的专有系统,我们需要从开源平台中选择一个。我选择了 家庭助理,因为我已经熟悉它多年了,但您绝对可以自由选择其他选项,例如 openHAB /www.openhab.org/) 这也很棒。
Home Assistant 用途广泛,可以在从 Raspberry Pi 到标准 PC 的众多硬件上运行。根据您希望如何运行 Home Assistant,该过程会有所不同。不同的安装方法导致不同的功能。以下是概述比较的简要摘要。
我个人尝试过在以下硬件上运行 Home Assistant:
- Synology NAS ds216j
- Macbook 2005
- 树莓派 3B
- 英特尔 NUC i5
我的最终架构是在英特尔 NUC 上运行Home Assistant docker 容器以及许多其他辅助容器,例如:
- 用于 zwave 设备管理的 Zwavejs2mqtt
- 用于消息代理的 Mosquitto
- 用于 tasmota firmware的设备管理的 Tasmoadmin
- Adguardhome 用于家庭 DNS 服务器
- Traefik反向代理
连接到的数据库家庭助理托管在 Synology NAS ds216j 上以提供性能冗余,因为我不想依赖 NUS 的 SSD 或任何其他容易出错的存储介质。可选的家庭助理容器也可以安装到多个 docker swarm 节点以实现弹性。 (我的上一篇文章解释了为什么 docker swarm 更适合智能家居系统。)
收集硬件
智能家居系统(HUB)的核心核心硬件
- 运行主要家庭助理节点的英特尔 NUC i5
- 运行辅助家庭助理节点的 Raspberry Pi 3B
- 运行 MySQL 数据库的 Synology NAS ds216j 家庭助手
这就构建了智能家居系统的枢纽。 一旦集线器设置并运行,就可以按区域将所有智能设备安装到它们的位置
Z-Wave 网络
- Aeon Labs Aeotec Z-Wave Gen5 USB stck 插入 NUC(控制器)
- HomeSeer Floodlight 传感器(节点 3)
- HomeSeer 泛光灯传感器(节点 4)
- 圆顶泄漏传感器(节点 5)
- Schlage zwave 锁(节点 6)
- 车库中的 Zooz 运动和振动传感器(节点 8)
- NEO zwave警报器(节点9)
- 客厅中的海曼烟雾探测器(节点 10)
- NEO 门窗传感器(节点 11)
本地网络
- Tasmota 固件智能插头和灯泡
- Gosund WP3 插头
- WAGA CHCZ02MB 电量监视器插头
- TGWF115PRM 电量监控插头
- GlobeRGBWW (costco) 彩色灯泡
- Nexete KS-602f 三路开关
- TP-Link Kasa HS200 开关
- Yeelight 单色灯泡
- Tuya灯泡和插头由 LocalTyua 控制
谷歌智能设备
- 索尼安卓电视
- 谷歌 Chromecast
- 谷歌家庭迷你音箱
- 4 个 Nest 恒温器
家庭保安系统(通过Home Assistant Envislink 集成)
- 霍尼韦尔 VISTA 20P 报警面板,通过 EnvisaLink™ EVL-4EZR For DSC & Honeywell Systems
- 有线门窗传感器
- 霍尼韦尔 5800MINI 无线传感器
- 霍尼韦尔 5822T 无线车库倾斜传感器
- 霍尼韦尔 5816OD 无线户外门传感器
- 监控摄像头
- Reolink rlc-410w 安全摄像头(通过 reolink 集成)
连接所有智能设备
您已经获得了运行整个智能家居系统所需的软件和硬件列表。恭喜!现在是连接硬件和配置软件的时候了,然后开始使用您的智能家居系统实现您的目标 - 让您的生活更轻松!
根据您运行家庭助理的方式,z-wave 网络组件可以是 附加组件 或单独的集成,例如Z-Wave JS。一旦包含每个 zwave 设备,它们将自动显示在 zwavejs 集成部分并准备好进行配置。
对于通过本地网络(wifi 或有线)连接的所有其他智能设备,只需插入电源和网线并通过家庭助手配置文件或 GUI 进行配置。我有很多 tasmota 闪存设备来抛弃互联网/公共云,这样我就可以在没有互联网访问的情况下始终在本地控制设备。 TasmoAdmin 是一个很好的工具,可以在一个地方管理所有 tasmota 设备。
最后但并非最不重要的是,家庭安全警报系统。在构建智能家居系统之前,我有一个现有的霍尼韦尔 VISTA 20P 安全系统。霍尼韦尔 VISTA 20P 是配备霍尼韦尔 6160RF 键盘的实心面板。它还具有内置无线收发器,可让您在系统中使用无线霍尼韦尔 5800 系列传感器。为了不浪费我现有的安全报警器投资,我决定使用Envislink集成将其与智能家居系统集成。这使我可以通过基于时间的布防/撤防等自动化规则远程控制警报面板以及一些高级功能。 然而,任何新的安全门/窗传感器、警报器、烟雾探测器都不会绑定到霍尼韦尔系统,而是使用 Z-wave 技术的智能家居系统,更便宜且面向未来。从某种意义上说,我的家庭安防报警器是一个由传统霍尼韦尔系统和Z-wave安防设备组成的混合系统。
制定自动化规则
如果您的智能家居系统基于像 Home Assistant 这样的开源平台,那么您的系统应该如何工作并没有任何黄金法则。您可以参考大量免费模板和自动化规则。与那些不支持或需要付费订阅的专有系统相比,这是开源平台的美妙之处。
我的智能家居系统的一些亮点是:
- 门廊灯在黄昏/黎明时打开/关闭
- 当 reolink 安全摄像头检测到运动时,车道灯会亮起
- 根据时间自动布防/撤防家庭安全警报
- 当任何安全传感器被破坏而房子被武装时触发霍尼韦尔警报或 Z 波警报器
- 为家庭成员分配不同的锁 PIN 码,以便家庭助理知道谁在操作锁
- 检测到烟雾或漏水时发出警报声
- 触发安全警报时,使房屋内的所有灯闪烁
- 学校接送提醒基于实时交通
- ...
列表实在是太长了……
系统验证
现在让我们通过访问Part 1 前面的问题来证明智能家居系统:规划智能家居系统。
可以在没有互联网/云的情况下在本地控制您的系统吗?
是的。由于大多数智能设备在没有云的情况下工作,如 Tasmota、LocalTuya,当发生互联网中断时,系统仍然可以正常运行。可以通过本地IP地址访问,也可以以后通过4G手机备份连接访问。
您的系统可以在离网或暂时停电的情况下工作吗?
是的。由于附带的 UPS 单元和太阳能电池板。智能家居系统耗电量很小(NUC 和树莓派)。
您的系统可以通过语音激活吗?
是的。通过谷歌助手或家庭助理内置语音转文本
您的系统负责家庭安防吗?
是的。如上所述,它是由霍尼韦尔和 Z-wave 组成的混合系统。
您的系统是否具有硬件/软件冗余的容错能力?
是的。通过使用docker swarm,智能家居系统可以容忍硬件或软件引起的系统故障。请参阅我的上一篇文章 解释为什么 docker swarm 更适合智能家居系统。