智能家居 | 平民Home Assistant 私人管家

什么是 Home Assistant

Home Assistant 是一个完全开源的智能家居平台,你可以把它安装在树莓派、迷你主机或任何长期开机的设备上。它的核心定位是成为家庭的“最强大脑”——将不同品牌、不同通信协议的智能设备整合到统一平台上进行集中管理和自动化控制

与市面上各类智能家居 App 不同,Home Assistant 最大的特点是本地化运行:所有自动化都在家里本地执行,即使断网,家里的自动化场景依旧如常运行。没有云服务器,没有隐藏订阅,你的数据始终留在你自己家里。

简单来说,Home Assistant 解决的是智能家居的“孤岛”问题——不用在米家、Apple Home、涂鸦等多个 App 之间来回切换,一个平台统一管理所有设备

为什么选择 Docker 部署

Home Assistant 支持多种安装方式,包括直接在 Python 环境中运行、以操作系统形式安装 HA OS,以及通过 Docker 容器部署。本项目从一开始就确定采用 Docker 方案,原因如下:

1. 省心,无需处理环境依赖

用 Docker 部署 Home Assistant,你不用去官网下载一堆安装包,也不用解决 Python 版本冲突、依赖缺失这些让人头疼的问题。官方提供了现成的 Docker 镜像,拉下来就能用。

2. 配置持久化,迁移零成本

所有配置、插件都保存在一个固定的挂载目录中。哪怕 Docker 容器崩溃了或者想换台机器,只要把这个目录备份好,在新机器上重新启动一个容器,所有设置瞬间恢复

3. 隔离干净,卸载无残留

容器与宿主机系统是隔离的,不会污染系统环境,卸载时直接删除容器和镜像即可,干净利落

4. 管理方便,升级回滚简单

配合 docker-compose,可以用一个配置文件定义整个服务的端口、环境变量、存储路径等。想升级?改一下镜像版本号,重启服务就行。想回滚?同样简单

部署实践

环境准备

直接部署在飞牛OS NAS主机,飞牛OS本身自带Docker软件

Home Assistant直接使用docker-compose项目管理部署

1、打开docker选择Compose,新建项目

2、创建docker-compose.yaml,修改对应的密码

- MYSQL_ROOT_PASSWORD=xxxxx
   - MYSQL_PASSWORD=xxxx
version: '3.8'
services:  homeassistant:    image: homeassistant/home-assistant:latest    container_name: homeassistant    privileged: true    network_mode: host    restart: unless-stopped    volumes:      - /vol1/1000/Docker/Homeassistant/config:/config      - /etc/localtime:/etc/localtime:ro      - /run/dbus:/run/dbus:ro    environment:      - TZ=Asia/Shanghai    ports:      - "8123:8123"    depends_on:      - mariadb
  # 数据库服务(替代默认SQLite)  mariadb:    image: mariadb:10.11    container_name: homeassistant_db    restart: unless-stopped    volumes:      - /vol1/1000/Docker/Homeassistant/mariadb_data:/var/lib/mysql    environment:      - MYSQL_ROOT_PASSWORD=xxxxx      - MYSQL_DATABASE=homeassistant      - MYSQL_USER=hass      - MYSQL_PASSWORD=xxxx


volumes:  mariadb_data:

场景简单示例

把小爱同学接入 Home Assistant

接入小爱同学,核心是让 Home Assistant 能“听懂”你的语音指令,并让音箱能“说话”反馈。主要有以下几种方式:

方案:使用“Xiaomi Home”官方集成(推荐)
这是目前最推荐的方式,因为它由小米官方维护,稳定性和兼容性都最好。

准备工作:在 Home Assistant 中通过 HACS (Home Assistant Community Store) 安装“Xiaomi Home”集成

配置步骤:在 Home Assistant 的“设置” -> “设备与服务”中,添加“Xiaomi Home”集成,并登录你的小米账号授权。完成后,你的小爱音箱和相关米家设备会自动出现在 Home Assistant 中。


解锁飞牛 NAS 的 AI 能力

