HA文档 目录

  1. 主页
  2. HA文档
  3. HA文档
  4. 基础配置
  5. YAML

YAML

这篇文章是系列文章的第1/8篇:

HomeAssistant的配置文件采用Yaml格式。Yaml非常强大,允许用户表达复杂的配置信息;Yaml也非常直观,看着样例也就明白其表达的含义——对于一般的使用,直接照着配置的样例做就可以了。

【简单理解】
只要记住四条规则,就能理解HomeAssistant的配置文件:

  1. 在“#”右边的文字用于注释,不起实际作用。
  2. 冒号(:)左边的字符串代表配置项的名称,冒号右边是配置项的值。
  3. 如果冒号右边是空的,那么下一行开始所有比这行缩进(左边多两个空格)的都是这个配置项的值。
  4. 如果配置项的值以减号(-)开始,代表这个配置项有若干个并列的值(也可能仅并列一个),每个都是以相同缩进的减号开始。

如果编写配置文件出现错误,最大可能出现在以下几点:

  1. 冒号和减号后面要加一个空格。
  2. 缩进符必需是空格(不能是tab),一般是用两个空格代表一层缩进。
  3. 如果配置文件中有中文,必须保存为utf-8编码格式

【深一些的理解】
Yaml文件由组成;块分为序列块映射块两种结构——序列块由一个短横杠“- ”开始,映射块的形式是“key: value”。
一般情况下,这两种基础结构,再加上空格缩进来表达它们之间的相互关系,就组成了整个yaml文件(在yaml中,不能使用tab作为缩进符,需要使用空格符,大家一般习惯使用两个空格作为一个层级的缩进)。

例1:一个输入选择(input select)组件

用图来拆解一下这个结构(其中红色框代表一个映射块,绿色框代表一个序列块)整个结构就一目了然了。

在上面例子中,首先整体是一个映射块,这个映射块的key是input_select,value又是一个映射块(这个映射块的key是threat,value是三个映射块)。
key为options的映射块的value是三个序列块。

空格缩进用于表达不同部分之间的关系。在上面的例子中,name: Threat_level缩进列于threat之下,表示这是threat的一个值(value),比threat低一个层级(threat下面完整的三个缩进的映射块是threat这个key对应的value)。

例2:包含了两个MQTT设备的sensor组件


上面的例子,展示了一个映射块,映射块的值中包含了两个序列块,而每个序列块中又包含了两个映射块。
这个配置,在HomeAssistant中创建了两个传感器组件实体,这两个传感器组件实体都使用MQTT平台(platform),但它们使用不同的state_topic(MQTT类的传感器使用的一个属性,发布与订阅信息的位置)。

例3:一个notify组件

这是一个notify组件实体的配置,使用了pushbullet平台(pushbullet平台使用pushubullet.com提供的发送消息服务)。所配置实体的名称是pushbullet,调用pushubullet.com上服务的api_key"o.1234abcd"

遇到问题了?快来学习免费在线课程吧,博学老司机在线答疑,找到更多志同道合的HA玩家一起进步

此文不允许转载,如需转载请与BD@hachina.io联系。

这篇文章对您有用吗? 24 2