第二章: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

这里的 lightsensorswitchcover 就是「域(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)
我的小技巧: 命名实体 ID 时,我习惯用「位置_设备_功能」的格式。比如 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 控制

安装集成的方式有两种:

  1. 内置集成:直接在 HA 界面搜索安装,一键搞定
  2. 自定义集成(HACS):需要先安装 HACS 商店,再下载第三方集成

你想想看,一个集成就像是一个翻译官。它把不同品牌设备的「方言」翻译成 HA 能听懂的「普通话」。所以,当你发现某个设备连不上 HA 时,第一反应应该是:这个设备有没有对应的集成?

注意: 不是所有设备都有官方集成。有些小众品牌需要靠社区维护的 HACS 集成,甚至需要自己写代码。选设备前,先去 HA 官网查一下集成列表,能省很多麻烦。

2.5 自动化(Automation)—— 让一切自动运转

自动化是 HA 的终极武器。它由三部分组成:

  • 触发器(Trigger):什么时候开始?比如「当门磁传感器打开」
  • 条件(Condition):满足什么条件才执行?比如「只在晚上 7 点后」
  • 动作(Action):做什么?比如「打开客厅灯」

举个我家里正在用的例子:

自动化:离家模式
触发器:当所有手机离开家庭 Wi-Fi
条件:时间在晚上 8 点前(防止半夜误触发)
动作:
  - 关闭所有灯
  - 关闭空调
  - 开启安防摄像头
  - 发送通知到手机

这个自动化我用了两年多,几乎没出过问题。但要注意一点:触发器和条件一定要写清楚,否则很容易出现「灯关不掉」或者「半夜突然开灯」的尴尬情况。

我曾经就踩过这个坑——写了一个「当湿度高于 70% 就打开除湿机」的自动化,结果没加条件限制,导致除湿机在冬天也疯狂运转,电费直接翻倍。后来我加了一条条件:「只在 6 月到 9 月执行」,问题就解决了。

2.6 五个概念的关系

最后,我用一张表格总结一下它们的关系:

概念 层级 作用
集成 最底层 连接外部设备/服务
设备 中间层 组织多个实体
实体 最细粒度 控制或读取单个功能
区域 空间层 按物理位置分组
自动化 逻辑层 定义触发-条件-动作

说白了,整个 HA 的架构就是:集成把设备拉进来,设备拆成实体,实体分配到区域,自动化把它们串起来。你只要理清这条线,后面写自动化、做场景,都会顺手很多。

下一章,我们会深入聊聊「如何安装和配置第一个集成」,到时候我会手把手带你走一遍流程。今天就先到这里,有问题随时问我。