3、界面与配置:HA前端界面概览、配置文件结构、基础设置(时区、语言、单位)

好,咱们进入第三章。说实话,很多新手拿到Home Assistant,第一反应是「这界面怎么这么素?」。别急,素归素,但五脏俱全。这一章我带你把HA的前端界面、配置文件结构、还有那些必须做的基础设置捋一遍。这些东西搞定了,后面玩自动化才顺手。

3.1 HA前端界面概览

你第一次登录HA,看到的那个页面叫「概览」(Overview)。说白了,这就是你的智能家居控制中心。我个人习惯把最常用的设备放在这里,比如灯、开关、窗帘。但默认的概览页面其实挺空的,需要你自己去填充。

左侧的侧边栏是导航核心。从上到下依次是:

  • 概览:就是主面板,显示你添加的实体卡片。
  • 地图:如果你有带位置信息的设备(比如手机追踪),这里会显示位置。
  • 日志:系统运行记录,出问题时第一站来这里查。
  • 历史:查看设备状态变化的时间线。
  • 配置:这是重点,后面我们会频繁进出这里。
  • 开发者工具:调试用的,可以手动触发事件、调用服务。

嗯,这里要注意:侧边栏的条目是可以自定义的。你装了某些集成后,它们会自动添加自己的入口。比如我装了ESPhome,侧边栏就会多出一个「ESPHome」的选项。

小技巧: 如果你觉得侧边栏太乱,可以在「配置」→「仪表盘」→「侧边栏」里调整顺序或隐藏不常用的条目。我一般只保留概览、配置和开发者工具,其他都藏起来。

3.2 配置文件结构

HA的核心配置文件是 configuration.yaml。这个文件放在HA的配置目录下(通常是 /config)。你想想看,整个HA的行为,从设备接入到自动化规则,几乎都靠这个文件来定义。

我刚开始接触HA时,看到这个文件就头大——密密麻麻的缩进和冒号。但后来发现,其实结构很简单:

# 这是一个典型的 configuration.yaml 片段
homeassistant:
  name: 我的家
  latitude: 39.9042
  longitude: 116.4074
  elevation: 50
  unit_system: metric
  time_zone: Asia/Shanghai

light:
  - platform: mqtt
    name: "客厅灯"
    command_topic: "home/living_room/light/set"
    state_topic: "home/living_room/light/state"

sensor:
  - platform: mqtt
    name: "温度传感器"
    state_topic: "home/bedroom/temperature"
    unit_of_measurement: "°C"

看到没?每个设备类型(比如 lightsensor)都是一个顶级键,下面用列表形式定义具体的设备。缩进必须用两个空格,不能用Tab键——这是YAML的规矩,我曾经因为混用了Tab和空格,排查了整整一下午。

避坑指南: 我曾经在 configuration.yaml 里写错了一个冒号后面的空格,结果HA直接启动失败。记住:冒号后面必须跟一个空格,再写值。比如 name: 我的家 是对的,name:我的家 就会报错。

除了 configuration.yaml,还有几个重要的文件:

  • secrets.yaml:存放敏感信息,比如密码、API密钥。在 configuration.yaml 里用 !secret 变量名 引用。
  • automations.yaml:自动化规则。如果你在UI里创建自动化,它们会存到这里。
  • scripts.yaml:脚本定义。脚本是一系列动作的集合,可以手动触发。
  • groups.yaml:设备分组。把多个设备归到一个组里,方便统一控制。

我个人习惯把大的配置拆分成多个文件,然后在 configuration.yaml 里用 !include 引入。比如:

# configuration.yaml
homeassistant: ...
light: !include lights.yaml
sensor: !include sensors.yaml
automation: !include automations.yaml

这样每个文件只管一类设备,找问题的时候方便多了。

3.3 基础设置:时区、语言、单位

好,现在咱们进「配置」→「系统」→「通用」页面。这里有几个必须改的设置,不改的话后面会出各种奇怪的问题。

3.3.1 时区

时区设置直接影响自动化触发的时间。比如你写了一个「日落时开灯」的自动化,如果时区设错了,灯可能半夜才亮。我建议直接选 Asia/Shanghai(中国标准时间)。

configuration.yaml 里对应的是:

homeassistant:
  time_zone: Asia/Shanghai

3.3.2 语言

HA默认是英文界面。虽然英文也能用,但中文界面看着更亲切。在「通用」页面里把语言改成「简体中文」就行。改完之后,整个前端界面、通知、甚至部分集成的描述都会变成中文。

不过要注意:有些第三方集成的界面可能还是英文,那是它们自己的问题,跟HA无关。

3.3.3 单位系统

单位系统分「公制」和「英制」。咱们国内当然选公制。这样温度显示摄氏度(°C),距离显示公里(km),气压显示百帕(hPa)。

对应的配置是:

homeassistant:
  unit_system: metric

如果你选了英制,温度会变成华氏度(°F),距离变成英里(mile)。嗯,除非你在美国,否则别选这个。

核心要点: 时区、语言、单位这三个设置,建议在第一次启动HA后就改好。我见过有人用了半年才发现自动化触发时间不对,最后查出来是时区设成了UTC。白白浪费了半年时间。

3.4 实战:通过配置文件修改基础设置

除了在UI里改,你也可以直接编辑 configuration.yaml 文件。我个人更喜欢这种方式,因为可以批量修改,而且方便备份。

下面是一个完整的 configuration.yaml 基础设置示例:

homeassistant:
  name: 我的智能家居
  latitude: 39.9042
  longitude: 116.4074
  elevation: 50
  unit_system: metric
  time_zone: Asia/Shanghai
  currency: CNY
  country: CN
  language: zh-Hans

  # 外部URL配置,如果你要通过外网访问,这里要填你的域名或IP
  external_url: "https://yourdomain.com"
  internal_url: "http://192.168.1.100:8123"

  # 允许的包,用于限制某些集成
  allowlist_external_dirs:
    - /config
    - /media

改完之后,记得检查配置是否正确:

# 在HA的终端或SSH里执行
ha core check

如果输出 Configuration valid!,那就没问题。然后重启HA让配置生效。

小技巧: 我每次改完 configuration.yaml 都会先执行 ha core check,确认无误再重启。这样可以避免因为一个拼写错误导致整个HA挂掉。

3.5 本章小结

这一章我们干了三件事:

  1. 认识了HA前端界面的各个区域,知道概览、配置、开发者工具分别在哪儿。
  2. 理解了 configuration.yaml 的结构,学会了用 !include 拆分配置文件。
  3. 完成了时区、语言、单位这三个基础设置,确保HA按我们的习惯运行。

下一章,咱们开始真正接入设备。我会拿一个WiFi插座做例子,手把手教你走完整个流程。到时候你会发现,前面这些基础设置有多重要。

嗯,今天就到这儿。有问题随时翻翻日志,或者去HA社区逛逛。我当年也是这么过来的。