如果家中的智能开关必须依赖厂商服务器才能工作,那它就不该进入我的家门。这是我在十年家庭自动化实践中坚守的第一准则,其余原则皆由此衍生。

云端是薄弱环节

一次性购买的硬件不应因厂商策略变更而停摆,但现实往往相反:Google曾破坏Nest API导致集成失效;三星冰箱屏幕弹出TLS证书错误;Camp Chef烤炉控制器甚至需联网才能显示温度。

我仍使用Alexa和AWS等云服务,但仅作为补充。家庭运行的核心逻辑必须本地化:ESP板运行Tasmota固件,通过MQTT代理通信,由树莓派上的Node-RED处理逻辑。即使互联网中断,家中设备仍需正常运行。

核心规则演进

基于早期实践,我确立了以下基础规则:

  1. 断网无忧:核心功能必须在无网状态下正常工作。
  2. 新旧并存:引入新方案时保留旧机制,避免如“用胶带粘住墙壁开关”般的尴尬妥协。
  3. 保持敏捷:适应房间用途变化和人员流动,确保低成本调整。
  4. 审查自动化:定期检查流程,避免多个触发器冲突(如四个定时器同时控制同一水泵)。
  5. 例外需正当:打破规则的理由必须经得起时间考验。

随着家庭人口增加,我在入住第五年补充了新规则:

  1. 拒绝黑盒:云设备必须具备带日志的API,否则不予安装。
  2. 集中配置:统一管理配置信息,而非分散在多个厂商App中。
  3. 多元访问:支持App、语音、二维码或NFC等多种控制方式。
  4. 例行程序化:将重复动作序列转化为标准化“例行程序”。
  5. 解耦通信:设备间通过MQTT发布/订阅通信,避免点对点硬连接。
  6. 电池长效:除非续航超一年,否则不使用电池供电,避免关键时刻掉链子。

从单人到多人的架构升级

早期的自动化假设仅有一人居住。当家庭成员增加,物理钥匙管理、长时间离家带来的故障风险(如水浸)迫使系统升级。我从单用户修补转向多用户适配,引入了更严格的漏水和存在检测机制。

为解决“App碎片化”问题,我构建了一个集中式仪表盘,运行在壁挂平板电脑上。它整合了车库门控制、门锁状态、灯光调节及环境监测数据,取代了家中繁多的独立App。电视环境光也接入同一系统,提升了生活质量。

技术栈方面,Node-RED处理逻辑,Grafana提供可视化监控,Tasmota作为设备固件,Telegram发送通知。MQTT是关键解耦层:传感器发布数据,无需关心谁在监听;手机和后端均可订阅同一主题。

读者反馈与社区共识

在分享“断网无忧”原则后,大量用户分享了痛点:因App错误无法调温的冰箱、断网无法切换输入的电视、需联网才能使用的厨房排气扇等。这些案例印证了云端依赖的风险。

社区补充的关键建议包括:

  • 离线优先:核心操作(开关、温控、安防)必须本地运行,互联网仅用于附加功能。
  • 视第三方为风险:规划本地回退方案,核心功能不依赖云端API。
  • 访客友好:访客应能在无App账户情况下使用基本功能,否则设计即失败。
  • 清理遗留设备:移除废弃联网设备,防止成为安全漏洞。

在协议选择上,许多用户推荐Zigbee和Z-Wave优于Wi-Fi,因其更稳定且无需云端介入。对于远程访问,Tailscale和OpenVPN成为保持本地化的主流方案。此外,维修权运动被视为对抗厂商锁定的重要力量。

推荐硬件清单

以下是经长期验证的稳定组件:

灌溉控制系统

  • 主控:HiLetgo ESP8266 NodeMCU(刷写Tasmota)
  • 显示:SSD1306 OLED屏幕
  • 执行:Inkbird SSR-40DA固态继电器(控制24 VAC阀门)
  • 传感:BME280(温湿度气压)

灯光与电源

  • 开关:Martin Jerry智能调光开关(预装Tasmota)
  • 插座:Sonoff S31(支持电源监控)
  • 工具:USB转串口适配器(用于固件刷写)

车库自动化

  • 中枢:Raspberry Pi 3(运行Docker/Web API)
  • 控制:SunFounder双通道5V继电器模块
  • 兼容:LiftMaster有线控制面板(绕过防篡改布线)

全屋基础

  • 网络:GL.iNet Flint 2路由器(运行OpenWrt及本地MQTT代理)
  • 交互:廉价平板电脑(壁挂仪表盘)
  • 清洁:Lefant扫地机器人