📌 项目地址home-assistant/core | ⭐ 88,595 颗星 | 🔧 Python | 📜 未标注

核心价值:把智能家居的控制权留在本地

大多数商用智能家居产品(如米家、Google Home、Apple HomeKit)依赖云端服务器执行指令:你按下开关→数据上传到厂商云→判断后下发指令→设备响应。这个模式有三个问题:
– 如果厂商服务器宕机或你的网络断开,所有自动化都会失效。
– 设备状态和语音记录会被上传到第三方服务器,隐私难以保障。
– 不同品牌设备之间无法直接联动,你需要安装多个 App 或设置桥接。

Home Assistant 解决的是:所有自动化逻辑、设备状态、数据存储都运行在你自己的硬件上(树莓派、NAS、旧笔记本等)。它只会在本地网络内与设备通信,只在需要外部服务(如天气、语音助手)时才主动请求外部 API,且这些请求由你控制是否启用。官网的描述很清晰:“Open source home automation that puts local control and privacy first.”

如何开始:安装与首次配置

Home Assistant 提供了多种安装方式,核心思路是让它运行在局域网内一台常开设备上。官方文档推荐三种方式:

  1. Home Assistant OS(最省心):直接刷入树莓派或 x86 设备的镜像,插电后浏览器访问 homeassistant.local:8123 即可进入配置向导。
  2. Docker 部署:拉取官方镜像,一行命令启动:
    docker run -d --name homeassistant --privileged \
       -v /path/to/config:/config \
       -v /run/dbus:/run/dbus:ro \
       --network=host \
       ghcr.io/home-assistant/home-assistant:stable
  3. Python 虚拟环境:适合已有 Linux 系统的用户,需要手动安装依赖,具体步骤参考官方文档。

首次访问时会自动扫描局域网内兼容设备,多数主流协议(Zigbee、Z-Wave、MQTT、Wi-Fi)都能直接发现。如果没有发现,可以通过“集成”页面手动添加。

实际用法:添加设备与自动化

Home Assistant 的核心机制是“集成”(Integration)。每个品牌或协议都有一个对应的集成,安装后就能读取设备状态并下发命令。例如,添加一个具备 Wi-Fi 能力的智能灯,通常只需要在 UI 里搜索其品牌集成,然后输入设备 IP 或通过局域网广播发现。

自动化分为三个要素:触发器(Trigger)、条件(Condition)、动作(Action)。官方文档给出了大量示例 YAML 配置。以下是一个经典的自动化配置(来自官方自动化文档示例),实现“按下门铃时播放扬声器铃声”:

automation:
  - alias: "Doorbell chime"
    trigger:
      - platform: mqtt
        topic: "zigbee2mqtt/doorbell/action"
        payload: "pressed"
    action:
      - service: media_player.play_media
        target:
          entity_id: media_player.living_room_speaker
        data:
          media_content_id: "doorbell.mp3"
          media_content_type: "music"

除了 YAML 手动配置,Home Assistant 也提供了可视化编辑器(Automations & Scenes 页面),无需学习语法即可拖拽生成规则。高级用户还可以用 Node-RED 集成编写更复杂的流程。

与同类工具的区别

市场上已有的开源智能家居平台包括 OpenHAB、Domoticz、ioBroker 等。Home Assistant 的核心差异点:

  • 社区规模:GitHub 88k+ Star,最大活跃社区,意味着第三方设备集成数量最多(官方集成约 2000+,通过 HACS 可安装更多社区集成)。
  • 易用性:从安装到完成第一个自动化,通常 30 分钟内可以完成,而 OpenHAB 需要更多手动配置和 Java 知识。
  • UI 界面:自带的 Lovelace 仪表盘高度可定制,支持卡片式布局、图表、地图,而且响应式设计在手机端也能操作。
  • 隐私与本地优先:与米家等平台相比,Home Assistant 不强制使用任何云服务。即使设备本身需要云(如部分 Wi-Fi 灯泡),你也可以用“本地回传”方案(如用 ESPHome 或 Tasmota 刷固件)完全脱离厂商云。

需要注意的事项

  1. 设备兼容性不是绝对的:虽然集成数量庞大,但仍有部分冷门设备没有官方集成。你可以通过 HACS(Home Assistant Community Store)安装第三方集成,或自己编写集成(API 文档完善)。
  2. 部分功能仍需联网:例如天气预报、Google Assistant 语音控制、某些智能锁的远程访问。但这些都属于可选配置,核心自动化完全离线工作。
  3. 硬件建议:推荐使用树莓派 4B(4GB 以上内存)或 x86 小主机(如 Intel NUC)。尽量不要在 1GB 内存的旧设备上运行,否则数据库查询和仪表盘加载会变慢。
  4. 版本更迭较快:每个大版本可能有破坏性变化(breaking changes),升级前务必阅读发布说明并备份配置文件夹。
  5. 许可证:基于 Apache 2.0 开源协议,允许商用和修改,但若分发需保留版权声明。
这篇文章对你有帮助吗?

发表回复