飞牛 NAS 不仅仅是一个存储中心,通过集成,它可以成为 Home Assistant 的“AI 大脑”和“监控中心”。

基础监控:飞牛 NAS 集成

首先,你可以在 Home Assistant 中安装“飞牛NAS集成”插件,将 NAS 的系统状态纳入监控。

实现方式:在 HACS 中添加自定义存储

https://github.com/xiaochao99/fn_nas,

然后搜索并安装“飞牛NAS”集成。

监控内容:配置后,你可以在 Home Assistant 中实时查看 NAS 的硬盘温度、健康状态、系统运行状态、CPU温度等信息,甚至可以通过 Home Assistant 对 NAS 进行重启、关机等操作。

2. AI 核心:部署本地 AI 摄像头系统 (SkyView/Frigate)

这是实现“AI 联动”的关键。你可以在飞牛 NAS 上部署一个本地 AI 视觉系统,如 SkyView或 Frigate,让摄像头变得“智能”。

AI 能力:这些系统能利用 NAS 的算力(特别是 Intel 核显)进行本地 AI 检测,识别人、车、猫狗、包裹、甚至跌倒和婴儿哭声等事件。

部署方式:

SkyView:提供了飞牛专用的 .fpk 安装包,可在应用中心直接安装,非常方便。它也支持 Docker 部署。

Frigate:同样可以通过 Docker 在飞牛上部署。

与 Home Assistant 联动:这些系统原生支持 Home Assistant。一旦识别到特定事件(如“检测到陌生人”),它就能通过 MQTT 或 Webhook 向 Home Assistant 发送信号

进阶玩法:

在飞牛NAS上部署一个“中间人”服务,截获小爱音箱的指令,转交给NAS上的AI模型处理,再将结果通过小爱音箱反馈给你。

实现这个目标主要有两种路径,大家可以根据自己的需求来选择:

思路一:给小爱音箱“换脑”(MiGPT方案)

这个方案适合想让小爱音箱本身变得更聪明,能进行复杂对话和问答的场景。它的原理是在NAS上部署一个叫 MiGPT 的开源项目,当你说出特定的“唤醒词”后,小爱音箱会将问题交给MiGPT,再由它调用你配置的AI大模型来生成回答。

准备工作:

API密钥:你需要提前在你想用的AI大模型平台(如DeepSeek、通义千问、Kimi、豆包等)注册账号,申请一个API密钥。这通常需要付费,但用量不大时成本很低。

小米账号:准备好你绑定小爱音箱的小米账号和密码。

部署步骤:

在飞牛NAS的Docker中,搜索并下载 idootop/mi-gpt 镜像。

运行该镜像的容器,并访问其Web管理界面(通常是 http://你的NAS_IP:端口号)。

在界面中配置:

你的小爱音箱型号。你的小米账号和密码。

你申请的AI大模型API密钥。设置一个唤醒词,比如“请”。

保存配置并启动服务。之后,当你说“小爱同学,请 [你的问题]”时,就会触发AI来回答。

思路二:让Home Assistant拥有“AI大脑”(OpenClaw方案)

这个方案更适合你之前提到的“智能家居控制”场景。它的原理是在NAS上部署一个叫 OpenClaw 的AI网关,它作为Home Assistant的“大脑”,让你可以用自然语言控制全屋设备,并执行复杂的自动化场景。

准备工作:

在飞牛NAS上通过应用中心或Docker安装好Home Assistant。

在Home Assistant中创建一个长期访问令牌(设置 → 用户资料 → 安全 → 创建令牌)。

部署步骤:

在飞牛NAS的Docker中,拉取 openclaw/openclaw:latest 镜像(应用中心自带)

创建容器,关键配置如下:

端口映射:3000:3000(或其他空闲端口)。

环境变量:填入你Home Assistant的地址和刚才创建的访问令牌,以及AI大模型的API密钥。

启动容器后,访问OpenClaw的管理界面,它通常会自动同步你在Home Assistant中的所有设备。

之后,你就可以在OpenClaw的聊天窗口,甚至通过后续配置,用语音直接说“打开客厅灯”或“启动离家模式”了。

为您推荐