一次云服务宕机让我依赖 Alexa 的家瘫痪了 6 小时,我决定彻底改造:用本地 OpenClaw 节点在 Mac Mini M4 Pro 上替换所有云依赖。47 个 Zigbee 设备、本地语音控制、AI 驱动自动化——全部运行在局域网上。以下是完整架构。
云端愤怒
2026 年 1 月,AWS us-east-1 宕机 6 小时。灯光、恒温器、门锁、车库门全部离线。智能家居变成了'愚蠢家居'。绝不再来。
架构概览
一切运行在网络机柜中的 Mac Mini M4 Pro(16GB 内存)上。Home Assistant 负责设备通信。OpenClaw 提供 AI 智能层——语音指令、智能自动化和异常检测。树莓派 5 作为核心功能的热备。
┌────────────────────────────────────────────────┐ │ 局域网(无需互联网) │ ├────────────────────────────────────────────────┤ │ ┌─────────────┐ ┌──────────────────┐ │ │ │ Mac Mini │────►│ Home Assistant │ │ │ │ M4 Pro │ │ (Docker) │ │ │ │ OpenClaw │ └────────┬─────────┘ │ │ │ + Ollama │ ┌────────┼────────┐ │ │ │ + Whisper │ Zigbee Z-Wave MQTT │ │ └──────┬──────┘ │ │ │ │ │ ┌──────┴──────┐ ┌─┴──┐ ┌─┴──┐ ┌──┴───┐ │ │ │ Whisper │ │ 42 │ │ 5 │ │ ESP │ │ │ │ 麦克风阵列 │ │设备│ │门锁│ │传感器│ │ │ └─────────────┘ └────┘ └────┘ └──────┘ │ │ ┌─────────────┐ 热备 │ │ │ 树莓派 5 │ (仅核心自动化) │ │ └─────────────┘ │ └────────────────────────────────────────────────┘
OpenClaw 配置
# IDENTITY.md — 智能家居代理 你是一个智能家居控制器。 你通过 Home Assistant REST API 管理 47 个设备。 你通过本地 Whisper 转写处理语音指令。 ## 语音指令模式 - "打开/关闭[房间]的[设备]" → HA 服务调用 - "把[设备]设到[值]" → 带数据的 HA 服务调用 - "[房间]温度多少?" → HA 状态查询 - "锁门/开门" → Z-Wave 命令(需要 PIN 确认) - "晚安" → 运行场景:所有灯关、门锁好、警报启动 - "我出门了" → 运行场景:节能模式、摄像头激活 ## 安全规则 - 绝不通过语音解锁门(无 PIN 确认不行) - 绝不禁用烟雾/CO 检测器 - 车库门:如果 23:00 仍开着则自动关闭
# docker-compose.yml — 智能家居服务栈
version: '3.8'
services:
openclaw:
image: openclaw/openclaw:latest
environment:
- OPENCLAW_MODEL=ollama:llama3:8b
- HA_URL=http://homeassistant:8123
- HA_TOKEN=${HA_LONG_LIVED_TOKEN}
- WHISPER_MODEL=base.en
- MQTT_BROKER=mqtt://mosquitto:1883
depends_on: [ollama, homeassistant, mosquitto]
restart: unless-stopped
homeassistant:
image: homeassistant/home-assistant:stable
ports: ["8123:8123"]
devices:
- /dev/ttyUSB0 # Zigbee
- /dev/ttyUSB1 # Z-Wave
privileged: true
ollama:
image: ollama/ollama:latest
mosquitto:
image: eclipse-mosquitto:2
ports: ["1883:1883"]1. 硬件清单
无云智能家居的完整物料清单:
| Item | Cost | Notes |
|---|---|---|
| Mac Mini M4 Pro (16GB) | $599 | 主脑——OpenClaw + Home Assistant + Ollama |
| SONOFF Zigbee 3.0 适配器 | $30 | 42 设备:灯、传感器、开关、插座 |
| Aeotec Z-Wave Gen7 | $45 | 5 个 Z-Wave 门锁 |
| ReSpeaker USB 麦克风阵列 | $65 | 厨房/客厅远场语音拾取 |
| ESP32 开发板 (x6) | $48 | 自定义 MQTT 传感器 |
| 树莓派 5 (8GB) | $80 | 核心自动化热备 |
| UPS (850VA) | $90 | 45 分钟电池备份 |
2. 语音控制(100% 本地)
语音处理流水线——没有任何音频数据离开家:
语音流程(平均 800ms 端到端): 用户: "嘿 OpenClaw,关掉门廊灯" ▼ [ReSpeaker 麦克风 → USB 音频] ▼ [Whisper base.en 本地转写: ~200ms] │ 转写结果: "关掉门廊灯" ▼ [OpenClaw LLM 意图解析: ~350ms] │ 意图: ha.turn_off | 实体: light.front_porch ▼ [Home Assistant REST API: ~50ms] ▼ [Zigbee 命令 → 设备: ~200ms] ✅ 灯灭。总计: ~800ms
3. AI 驱动自动化
不同于规则自动化,OpenClaw 使用传感器数据+时间+在家状态做上下文决策:
# OpenClaw 自动化日志样本 [2026-03-15 14:23] 决策: 空调 → 节能模式 推理: 室外 32°C,室内 24°C,无人在家 动作: climate.set_hvac_mode(eco) → ✅ [2026-03-15 02:14] 告警: 检测到异常 推理: 走廊运动传感器触发,所有门已锁 动作: 拍照(前门摄像头) → 发送手机 备注: 猫跳上了走廊桌子。误报已记录。
4. 故障转移与可靠性
系统有三层弹性保障:
故障转移层级: 层1: OpenClaw + LLM(Mac Mini) └─ AI 自动化、语音控制、异常检测 └─ 如果宕机 → 层2 在 <5秒内接管 层2: Home Assistant(Mac Mini Docker) └─ 基于规则的自动化独立继续运行 └─ 如果 Mac Mini 死机 → 层3 层3: 树莓派 5(热备) └─ 仅运行灯光、门锁、恒温器 层4: 物理控制(始终可用) └─ 所有智能开关都有物理按键
无云生活——8 个月后
8 个月完全空气隔离运行后的诚实对比:
| 指标 | 云端方案 | 本地方案 | 胜者 |
|---|---|---|---|
| 月费 | $37/月订阅 | $8/月电费 | 🏠 本地 |
| 8个月内宕机 | 4次(共14小时) | 0次 | 🏠 本地 |
| 语音响应时间 | 1.2-3.5 秒 | 0.6-0.9 秒 | 🏠 本地 |
| 隐私 | 音频上传云端 | 100% 本地 | 🏠 本地 |
| 搭建复杂度 | 即插即用 | 2个周末 | ☁️ 云端 |
| 设备兼容性 | 800+ 设备 | Zigbee/Z-Wave/MQTT | ☁️ 云端 |
「上周邻居的 Alexa 挂了,他过来问我的是否正常。我说'我的不需要互联网。'他的表情无价。」——u/AirGapMaxwell
成本对比(1 年)
| 云端智能家居 | 本地方案 | |
|---|---|---|
| 硬件 | $200(Echo 设备) | $957(Mac Mini + RPi + 适配器) |
| 第1年订阅 | $444($37/月) | $0 |
| 第2年起 | $444/年 | $96/年(电费) |
| 3年总计 | $1,532 | $1,149 |
| 隐私 | ❌ 音频上传云端 | ✅ 100% 本地 |
第 26 个月回本。之后每年节省 $348 + 完全隐私。无厂商锁定——即使 OpenClaw 消失,Home Assistant 继续工作。
安全与隐私
⚠️ 物理安全:如果有人接触到 Mac Mini,可以控制所有设备。放在上锁的网络机柜中。启用 FileVault 磁盘加密。
常见问题
Q1. 语音控制和 Alexa 一样好用吗?
Q2. 固件如何更新?
Q3. 家人能用吗?
Q4. 如何远程访问?
经验教训
物理控制不可妥协
每个智能开关必须有物理按钮。AI 宕机时,房子必须可手动控制。这是第一规则。
从灯光开始,慢慢扩展
不要一次性迁移所有设备。先搞定 5 盏灯,稳定后加传感器,再加门锁,然后语音。
VLAN 隔离必不可少
IoT 设备安全性差。放在独立 VLAN,禁止联网和访问主网络。唯一桥梁是 Mac Mini。
UPS 不是可选项
电力闪烁会中断执行中的自动化。一个 $90 的 UPS 可以防止数据库损坏和凌晨 3 点所有灯闪的恐怖事件。