跳到主要内容

Home Assistant 智能家居中枢:从零部署到自动化实战完整教程

从零部署 Home Assistant 智能家居中枢的完整教程:覆盖 HA OS、Docker、虚拟机三种安装方式,Zigbee 设备接入与配对,自动化场景配置与调试,Nginx 反向代理与 Tailscale 远程访问。附树莓派翻车实录、备份恢复策略和生产环境最佳实践。

我第一次装 Home Assistant 的时候,把树莓派搞成了砖。不是夸张——SD 卡写坏了,系统起不来,连 SSH 都连不上。花了一个下午才救回来。

后来我发现,90% 的新手翻车都栽在同一个地方:选错安装方式

你以为的 Home Assistant vs 真实的 Home Assistant

很多人以为 Home Assistant 就是个”智能家居 App”,装上就能用。

不是。

它是一个完整的智能家居操作系统。你家里的灯、空调、传感器、摄像头——所有设备的数据流、自动化逻辑、状态管理,全部跑在它上面。这意味着:

  • 它需要 7×24 运行
  • 它会吃掉你一块专用硬件(或虚拟机)
  • 它的学习曲线比你想象的陡

但一旦你搞定了,你获得的是完全属于自己的智能家居中枢。没有云服务依赖,没有厂商跑路风险,没有订阅费。

三种安装方式,别选错

方案 A:Home Assistant OS(推荐新手)

这是官方推荐的方式。它是一个完整的操作系统,直接刷到硬件上。

# 下载 Home Assistant OS 镜像
# https://www.home-assistant.io/installation/
# 选择你的硬件对应的版本

# 刷写到 SD 卡(macOS/Linux)
sudo dd if=haos_*.img of=/dev/diskN bs=4M status=progress

优点:开箱即用,Supervisor 管理一切,addon 生态完整 缺点:整块硬件 dedicated 给 HA,不能干别的

适合:树莓派 4/5、x86 小主机、旧笔记本

方式 B:Docker 容器部署

如果你已经有 Docker 环境,这是最灵活的方式。

docker run -d \
  --name homeassistant \
  --privileged \
  --restart=unless-stopped \
  -e TZ=Asia/Shanghai \
  -v /opt/homeassistant/config:/config \
  -v /run/dbus:/run/dbus:ro \
  --network=host \
  ghcr.io/home-assistant/home-assistant:stable

优点:和现有服务共存,资源利用灵活 缺点:没有 Supervisor,addon 需要手动装,部分功能受限

适合:已有 NAS/Docker 环境的用户

方式 C:Core 安装(纯 Python)

给想从底层理解 HA 的人。

python3 -m venv homeassistant
source homeassistant/bin/activate
pip install homeassistant
hass

优点:最轻量,完全掌控 缺点:没有 UI 管理,addon 全靠自己,维护成本高

适合:开发者、想深入研究 HA 内部机制的人

我的建议:新手直接 A,老手 B,C 只适合想写 HA 插件的人。

装完第一件事:别急着配设备

很多人装完 HA 就开始疯狂接入设备。这是第二个坑。

正确的顺序是:

  1. 先配好网络:确保 HA 能访问所有智能设备所在的网段
  2. 配好备份:Settings → System → Backups → 设置自动备份到 NAS 或云端
  3. 配好用户和权限:尤其是家里有其他人用的时候
  4. 配好 HTTPS:如果暴露到公网,这是必须的
# configuration.yaml 基础配置
homeassistant:
  name: "我的家"
  unit_system: metric
  currency: "CNY"
  country: "CN"
  time_zone: "Asia/Shanghai"
  external_url: "https://ha.yourdomain.com"
  internal_url: "http://192.168.1.100:8123"

设备接入:Zigbee 是王道

市面上智能设备的通信协议五花八门:Wi-Fi、Zigbee、Z-Wave、Bluetooth、Matter…

直接说结论:优先选 Zigbee。

原因很简单:

  • 不占 Wi-Fi 带宽:你家 Wi-Fi 已经够挤了
  • 低功耗:传感器电池能用一两年
  • Mesh 组网:每个供电设备都是中继器,覆盖范围大
  • 本地控制:不依赖云端,断网也能用

你需要一个 Zigbee 协调器。推荐两个:

