进阶技巧

飞牛NAS搭建智能家居中枢:Home Assistant

为什么是飞牛NAS + Home Assistant

智能家居的痛点从来不是设备不够多,而是生态割裂。米家、HomeKit、涂鸦、Sonoff……每个App都有自己的逻辑,而Home Assistant(以下简称HA)正是那个把碎片粘合起来的“中枢”。飞牛NAS的Docker支持完善、硬件兼容性好,加上fnOS基于Debian底层,跑HA几乎零门槛。更重要的是,你不需要额外买一台树莓派或老旧笔记本,让NAS一机两用,既存数据又管全屋智能。

第一步:准备飞牛NAS环境

确保你的fnOS版本在0.8.20以上,且Docker已启用。进入「应用中心」→「Docker」,若未安装,直接点击安装。建议给HA分配至少2GB内存和2核CPU,如果你家设备多(超过30个实体),4GB更稳妥。

在Docker设置中,建议把存储路径挂载到机械硬盘(如 /vol1/docker),避免占用SSD缓存空间。同时开启「高级模式」下的“特权模式”,这能让HA直接访问USB设备(比如Zigbee网关或蓝牙适配器)。

第二步:用Docker Compose部署HA

虽然可以直接用Docker图形界面拉镜像,但Compose文件更适合版本管理和后续升级。在飞牛NAS的共享文件夹里新建 ha-config 目录,然后创建 docker-compose.yml

version: '3.8'
services:
  homeassistant:
    image: ghcr.io/home-assistant/home-assistant:stable
    container_name: hass
    restart: unless-stopped
    privileged: true
    network_mode: host
    volumes:
      - ./ha-config:/config
    environment:
      - TZ=Asia/Shanghai
    healthcheck:
      test: ["CMD", "curl", "-f", "http://localhost:8123"]
      interval: 30s
      timeout: 10s
      retries: 3

注意 network_mode: host 是关键——HA需要直接访问局域网内的设备(如通过mDNS发现小米设备),桥接模式会屏蔽这些广播包。

在SSH终端(或飞牛自带的终端)里执行:

cd /vol1/docker/ha-config
docker compose up -d

首次拉取镜像约需3-5分钟,取决于网速。启动后,浏览器访问 http://你的NASIP:8123,看到初始化页面即成功。

第三步:初始化与基础配置

创建管理员账号后,HA会让你填写「家庭位置」——务必打开“自动检测”,系统会根据公网IP推断时区。如果检测失败,手动输入经纬度(可以从百度地图坐标拾取器获取)。

进入主界面后,先做三件事:

  1. 启用高级模式:点击左下角用户名 → 「高级模式」,否则看不到很多调试选项。
  2. 安装HACS:这是HA的灵魂插件商店。在SSH中执行:
docker exec -it hass bash
wget -O - https://get.hacs.xyz | bash -
exit

然后重启HA容器:docker restart hass。重启后,在「设置」→「设备与服务」→「添加集成」里搜“HACS”,按提示授权GitHub账号即可。 3. 配置备份:在「设置」→「系统」→「备份」里,把备份目标指向飞牛NAS的共享文件夹。建议开启每日自动备份,HA配置改崩了能一键还原。

第四步:接入米家设备(以Xiaomi Miot Auto为例)

这是国内用户最刚需的场景。在HACS里搜索“Xiaomi Miot Auto”,安装后重启HA。然后添加集成:

  1. 进入「设置」→「设备与服务」→「添加集成」→ 搜索“Xiaomi Miot Auto”。
  2. 选择“使用账号登录”,输入小米账号密码(建议用“小号”账号,避免影响主账号设备管理)。
  3. 勾选要接入的设备——支持WiFi、蓝牙Mesh、Zigbee三种协议的设备都能识别。网关设备(如多模网关)也一并接入。

接入后,你会发现设备实体(如灯、插座、传感器)自动出现在「概览」面板。此时你可以用HA的自动化功能,比如“日落时自动开客厅灯”,而无需依赖米家App的云端逻辑——所有自动化都在本地执行,响应更快且断网也能用。

第五步:接入USB Zigbee设备(Sonoff/ZHA)

如果你有第三方Zigbee设备(比如Sonoff BasicZBR3、Aqara传感器),需要USB Zigbee协调器。把协调器(如ConBee II)插入飞牛NAS的USB口,然后在HA中:

  1. 添加集成“ZHA”,选择“自动检测”USB设备路径(通常为 /dev/ttyUSB0/dev/ttyACM0)。
  2. 点击“形成网络”,按下协调器上的配对按钮,再长按设备上的配对键,等待设备自动加入。

这里有个坑:部分飞牛NAS的USB口供电不足,导致协调器掉线。建议用带外部供电的USB Hub,或者在 docker-compose.yml 里加一行 devices: 映射指定USB设备:

devices:
  - /dev/ttyUSB0:/dev/ttyUSB0

第六步:外网访问与手机推送

内网能用还不够,出门在外也得控制。推荐两步走:

  1. 内网穿透:飞牛NAS自带DDNS和反向代理,在「控制面板」→「DDNS」里绑定一个域名,再在「反向代理」里把 你的域名:8123 转发到 localhost:8123。注意开启HTTPS,用免费证书(Let's Encrypt)避免浏览器警告。
  2. 手机通知:在HA中安装“Mobile App”集成,手机装HA官方App,扫码登录。之后HA的自动化可以推送通知到手机(比如“门窗传感器报警”)。配合 pushovertelegram 集成,还能发到其他IM工具。

第七步:性能调优与维护

飞牛NAS跑HA一般负载不高,但长期运行要注意:

  • 日志清理:HA日志默认无限增长,在 configuration.yaml 里加:
homeassistant:
  customize: !include customize.yaml
logger:
  default: warning
  logs:
    homeassistant.components.xiaomi_miot: warning
  • 数据库瘦身:默认SQLite数据库会越滚越大。改用MariaDB(飞牛NAS自带数据库服务),在 configuration.yaml 里配置:
recorder:
  db_url: mysql://hass:密码@NASIP/homeassistant
  • 定期更新:每月在Docker里拉一次 home-assistant:stable 镜像并重建容器,保证安全补丁到位。

总结

飞牛NAS + Home Assistant的组合,本质上是把“存储中心”升级为“家庭算力中心”。整个过程无需额外硬件,Docker容器隔离了环境,配置全在YAML文件里,可版本化管理。最核心的收益是:所有自动化逻辑本地化,隐私可控,且能打通米家、HomeKit、Sonoff等互不相认的生态。按照上述步骤,你大约花一下午就能跑通基础环境,后续再逐步接入更多设备。记住,HA玩的是“折腾的乐趣”,别怕改配置——反正飞牛NAS有快照备份,改坏了回滚就是。

💬 评论区
发表评论

暂无评论,来说两句吧