第二章:Home Assistant 核心概念解析
各位同学,欢迎来到第二章。这一章我们聊聊 Home Assistant 的五个核心概念:实体、设备、区域、集成、自动化。说实话,这五个概念就像房子的五根柱子,搞懂了它们,你搭建智能家居的思路就会清晰很多。
我在刚接触 HA 时,也曾经被这些术语搞得晕头转向。后来发现,其实每个概念都有它存在的道理。咱们一个一个来拆解。
2.1 实体(Entity)—— 最小的控制单元
实体是什么?说白了,就是你能控制或读取的「一个东西」。比如客厅那盏灯的开关状态、卧室温度传感器的数值、窗帘的开合百分比……这些都是实体。
每个实体都有一个唯一的 ID,格式通常是 domain.object_id。举个例子:
light.living_room_ceiling
sensor.bedroom_temperature
switch.kitchen_plug
cover.living_room_curtain
这里的 light、sensor、switch、cover 就是「域(domain)」,它决定了这个实体是什么类型。HA 内置了几十种域,比如:
| 域 | 含义 | 常见属性 |
|---|---|---|
| light | 灯光 | brightness, color_temp, rgb_color |
| sensor | 传感器 | state, unit_of_measurement |
| switch | 开关 | state(on/off) |
| cover | 窗帘/卷帘 | position, current_position |
| climate | 空调/温控器 | temperature, hvac_mode |
| lock | 门锁 | state(locked/unlocked) |
light.living_room_ceiling_main,这样在自动化里一眼就能看懂。千万别用 light.light1 这种名字,三个月后你自己都忘了它控制的是哪盏灯。
2.2 设备(Device)—— 实体的容器
一个物理设备通常包含多个实体。比如一个智能插座,它可能同时包含:
switch.smart_plug(开关实体)sensor.smart_plug_power(功率传感器)sensor.smart_plug_energy(电量传感器)
在 HA 的设备页面里,这些实体会被自动归到同一个「设备」下。这样做的好处是:你删除一个设备时,它下面的所有实体都会被清理干净,不会留下「孤魂野鬼」。
我记得有一次帮朋友调试,他家有个小米网关,下面挂了十几个传感器。结果他直接在实体页面删了几个传感器,网关还在,但那些传感器实体变成了「不可用」状态,找了半天才发现是设备没删干净。嗯,这就是设备概念存在的意义。
2.3 区域(Area)—— 按空间组织设备
区域就是你家中的物理空间:客厅、卧室、厨房、阳台……把设备和实体分配到对应的区域,HA 的界面会变得非常直观。
我个人习惯是:先建好所有区域,再把设备拖进去。比如:
- 客厅:天花板灯、电视、窗帘、温度传感器
- 主卧:床头灯、空调、门磁传感器
- 厨房:烟雾报警器、智能插座、水浸传感器
区域还有一个很实用的功能:在自动化里可以按区域触发。比如「当客厅的移动传感器检测到有人,就打开客厅的灯」。你不需要一个个指定实体,直接选区域就行。
2.4 集成(Integration)—— 连接外部世界的桥梁
集成是 HA 的灵魂。没有集成,HA 就是个空壳子。每个集成负责连接一种设备或服务,比如:
- 小米集成(Xiaomi Miio):连接小米智能设备
- MQTT 集成:连接支持 MQTT 协议的设备
- ESPHome 集成:连接自制的 ESP8266/ESP32 设备
- HomeKit 集成:让 HA 设备能被苹果家庭 App 控制
安装集成的方式有两种:
- 内置集成:直接在 HA 界面搜索安装,一键搞定
- 自定义集成(HACS):需要先安装 HACS 商店,再下载第三方集成
你想想看,一个集成就像是一个翻译官。它把不同品牌设备的「方言」翻译成 HA 能听懂的「普通话」。所以,当你发现某个设备连不上 HA 时,第一反应应该是:这个设备有没有对应的集成?
2.5 自动化(Automation)—— 让一切自动运转
自动化是 HA 的终极武器。它由三部分组成:
- 触发器(Trigger):什么时候开始?比如「当门磁传感器打开」
- 条件(Condition):满足什么条件才执行?比如「只在晚上 7 点后」
- 动作(Action):做什么?比如「打开客厅灯」
举个我家里正在用的例子:
自动化:离家模式
触发器:当所有手机离开家庭 Wi-Fi
条件:时间在晚上 8 点前(防止半夜误触发)
动作:
- 关闭所有灯
- 关闭空调
- 开启安防摄像头
- 发送通知到手机
这个自动化我用了两年多,几乎没出过问题。但要注意一点:触发器和条件一定要写清楚,否则很容易出现「灯关不掉」或者「半夜突然开灯」的尴尬情况。
我曾经就踩过这个坑——写了一个「当湿度高于 70% 就打开除湿机」的自动化,结果没加条件限制,导致除湿机在冬天也疯狂运转,电费直接翻倍。后来我加了一条条件:「只在 6 月到 9 月执行」,问题就解决了。
2.6 五个概念的关系
最后,我用一张表格总结一下它们的关系:
| 概念 | 层级 | 作用 |
|---|---|---|
| 集成 | 最底层 | 连接外部设备/服务 |
| 设备 | 中间层 | 组织多个实体 |
| 实体 | 最细粒度 | 控制或读取单个功能 |
| 区域 | 空间层 | 按物理位置分组 |
| 自动化 | 逻辑层 | 定义触发-条件-动作 |
说白了,整个 HA 的架构就是:集成把设备拉进来,设备拆成实体,实体分配到区域,自动化把它们串起来。你只要理清这条线,后面写自动化、做场景,都会顺手很多。
下一章,我们会深入聊聊「如何安装和配置第一个集成」,到时候我会手把手带你走一遍流程。今天就先到这里,有问题随时问我。