Tropic Host

Home Assistant:是什么、有哪些功能以及如何安装到服务器

阅读约需 9 分钟
Tropic
Home Assistant:是什么、有哪些功能以及如何安装到服务器

Home Assistant:智能家居的统一控制中心

智能灯泡装在一个应用中,扫地机器人在第二个应用中,空调在第三个应用中,而漏水传感器则通过第四个应用发送通知。结果是,“智能家居”需要的手动操作反而比普通开关更多。

Home Assistant 可以把兼容设备集中到同一个面板上,并通过自动化将它们连接起来。下面将介绍它的功能、配置要求,以及如何通过 Docker Compose 安装。

七步上手 Home Assistant

  1. 在 Home Assistant 的集成目录中检查你的设备。
  2. 选择安装位置:现成的中枢、迷你 PC、Raspberry Pi、NAS、虚拟机或 Linux 服务器。
  3. 安装 Home Assistant OS 或 Home Assistant Container。
  4. 添加已发现的设备和服务。
  5. 将它们分配到不同房间并配置面板。
  6. 创建一个真正有用的自动化。
  7. 设置备份和安全的远程访问。

最好不要一开始就创建几十个场景,而是先解决一个真正让你困扰的问题。当第一个自动化稳定运行后,再逐步扩展系统。

什么是 Home Assistant

Home Assistant 是一个免费、开源的智能家居控制平台。它充当中央中枢:连接不同厂商的设备与服务,并允许你通过网页界面或移动应用进行管理。

项目目录中提供了 1500 多种集成,包括照明、暖通设备、摄像头、扫地机器人、能源计量设备、MQTT、Zigbee、Z-Wave、Matter、Apple HomeKit 和云服务。

它与单一品牌应用最大的不同在于,自动化场景不会被限制在一个生态系统内。一个厂商的传感器可以打开另一个厂商的灯,调整第三方恒温器的温度,并向手机发送通知。

为什么 Home Assistant 比一堆应用更有用

如果系统只是把开关搬到手机里,房子并没有变得更智能。Home Assistant 的价值始于日常动作能够自动完成。

自动化由触发器、可选条件和动作组成。例如:“有人回到家”是触发器,“太阳已经落山”是条件,“打开客厅灯”是动作。

设备会显示在手机、电脑或壁挂平板共用的面板上。你可以按房间进行分组,并为家人和访客创建不同的界面。

使用本地集成时,命令和数据会留在家庭网络中,自动化也可以在没有互联网的情况下运行。但如果设备只提供云端 API,Home Assistant 同样会依赖厂商的服务。

此外,它还支持移动通知、在家状态检测、Assist 语音助手,以及用于统计电网、太阳能板、电池、燃气、用水和单个电器的能源面板。

实用的 Home Assistant 场景

无需频繁按开关的照明

运动传感器只在日落后打开灯。夜间使用较低亮度,如果几分钟内没有检测到活动,灯会自动关闭。

漏水保护

传感器检测到水后,系统会关闭兼容的电动阀门、停止水泵并发送通知。关键动作会立即执行,而不是等到屋主看到消息之后才处理。

根据在家状态控制温度

最后一个人离开后,供暖或空调会切换到节能模式。窗户打开时,也可以临时关闭对应房间的温控系统。

洗衣完成通知

智能插座会测量洗衣机的功耗。当洗涤周期结束后功率降到设定值以下时,Home Assistant 会提醒你取出衣物。

发现不必要的能源消耗

用电历史可以帮助你发现持续运行的负载,并判断哪些电器换到其他时间运行会更经济。

是否需要编程

搭建基础智能家居不需要编程。集成、房间、面板和大多数自动化都可以通过图形界面进行设置。

YAML、模板和自定义集成只在复杂场景中才需要。无需从这些内容开始:那些要求手动编辑几乎所有参数的旧教程,已经不再代表新手的常规使用方式。

Home Assistant 最适合安装在哪里

当前文档主要使用两种方案:Home Assistant Operating System 和 Home Assistant Container。

方案适合人群需要了解的事项
Home Assistant Green需要现成中枢系统已经预装
安装 Home Assistant OS 的 Raspberry Pi 或迷你 PC大多数家庭用户更新、备份和应用管理更方便
NAS 或家庭服务器上的虚拟机已经有全天运行的主机可以分配资源并直通 USB 设备
Home Assistant ContainerDocker 用户没有内置应用商店,更新需要手动完成
VPS测试和远程地点无法直接访问家中的无线设备

Home Assistant OS 是大多数用户的推荐选择。如果 Linux 服务器上已经运行了其他服务,Container 会更方便,但应用以及部分 Thread 或 Z-Wave 组件需要单独维护。

需要多少资源

