理清HA里面hacs与集成及加载项三者的关系

2026-04-13 12:13:03 1点赞 1收藏 4评论

这三个概念是 Home Assistant 生态里功能不同、但//又相辅相成的扩展体系。

一句话总结集成是HA的"器官"(内部代码),加载项是HA的"邻居"(外部服务),而 HACS 是HA的"第三方应用商店"(主要用于安装社区维护的自定义集成、前端卡片和主题)。/


理清HA里面hacs与集成及加载项三者的关系理清HA里面hacs与集成及加载项三者的关系

快速区别

维度

集成 (Integration)

加载项 (Add-on)

HACS (Home Assistant Community Store)

身份

HA的"器官"(内部神经)

HA的"邻居"(独立软件)

HA的"第三方应用商店"(社区管理平台)

本质

直接运行在HA核心内部的Python代码,把设备协议翻译成HA能懂的实体和状态

独立于HA运行的程序,通常以Docker容器形式打包,通过Supervisor界面管理

一个自定义集成本身,其作用是提供一个UI来搜索、安装和管理社区贡献的自定义组件

来源

官方内置(约1884个官方集成) + 社区自定义

官方加载项商店 + 社区仓库

社区维护的GitHub仓库(第三方)

安装方式

通过"配置→设备与服务→添加集成"界面,或configuration.yaml手动配置

通过"配置→加载项→加载项商店"界面

作为自定义集成安装后,在侧边栏管理

运行位置

HA核心程序内部,与HA进程共享内存

HA核心程序外部,在同一硬件上作为独立Docker容器运行

HA核心程序内部(因为它本身就是一个集成)

依赖要求

所有安装方式都支持(OS、Supervised、Container、Core)

仅HA OS和Supervised方式支持

所有安装方式都支持(但Container/Core需手动安装)

安装后效果

添加新设备/服务,扩展HA内部功能(如接入米家设备、读取天气)

提供独立服务:数据库(MariaDB)、可视化编程(Node-RED)、文件编辑(File Editor)等

获得一个"商店界面",可直接搜索安装社区组件,无需手动去GitHub找代码

内容类型

设备接入代码(如米家、涂鸦、MQTT、ESPHome)

独立应用/服务(数据库、代理、媒体服务器、工具箱)

自定义集成 + 前端卡片(Lovelace) + 主题 + YAML配置模板

对HA版本依赖

高(HA升级可能影响兼容性,社区组件可能需要同步更新)

低(独立于HA,版本升级受影响较小)

HACS本身和其中的组件对HA版本依赖较高(因集成直接运行在HA内部)

对系统性能影响

取决于集成类型,一般较小

作为独立容器运行,会占用额外内存/CPU(如数据库、Node-RED等)

HACS本身占用较小,但安装的集成取决于具体组件

使用场景

"接入设备":当需要让HA控制一个新设备(如LD2410雷达传感器、小米插座、ESPHome设备)

"增加独立服务":当需要在HA环境旁边运行一个独立应用(如MQTT代理、数据库、Node-RED、文件编辑器)

"找第三方组件":当需要官方没有直接集成的功能

