跳转到内容

Home Assistant:智能家居中枢

把小米、涂鸦、Zigbee、HomeKit 等不同生态的设备接入同一个系统,在本地执行自动化规则。断网时本地设备依然能用,这是它相对各家云服务的核心价值。

适合谁

  • 家里的智能设备来自三个以上品牌,App 装了一堆。
  • 想写跨品牌的自动化规则(比如「门磁触发时开走廊灯并推送通知」)。

部署

yaml
services:
  homeassistant:
    image: ghcr.io/home-assistant/home-assistant:stable
    container_name: homeassistant
    restart: unless-stopped
    network_mode: host
    privileged: true
    volumes:
      - /vol1/docker/homeassistant/config:/config
      - /etc/localtime:/etc/localtime:ro

必须用 host 网络模式:设备自动发现依赖 mDNS 和 UPnP 等广播协议,在 bridge 网络下收不到,见网络模式

需要接入 Zigbee 或蓝牙网关时,还要把对应的 USB 设备映射进容器(devices: 配置项),设备路径建议用 /dev/serial/by-id/ 下的稳定名称,避免重启后编号变化。

容器版与完整版的区别

容器方式运行的是 Home Assistant Core,没有加载项(Add-on)商店。需要 Node-RED、Mosquitto 这类组件时,要单独用容器部署并手动对接。想要完整体验的话,用虚拟机安装 HAOS 是另一条路,代价是资源开销更大。

数据与备份

config 目录里是全部配置、自动化规则和数据库。它包含设备凭据和访问令牌,备份时注意保护。

Home Assistant 自带备份功能,可以定期生成备份包并保存到 NAS 的共享目录,比直接复制目录更可靠。

已知坑

  • 升级较频繁,且偶有破坏性变更。升级前先做备份,并留意版本说明。
  • 数据库(默认 SQLite)会持续增长,注意配置数据保留期限,否则会拖慢界面并占满空间。
  • 它对硬盘休眠不友好——持续记录状态意味着持续写入,见功耗与硬盘休眠。把它的数据放在系统固态盘上能缓解。

参考资料

fnOS 非官方中文使用指南,与飞牛官方无隶属关系。