虚拟机的官方最低要求是 2 vCPU 和 2 GB RAM。实际可参考以下配置:

使用场景CPURAM存储
测试或小型系统2 vCPU2 GB32 GB SSD
为附加服务预留空间的家庭系统2–4 vCPU4 GB32–64 GB SSD
摄像头、本地语音和较长历史记录4+ vCPU8+ GB64 GB SSD 起

摄像头、历史记录保留时间、语音模型和额外容器最容易增加负载。长期运行的安装最好使用 SSD。

如何通过 Docker Compose 安装 Home Assistant

此方法适用于已经安装 Docker Engine 和 Docker Compose 的 Linux 服务器。创建目录:

mkdir -p ~/homeassistant/config
cd ~/homeassistant

创建 compose.yaml

services:
  homeassistant:
    container_name: homeassistant
    image: ghcr.io/home-assistant/home-assistant:stable
    volumes:
      - ./config:/config
      - /etc/localtime:/etc/localtime:ro
      - /run/dbus:/run/dbus:ro
    environment:
      TZ: Etc/UTC
    restart: unless-stopped
    stop_grace_period: 60s
    privileged: true
    network_mode: host

/run/dbus 这一行用于 Bluetooth;如果不使用 Bluetooth,可以删除。将时区 Etc/UTC 替换成你所在地区的时区。启动容器:

docker compose up -d

界面会在 http://服务器IP:8123 打开。在家庭服务器上,请通过本地网络访问。使用 VPS 时,应提前在外部防火墙中关闭 8123 端口。

首次登录远程服务器时,可以创建 SSH 隧道:

ssh -L 8123:127.0.0.1:8123 user@服务器IP

打开 http://localhost:8123,创建管理员账户并添加第一批集成。

可以在 VPS 上使用 Home Assistant 吗

Home Assistant Container 可以在 Linux VPS 上运行。它适合用于熟悉界面、使用云端集成,以及通过 VPN 或 MQTT 连接远程地点。

但 VPS 位于住宅之外。它通常无法通过网络发现功能识别本地设备,也不能直接使用家中的 Zigbee、Z-Wave 或 Thread USB 适配器。Bluetooth 传感器也会超出覆盖范围。

因此,更合理的方式是把主控制器放在家中,并将 VPS 作为外部层使用:VPN 网关、安全访问入口、监控服务器或相关服务的运行主机。

如果测试系统不使用本地无线协议,2 vCPU、2 GB RAM 和 SSD 就足够了。在 tropic.host 中,可以先选择较小的 Linux 配置;如果之后为 Home Assistant 增加 MQTT、Node-RED、数据库或其他容器,再提高资源。Zigbee、Thread、Z-Wave 和 Bluetooth 仍然更适合留在家中的节点上。

如何设置安全访问和备份

不要直接把 8123 端口暴露到公网。远程控制应使用 Home Assistant Cloud、VPN,或带 HTTPS 的反向代理。启用多因素身份验证,并只向确实需要的用户授予管理员权限。

Home Assistant 支持自动加密备份。至少将一份副本保存在系统之外,并把包含加密密钥的 emergency kit 单独存放。

常见错误

错误更好的做法
未检查集成就购买设备查看支持的型号和功能
一开始就创建几十个自动化先从一个简单场景开始
完全移除实体开关为关键功能保留手动控制方式
把 Zigbee 协调器放在 VPS 上将它放置在家中
将备份与系统放在同一位置在另一台设备或住宅之外保存副本

简要总结

Home Assistant 可以把分散的设备变成一个统一系统:一个面板、统一历史记录,以及跨品牌自动化。你可以在不编程的情况下开始使用,只需检查兼容性、安装 Home Assistant OS 或 Container,并创建一个实用场景。

主服务器最好放在家中,尤其是在使用 Zigbee、Thread、Z-Wave 或 Bluetooth 时。VPS 适合测试、云端集成、VPN、监控和相关服务,但不能替代本地无线网关。

FAQ

Home Assistant 免费吗?

是的。硬件、第三方云服务以及可选的 Home Assistant Cloud 订阅可能需要付费。

没有互联网时系统还能工作吗?

本地集成和自动化会继续在家庭网络内运行。仅依赖云端的设备在断网时将不可用。

必须使用 Raspberry Pi 吗?

不需要。可以使用 Home Assistant Green、迷你 PC、旧电脑、NAS、虚拟机或 Linux 服务器。

Home Assistant OS 和 Container 哪个更好?

对大多数用户来说,Home Assistant OS 更方便。Container 适合已经使用 Docker,并愿意自行维护额外服务的用户。

可以连接不同厂商的设备吗?

可以,前提是存在兼容的集成。购买前不仅要检查品牌,还应确认具体型号和受支持的功能。