(如自定义卡片、主题、未收录的社区集

一个形象的比喻

集成是HA的"器官",直接长在HA身体里,负责连接设备;加载项是HA的"邻居",住在隔壁的独立小屋(Docker容器),提供独立服务;而 HACS 是HA的"第三方应用商店",你可以在里面找到各种非官方出品的器官(自定义集成)、装饰品(主题)和配件(前端卡片),然后一键安装到HA里。

详细解析

集成 (Integration):HA的"器官"

  • 本质:集成是直接运行在 Home Assistant 核心程序内部的 Python 代码。

  • 核心任务:充当"翻译官",将各种设备(如小米、涂鸦、ESPHome)的协议翻译成 HA 能理解的"实体"和"状态"。

  • 来源

    • 官方集成:HA 核心团队维护的约 1884 个集成,在"设备与服务"中可直接添加。

    • 自定义集成:社区开发者编写的集成,通常需要通过 HACS 安装,或手动复制代码到 custom_components 目录。

  • 使用方式:安装后通常需要重启 HA 才能生效。


理清HA里面hacs与集成及加载项三者的关系

加载项 (Add-on):HA的"邻居"

  • 本质:加载项是独立于 HA 运行的软件程序,通常以 Docker 容器的形式打包,通过 Supervisor 管理。

  • 核心任务:提供 HA 核心功能之外的辅助服务,如 MQTT 代理(Mosquitto)、数据库(MariaDB)、可视化编程工具(Node-RED)、文件编辑器(File Editor)等。

  • 依赖限制仅 HA OS 和 HA Supervised 安装方式才支持加载项。

  • 使用方式:可以单独重启某个加载项而无需重启整个 HA。


理清HA里面hacs与集成及加载项三者的关系

HACS (Home Assistant Community Store):第三方应用商店

  • 本质:HACS 本身也是一个自定义集成,它提供了一个 UI 界面,用于搜索、安装和管理社区贡献的自定义组件。

  • 核心任务:让用户无需手动去 GitHub 搜索代码、复制文件,直接在 HA 界面内完成社区组件的安装和更新。

  • 提供内容

    • 自定义集成(Custom Integrations):非官方的设备/服务接入代码。

    • 前端卡片(Lovelace Cards):自定义仪表板卡片。

    • 主题(Themes):自定义界面外观。

    • YAML 配置模板:如 AppDaemon、NetDaemon 等。

  • ⚠️ 重要提醒:HACS 中的组件均为社区维护,未经 HA 官方团队测试或审核。这意味着使用前需自行评估风险,HA 升级时可能会遇到兼容性问题,需要等待组件作者更新。

理清HA里面hacs与集成及加载项三者的关系

用户需求:"我想接入一个新设备/增加一个新功能"

├─→ 设备接入类需求 → 集成 (Integration)

│ ├─→ 官方有现成集成 → 直接在"设备与服务"中添加

│ └─→ 官方没有,但社区有 → 通过 HACS 安装自定义集成

└─→ 独立服务类需求 → 加载项 (Add-on)(需 OS/Supervised 方式)

├─→ 官方加载项商店 → 直接安装

└─→ 社区加载项仓库 → 添加仓库后安装

HACS 在其中扮演的是"桥梁"角色:它本身是一个集成,但它的作用是帮你找到并安装其他集成、卡片、主题。加载项则不经过 HACS,通过 Supervisor 的加载项商店管理。


例如 LD2410D-B 场景

  • 集成 (Integration):你需要的 ld2410 组件就是一个集成,负责让 HA 识别你的雷达传感器。

  • HACS:如果官方没有直接支持 ld2410 的集成,你可能需要通过 HACS 安装社区版本的自定义集成。

  • 加载项 (Add-on):如果你需要在 HA 环境旁边运行一些独立服务(如 MQTT Broker 用于其他设备通信),会用到加载项,但这与你的雷达传感器接入本身没有直接关系。

展开 收起
4评论

  • 精彩
  • 最新
  • 现在添加集成里没有HACS了,要怎么才能安装?

    校验提示文案

    提交
    点击这里下载安装包并解压 (如果下载不了请点这里或这里)
    通过samba/ftp进入HA配置目录,通常为以下目录:
    /usr/share/hassio/homeassistant haos/hassio宿主机
    /config haos/hassio的Samba或Terminal & SSH加载项
    $HOME/.homeassistant 以core方式安装的HA默认配置目录
    docker安装的HA为-v参数后面映射的目录
    在HA配置目录下创建custom_components文件夹 (如果已有请忽略)
    在custom_components目录下创建hacs文件夹 (如果已有请删除重新创建)
    將解压出来的文件复制到刚创建的hacs文件夹
    重启HA
    添加HACS集成 (仅首次安装)

    校验提示文案

    提交

    校验提示文案

    提交
    还有1条回复
    收起所有回复
提示信息

取消
确认
评论举报

相关文章推荐

更多精彩文章
更多精彩文章
最新文章 热门文章
1
扫一下,分享更方便,购买更轻松