YAML


必威是什么家务助理使用YAML语法的配置。YAML可能需要一段时间才能习惯,但它确实很强大,允许您表达复杂的配置。

虽然越来越多的集成是通过UI配置的,但对于某些集成,您将在您的configuration.yaml文件指定其设置。

下面的示例条目假设您想要设置通知集成pushbullet平台

通知:平台:推送子弹api_key:“o.s 1234abcd”名称:推送子弹
  • 一个集成为某些功能(比如通知提供发送通知)。
  • 一个平台连接到特定的软件或硬件平台(比如pushbullet工作与服务从pushbullet.com)。

YAML语法的基础是包含键值对的块集合和映射。集合中的每个项都以a开头-而映射具有这种格式键:值.这有点类似于哈希表,或者更具体地说,Python中的字典。这些也可以嵌套。注意,如果您指定重复的键,将使用键的最后一个值

注意,缩进是使用YAML指定关系的一个重要部分。缩进的内容是嵌套在更高一级的内容“内部”。在上面的例子中,平台:pushbullet属性是(嵌套在里面)通知集成。

如果你没有使用固定宽度字体的编辑器,获得正确的缩进可能会很棘手。制表符不允许用于缩进。惯例是为每一级缩进使用2个空格。

您可以使用在线服务YAML验证器在将YAML语法加载到Home Assistant之前检查它是否正确,这将节省你一些时间。必威是什么如果你这样做,请注意这是一个第三方服务,并不是由家庭助理社区维护。必威是什么

请注意不要将私人数据(密码、API密钥等)直接存储在您的configuration.yaml文件。私有数据可以存储在单独的文件或在环境变量,它规避了这个安全问题。

后面的文本字符串是注释,会被系统忽略。

下一个示例显示input_select对选项的值使用块集合的集成。其他属性(比如名称:)是使用映射指定的。注意,第二行只有威胁:没有值在同一行。这里的威胁是input_select的名称,它的值是嵌套在它下面的所有内容。

input_select:威胁:名称:“威胁级别”#选项集合选项:- 0 - 1 - 2 - 3 initial: 0

下面的示例显示了在映射中嵌套映射集合。在Ho必威是什么me Assistant中,这将创建两个传感器,每个传感器都使用MQTT平台,但它们的值不同state_topic(MQTT传感器使用的属性之一)。

传感器:-平台:MQTT state_topic:“Sensor /topic”-平台:MQTT state_topic:“sensor2/topic”

包括价值观

环境变量

在Ho必威是什么me Assistant Core安装中,您可以包含来自系统环境变量的值env_var !.请注意,这将只适用于Home Assistant Core安装,在一必威是什么个可能指定这些的场景中。建议普通家庭助理必威是什么用户使用包括!语句代替。

例如:password: !env_var密码

默认值

如果没有设置环境变量,可以回退到默认值。

示例:password: !env_var password default_password

包括整个文件

要提高可读性,您可以从主配置文件中查找某些域包括!语法。

光:!包括lights.yaml

有关此功能的更多信息可在以下网址找到分裂的配置

常见问题

发现字符“\ t”

如果您看到以下消息:

发现字符'\t'不能启动任何标记

这意味着您错误地输入了一个制表符,而不是空格。

大写和小写

必威是什么家庭助理是区分大小写的,状态是“上”不一样吗“上”“上”.类似地,一个实体组。门不一样吗group.doors

如果你有麻烦,检查家庭助理在开发状态菜单下报告的情况必威是什么开发人员工具

布尔值

YAML对待Y真正的是的真正的n没有作为.这意味着,如果您想将实体的状态设置为必须报价是“上”否则,它将被转换为将状态设置为true。这同样适用于

不引用该值可能会产生如下错误:

不是字典值@ data的有效值
Baidu