本帖最后由 xzhang 于 2017-7-29 14:58 编辑
Home Assistant使用 YAML 语法进行配置。 YAML可能需要一段时间才能习惯,但真正强大的是允许您表达复杂的配置。
对于要在Home Assistant中使用的每个组件,您可以在 configuration.yaml 文件中添加代码以指定其设置。 以下示例条目指定您要将 notify 组件与 pushbullet 平台一起使用。
notify:
platform: pushbullet
api_key: "o.1234abcd"
name: pushbullet
- 组件为某种功能提供核心逻辑(如 notify 提供发送通知)。
- 平台连接到一个特定的软件或硬件平台(如 pushbullet 与pushbullet.com的服务配合使用)。
YAML语法的基础是包含键值对的块集合和映射。 集合中的每个项目都以连接符 - 开头,而映射的格式为 key: value 。 如果指定重复键,则使用键的最后一个值。
请注意,缩进是使用YAML指定关系的重要部分。缩进的东西是嵌套在上一个层次的“内部”事物(属性)。所以在上面的例子中, platform: pushbullet 是notify 组件的一个属性(嵌套在里面) 。如果您不使用固定宽度字体的编辑器,获得正确的缩进可能会很棘手。 Tabs 不允许用于缩进。约定是为每个级别的缩进使用2个空格。您可以使用 YAMLLint 检查您的YAML语法是否正确,然后将其加载到Home Assistant中,这将节省一些时间。 请注意不要传入隐私内容,因为它不是Home Assistant维护的,而是一个第三方网站。
#后面的文字是注释,被系统忽略。
下一个示例显示了一个 input_select 组件,它的选项值使用块集合。其他属性(如名称)使用映射指定。请注意,第二行只是 threat: :同一行没有任何值。这里的 threat 是input_select的名称,它的值是嵌套在其下的一切。
input_select:
threat:
name: Threat level
# A collection is used for options
options:
- 0
- 1
- 2
- 3
initial: 0
以下示例显示了在映射中嵌套映射集合。 在 Home Assistant 中,这将创建两个传感器,每个传感器使用MQTT平台,但对于 state_topic (用于MQTT传感器的属性之一)具有不同的值。
sensor:
- platform: mqtt
state_topic: sensor/topic
- platform: mqtt
state_topic: sensor2/topic
|