理清HA里面hacs与集成及加载项三者的关系
这三个概念是 Home Assistant 生态里功能不同、但//又相辅相成的扩展体系。
一句话总结:集成是HA的"器官"(内部代码),加载项是HA的"邻居"(外部服务),而 HACS 是HA的"第三方应用商店"(主要用于安装社区维护的自定义集成、前端卡片和主题)。/


快速区别
维度
集成 (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 才能生效。

加载项 (Add-on):HA的"邻居"
本质:加载项是独立于 HA 运行的软件程序,通常以 Docker 容器的形式打包,通过 Supervisor 管理。
核心任务:提供 HA 核心功能之外的辅助服务,如 MQTT 代理(Mosquitto)、数据库(MariaDB)、可视化编程工具(Node-RED)、文件编辑器(File Editor)等。
依赖限制:仅 HA OS 和 HA Supervised 安装方式才支持加载项。
使用方式:可以单独重启某个加载项而无需重启整个 HA。

HACS (Home Assistant Community Store):第三方应用商店
本质:HACS 本身也是一个自定义集成,它提供了一个 UI 界面,用于搜索、安装和管理社区贡献的自定义组件。
核心任务:让用户无需手动去 GitHub 搜索代码、复制文件,直接在 HA 界面内完成社区组件的安装和更新。
提供内容:
自定义集成(Custom Integrations):非官方的设备/服务接入代码。
前端卡片(Lovelace Cards):自定义仪表板卡片。
主题(Themes):自定义界面外观。
YAML 配置模板:如 AppDaemon、NetDaemon 等。
⚠️ 重要提醒:HACS 中的组件均为社区维护,未经 HA 官方团队测试或审核。这意味着使用前需自行评估风险,HA 升级时可能会遇到兼容性问题,需要等待组件作者更新。

用户需求:"我想接入一个新设备/增加一个新功能"
├─→ 设备接入类需求 → 集成 (Integration)
│ ├─→ 官方有现成集成 → 直接在"设备与服务"中添加
│ └─→ 官方没有,但社区有 → 通过 HACS 安装自定义集成
│
└─→ 独立服务类需求 → 加载项 (Add-on)(需 OS/Supervised 方式)
├─→ 官方加载项商店 → 直接安装
└─→ 社区加载项仓库 → 添加仓库后安装
HACS 在其中扮演的是"桥梁"角色:它本身是一个集成,但它的作用是帮你找到并安装其他集成、卡片、主题。加载项则不经过 HACS,通过 Supervisor 的加载项商店管理。
例如 LD2410D-B 场景
集成 (Integration):你需要的
ld2410组件就是一个集成,负责让 HA 识别你的雷达传感器。HACS:如果官方没有直接支持
ld2410的集成,你可能需要通过 HACS 安装社区版本的自定义集成。加载项 (Add-on):如果你需要在 HA 环境旁边运行一些独立服务(如 MQTT Broker 用于其他设备通信),会用到加载项,但这与你的雷达传感器接入本身没有直接关系。

chuncnc
校验提示文案
chuncnc
校验提示文案