九 Home Assistant 集成平台& 多个平台继承

部署运行你感兴趣的模型镜像

集成平台

Home Assistant有各种内置集成来抽象设备类型,包括灯光开关窗帘气候设备等等。你的集成可以通过创建一个平台来挂钩到这些集成中。对于你要集成的每个集成,都需要一个平台。

要创建一个平台,你需要创建一个文件,文件名是你正在为其构建平台的集成的域名。所以如果你正在构建一个灯光平台,你将在你的集成文件夹中添加一个新文件light.py

我们创建了两个示例集成,它们应该能让你了解这是如何工作的:

与设备接口

Home Assistant的一个规则是,集成绝不应该直接与设备接口。相反,它应该与一个第三方Python 3库交互。这样,Home Assistant可以与Python社区共享代码并保持项目的可维护性。

一旦你的Python库准备好并发布到PyPI,将它添加到清单中。现在是时候实现你正在为其创建平台的集成所提供的[Entity基类](https://developers.home-assistant.io/docs/core/entity)了。

在实体索引中找到你的集成,以查看有哪些方法和属性可供实现。

与多个平台集成

大多数集成由单个平台组成。在这种情况下,仅定义这一个平台就可以。然而,如果你要添加第二个平台,你会希望集中你的连接逻辑。这是在组件(__init__.py)内部完成的。

如果你的集成可通过configuration.yaml进行配置,这将导致你的配置入口点发生变化,因为现在用户将需要直接设置你的集成,并且由你的集成来设置平台。

通过配置项设置时加载平台

如果你的集成是通过配置项设置的,你将需要将配置项转发到相应的集成以设置你的平台。如需更多信息,请参阅配置项文档

通过configuration.yaml配置时加载平台

如果你的集成不使用配置项,它将必须使用我们的发现助手来设置其平台。请注意,这种方法不支持卸载。

要做到这一点,你将需要使用发现助手的load_platformasync_load_platform方法。

另请参阅实现此逻辑的完整示例

总结

该页面主要介绍了Home Assistant中的集成平台相关内容,包括如何创建平台(需根据集成类型创建对应文件名的文件),提供了示例集成供参考,强调了集成不应直接与设备接口而应与第三方Python 3库交互,以及在准备好Python库并发布到PyPI后要实现相关Entity基类,还提及可在实体索引中查看集成的方法和属性等信息。
多个平台集成时的相关操作,当有多个平台时需在__init__.py中集中连接逻辑;若集成通过configuration.yaml配置,配置入口点会改变且由集成负责设置平台;通过配置项设置集成时需转发配置项来加载平台,不使用配置项时则要用发现助手的特定方法加载平台,但该方法不支持卸载。

您可能感兴趣的与本文相关的镜像

Python3.8

Python3.8

Conda
Python

Python 是一种高级、解释型、通用的编程语言,以其简洁易读的语法而闻名,适用于广泛的应用,包括Web开发、数据分析、人工智能和自动化脚本

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值