1. Home Assistant 初探:什么是 Home Assistant?它能做什么?我的第一个自动化场景

1.1 它到底是什么?

Home Assistant,简称 HA。说白了,它是一个开源的智能家居中枢系统。

你想想看,家里可能有小米的灯、涂鸦的插座、苹果的 HomePod、还有各种杂牌传感器。每个设备都有自己的 App,互不搭理。你想让它们协同工作?难。

HA 就是来解决这个问题的。它把所有设备统一到一个平台上,让它们能互相说话、协同工作。我最早接触 HA 是在 2018 年,当时家里设备不多,但光是小米网关和几个传感器就让我折腾了一周。嗯,那时候的 HA 还没现在这么友好。

核心定位:一个本地化、可扩展、隐私优先的智能家居平台。所有数据默认存在本地,不上传云端。

1.2 它能做什么?

我习惯把 HA 的能力分成三个层次:

  • 统一控制:把不同品牌的设备集中到一个界面。你可以在一个面板上同时控制小米灯、飞利浦灯泡、博联插座。
  • 自动化联动:设置规则,让设备自动响应。比如「人走灯灭」、「温度过高自动开空调」。
  • 数据采集与分析:记录传感器数据,生成图表,分析趋势。这是后面章节的重点。

举个例子。我在项目中遇到过一位用户,家里装了 20 多个温湿度传感器,但每个传感器都有自己的 App。他想看全屋的温度分布,得一个个点开看。用 HA 之后,所有数据汇总到一个仪表盘上,还能生成历史曲线。他当时跟我说:「早知道有这东西,我何必买那么多个网关。」

1.3 我的第一个自动化场景

咱们直接上手。别光说不练。

场景很简单:当有人经过门口时,自动打开客厅灯。

你需要准备:

  • 一个支持 HA 的人体传感器(比如小米人体传感器)
  • 一个支持 HA 的智能灯(比如 Yeelight 灯泡)
  • 一台安装了 HA 的设备(树莓派、NAS、或者旧电脑都行)

安装 HA 的过程我就不展开了,官方文档很详细。咱们直接看自动化配置。

在 HA 的配置文件中,找到 automations.yaml,或者直接在 UI 界面里创建自动化。我个人习惯用 YAML 写,因为更灵活。但新手用 UI 界面也完全没问题。

# 第一个自动化:人来灯亮
automation:
  - alias: "门口有人开灯"
    trigger:
      platform: state
      entity_id: binary_sensor.door_motion_sensor
      to: 'on'
    condition:
      condition: state
      entity_id: sun.sun
      state: 'below_horizon'
    action:
      service: light.turn_on
      target:
        entity_id: light.living_room_light
      data:
        brightness_pct: 80

这段代码什么意思?我拆开讲:

  • trigger:触发条件。当人体传感器状态变为「on」(检测到人)时触发。
  • condition:附加条件。只有太阳落山后才执行。避免白天开灯浪费电。
  • action:执行动作。打开客厅灯,亮度设为 80%。

小技巧:我建议你刚开始时把条件去掉,先测试触发和动作是否正常。等确认没问题了,再加条件。这样排查问题会快很多。

1.4 避坑指南

我曾经犯过一个低级错误:自动化写好了,但死活不触发。查了半天,发现是传感器实体 ID 写错了。HA 里的实体 ID 是区分大小写的,而且不同设备命名规则不一样。你最好在「开发者工具」-「状态」里先确认一下实体 ID 的准确写法。

还有一个常见问题:自动化执行了一次之后就不动了。这是因为 HA 默认的触发机制是「状态变化时触发」。如果传感器一直保持「on」状态,它不会重复触发。你需要设置一个「等待恢复」的逻辑,或者用「状态持续时间」来做条件。

注意:人体传感器有冷却时间。小米人体传感器默认冷却时间是 60 秒。也就是说,检测到人之后 60 秒内不会再次触发。这个在写自动化时要考虑进去,否则会出现「灯亮了又灭」的情况。

1.5 为什么选择 HA?

市面上有很多智能家居平台。Google Home、Apple HomeKit、小米米家……它们都很成熟。但为什么我还要推荐 HA?

原因有三:

  1. 本地化运行:HA 默认所有自动化都在本地执行。即使断网,你的自动化依然能跑。我遇到过好几次家里断网,但灯照样能自动开关。这种安全感,云端方案给不了。
  2. 设备兼容性:HA 支持超过 2000 种设备品牌。你几乎找不到它不支持的设备。我手头有个十几年前的 Z-Wave 开关,HA 照样能识别。
  3. 数据主权:所有数据都在你自己手里。你想怎么分析就怎么分析,想存多久就存多久。不会出现「厂商关闭服务,你的设备变砖」的情况。

嗯,说到这里,你应该对 HA 有了一个基本认识。它不是一个简单的 App,而是一个可以让你完全掌控自己智能家居的系统。接下来的章节,我们会一步步深入,从数据采集到可视化分析,把 HA 的真正潜力挖掘出来。

准备好了吗?咱们继续。