七 Home Assistant 通过 YAML 进行集成配置

通过YAML进行集成配置

通过YAML进行集成配置

configuration.yaml是由用户定义的配置文件。它在Home Assistant首次启动时自动创建,用于定义要加载哪些组件。

关于设备和/或服务的YAML注意事项

与设备和/或服务通信的集成通过配置流程进行配置。在极少数情况下,我们可以破例。对于不应有YAML配置的现有集成,允许并鼓励其实现配置流程并移除YAML支持。对于这些相同现有集成的现有YAML配置的更改将不再被接受。

预处理

Home Assistant将根据指定要加载的组件对配置进行一些预处理。

CONFIG_SCHEMA

如果一个组件定义了变量CONFIG_SCHEMA,传入的配置对象将是通过CONFIG_SCHEMA运行配置后的结果。CONFIG_SCHEMA应该是一个voluptuous模式。

PLATFORM_SCHEMA

如果一个组件定义了变量PLATFORM_SCHEMA,该组件将被视为一个实体组件。实体组件的配置是一个平台配置列表。

Home Assistant将收集此组件的所有平台配置。它将通过查找组件域(即light)下的配置项以及任何域+额外文本的条目来进行收集。

在收集平台配置时,Home Assistant将对其进行验证。它将检查平台是否存在,如果平台定义了PLATFORM_SCHEMA,则根据该模式进行验证。如果未定义,它将根据组件中定义的PLATFORM_SCHEMA对配置进行验证。任何引用不存在平台或包含无效配置的配置都将被移除。

以下是configuration.yaml文件示例:

unrelated_component:
  some_key: some_value
switch:
  platform: example1
switch living room:
  - platform: example2
    some_config: true
  - platform: invalid_platform

将作为以下内容传递给组件:

{
"unrelated_component":{
"some_key":"some_value"
},
"switch":[
{
"platform":"example1"
},
{
"platform":"example2",
"some_config":true
}
]
}

总结

本文主要讲述了Home Assistant中通过YAML进行集成配置的相关内容,包括configuration.yaml文件的作用、设备和服务相关集成配置的方式(通常通过配置流程,特殊情况除外)、Home Assistant对配置的预处理操作(涉及CONFIG_SCHEMA和PLATFORM_SCHEMA的验证及平台配置的收集),并通过示例展示了YAML配置文件如何被处理后传递给组件,为开发者理解和处理Home Assistant中的YAML配置提供了指导。

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值