Home Assistant:把家里的灯、插座、空调收进一个界面
开源智能家居中枢,能接米家、涂鸦、HomeKit、Modbus 各种设备。装 NAS 上,7×24 跑着,手机随时看。
智能家居最烦的事:每个品牌一个 App。灯是米家的,插座是涂鸦的,空调要装厂家的,摄像头又是另一个。
Home Assistant(HA)把它们收进一个界面。装在 NAS 上,常年开着,手机浏览器打开就是全屋状态。
装
services:
homeassistant:
image: ghcr.io/home-assistant/home-assistant:stable
container_name: homeassistant
ports: ["8123:8123"]
volumes:
- ./ha/config:/config
- /etc/localtime:/etc/localtime:ro
environment:
- TZ=Asia/Shanghai
restart: unless-stopped
network_mode: host
network_mode: host 很关键。HA 要自动发现局域网设备(mDNS/SSDP),桥接网络下发现不了。开了 host 模式,端口那行可以删掉。
打开 http://NAS地址:8123,第一次会让你建管理员账号、填位置和时区。
接设备:三条路
一、官方集成(最容易)
设置 → 设备与服务 → 添加集成,搜品牌名。米家(Xiaomi Miot)、涂鸦、飞利浦、Sonos 这些都有。
二、HACS(社区商店)
官方集成覆盖不到的品牌,装 HACS 这个"应用商店",里面有几百个社区集成。装法:下载 → 放进 config/custom_components/ → 重启。
三、自己写(进阶)
有 Modbus、MQTT、REST 这些通用集成,能接任何讲这些协议的设备。
第一个自动化
别一上来就搞复杂场景。先做这个:
“晚上十点后,如果有人开门,把玄关灯调到 20% 亮度并保持 5 分钟”
在「自动化」里:
- 触发:门磁 → 状态变为 open
- 条件:时间在 22:00–06:00 之间
- 动作:灯 → 打开,亮度 20%;等待 5 分钟;关闭
配完点"运行"测试。成功了,你就懂 HA 的思维方式了。
界面怎么做
默认的"概览"页是自动生成的一堆卡片,很挤。
真正好用的是 Lovelace 仪表盘:自己拖卡片、排版面。手机端和电脑端可以各做一套。
投入两个小时做一次,之后每天看着舒服。
资源占用
这是它最大的问题:HA 吃内存。
- 空实例:约 300–500 MB
- 接了二三十个设备:1–1.5 GB
- 接了摄像头、跑视频流:2 GB 起
数据库(SQLite)也会涨,几个月能到几百兆。建议装个 MariaDB 或者定期清理 recorder 数据。
会踩的坑
发现不了设备 没用 host 网络,或者设备在另一个网段(IoT 设备常在 2.4G 独立 VLAN)。
米家设备要账号密码 Xiaomi Miot 集成需要小米账号和 token。有些设备需要提取 token,网上有教程。
重启后状态不对 自动化写的时候没考虑"启动时"这个触发。加一条"HA 启动时"重新评估状态。
数据库越来越大
config/home-assistant_v2.db。设置 recorder 只记录 7 天,或者排除不需要记录的实体。
升级偶尔翻车
HA 每月一个大版本,破坏性变更不算少。升级前备份 config/ 目录,出问题能退。
它适合谁
- 家里智能设备来自三个以上品牌的;
- 想自己做"如果……就……“这类自动化的;
- 愿意花时间折腾的(这是硬门槛)。
不适合:只有一个品牌、App 就够用的;不愿意学 YAML 和集成概念的;NAS 内存小于 4 GB 的。
最后
HA 的学习曲线是真的陡,但它的回报也很实:你的家终于有了一个统一的"控制面”。
从"打开米家 App 开关灯"变成"说一句或者自动执行",这个跨越只有自己搭的人知道有多爽。
有问题留言。
留言