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"
看到没?每个设备类型(比如 light、sensor)都是一个顶级键,下面用列表形式定义具体的设备。缩进必须用两个空格,不能用Tab键——这是YAML的规矩,我曾经因为混用了Tab和空格,排查了整整一下午。
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)。嗯,除非你在美国,否则别选这个。
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 本章小结
这一章我们干了三件事:
- 认识了HA前端界面的各个区域,知道概览、配置、开发者工具分别在哪儿。
- 理解了
configuration.yaml的结构,学会了用!include拆分配置文件。 - 完成了时区、语言、单位这三个基础设置,确保HA按我们的习惯运行。
下一章,咱们开始真正接入设备。我会拿一个WiFi插座做例子,手把手教你走完整个流程。到时候你会发现,前面这些基础设置有多重要。
嗯,今天就到这儿。有问题随时翻翻日志,或者去HA社区逛逛。我当年也是这么过来的。