协调器芯片价格推荐度
SONOFF Zigbee 3.0 USB Dongle PlusCC2652P~80 元⭐⭐⭐⭐⭐
TubeZB CC2652P2 CoordinatorCC2652P2~150 元⭐⭐⭐⭐

插上协调器,HA 会自动识别。然后打开 Settings → Devices & Services → Zigbee Home Automation,开始配对设备。

# 如果用 Docker,需要把 USB 设备映射进去
docker run -d \
  --name homeassistant \
  --privileged \
  --restart=unless-stopped \
  -e TZ=Asia/Shanghai \
  -v /opt/homeassistant/config:/config \
  --device=/dev/ttyUSB0:/dev/ttyUSB0 \
  --network=host \
  ghcr.io/home-assistant/home-assistant:stable

自动化:从简单开始

HA 的自动化系统是它的灵魂。但新手最容易犯的错是一上来就写复杂逻辑。

先从最简单的开始:

# automations.yaml
# 人来灯亮,人走灯灭
- alias: "客厅人体感应灯"
  trigger:
    - platform: state
      entity_id: binary_sensor.living_room_motion
      to: "on"
  condition:
    - condition: sun
      after: sunset
      before: sunrise
  action:
    - service: light.turn_on
      target:
        entity_id: light.living_room
      data:
        brightness_pct: 80
        color_temp_kelvin: 4000
    - delay:
        minutes: 5
    - service: light.turn_off
      target:
        entity_id: light.living_room

这个自动化做了三件事:

  1. 检测到人体移动
  2. 判断当前是晚上
  3. 开灯 5 分钟后自动关

关键原则:先跑通一个简单自动化,确认设备响应正常,再叠加复杂逻辑。

我踩过的五个大坑

坑 1:Wi-Fi 设备疯狂掉线

Wi-Fi 智能设备(特别是便宜的)经常掉线。不是 HA 的问题,是设备本身的问题。

解法:换 Zigbee 设备,或者给 Wi-Fi 设备配个独立的 IoT 网络。

坑 2:自动化不触发

最常见的原因:实体 ID 变了。比如你重装了设备,entity_id 从 light.living_room 变成了 light.living_room_2

解法:Settings → Devices → 找到设备 → 看当前的 entity_id。然后更新自动化配置。

坑 3:Dashboard 卡片加载慢

默认的 Dashboard 在设备多的时候会很卡。

解法:用 mushroombutton-card 等自定义卡片插件,按需加载。

坑 4:备份没用对

很多人设置了备份但从来没验证过能不能恢复。

解法:每个月手动恢复一次备份到测试环境,确认数据完整。

坑 5:更新翻车

HA 更新有时候会破坏自动化。特别是大版本更新。

解法:开启自动备份 + 更新前看 Release Notes。别自动更新生产环境。

进阶:把 HA 变成真正的中枢

当你跑稳了基础功能,可以开始搞这些:

  • Frigate:接入摄像头做 AI 物体检测(人、车、动物)
  • Node-RED:可视化编排复杂自动化逻辑
  • Grafana + InfluxDB:把传感器数据存下来做可视化
  • ESPHome:自己做 DIY 传感器和控制器
  • Zigbee2MQTT:更灵活的 Zigbee 设备管理
# Frigate 配置示例(接入摄像头做 AI 检测)
frigate:
  mqtt:
    host: 192.168.1.100
  cameras:
    front_door:
      ffmpeg:
        inputs:
          - path: rtsp://192.168.1.200:554/stream1
            roles:
              - detect
              - record
      detect:
        width: 1280
        height: 720

相关资源

内链推荐

部署好 Home Assistant 后,你可能还需要:

最终清单:照着做就行

  1. 选对安装方式:新手 HA OS,老手 Docker
  2. 先配基础设施:网络、备份、用户、HTTPS,再接设备
  3. Zigbee 优先:买个 CC2652P 协调器,告别 Wi-Fi 掉线
  4. 自动化从简开始:一个传感器 + 一个灯,跑通再加
  5. 每月验证备份:别等出事才发现备份是坏的
  6. 别自动更新:看 Release Notes,手动更新

现在就去装。装完回来告诉我你的第一个自动化做了什么。

阅读模式: 文章
机场节点
稳定高速
多节点覆盖
性价比高