集成质量等级规则
每个等级的规则在下面定义,并附有各自的页面,提供示例和更多信息。
🥉 铜牌
- action-setup - 服务操作在 async_setup 中注册
- appropriate-polling - 如果这是一个轮询集成,请设置适当的轮询间隔
- brands - 集成有品牌资产可用
- common-modules - 将常见模式放入公共模块
- config-flow-test-coverage - 配置流程的完整测试覆盖
- config-flow - 集成需要能够通过UI进行设置
- dependency-transparency - 依赖透明性
- docs-actions - 文档描述了可以使用的服务操作
- docs-high-level-description - 文档包括集成品牌、产品或服务的高级描述
- docs-installation-instructions - 文档提供了集成的逐步安装说明,包括(如有需要)先决条件
- docs-removal-instructions - 文档提供了移除说明
- entity-event-setup - 实体事件在正确的生命周期方法中被订阅
- entity-unique-id - 实体具有唯一的ID
- has-entity-name - 实体使用 has_entity_name = True
- runtime-data - 使用 ConfigEntry.runtime_data 存储运行时数据
- test-before-configure - 在配置流中测试连接
- test-before-setup - 在集成初始化期间检查我们是否能够正确设置它
- unique-config-entry - 不允许同一设备或服务被设置两次
🥈 银牌
- action-exceptions - 服务操作在遇到失败时引发异常
- config-entry-unloading - 支持配置项卸载
- docs-configuration-parameters - 文档描述了所有集成配置选项
- docs-installation-parameters - 文档描述了所有集成安装参数
- entity-unavailable - 如果合适则标记实体为不可用
- integration-owner - 有集成所有者
- log-when-unavailable - 如果互联网/设备/服务不可用,记录一次不可用信息和一次重新连接时的信息
- parallel-updates - 指定并行更新的数量
- reauthentication-flow - 重新身份验证需要通过用户界面可用
- test-coverage - 所有集成模块的测试覆盖率超过95%
🥇 金牌
- devices - 集成创建设备
- diagnostics - 实现诊断
- discovery-update-info - 集成使用发现信息更新网络信息
- discovery - 设备可以被发现
- docs-data-update - 文档描述了数据是如何更新的
- docs-examples - 文档提供用户可以使用的自动化示例。
- docs-known-limitations - 文档描述了集成的已知限制(不要与错误混淆)
- docs-supported-devices - 文档描述已知的支持/不支持的设备
- docs-supported-functions - 文档描述了支持的功能,包括实体和平台
- docs-troubleshooting - 文档提供故障排除信息
- docs-use-cases - 文档描述了使用案例,以说明该集成如何使用
- dynamic-devices - 集成设置后添加的设备
- entity-category - 实体被分配了适当的实体类别
- entity-device-class - 实体尽可能使用设备类别
- entity-disabled-by-default - 集成禁用不太受欢迎(或嘈杂)的实体
- entity-translations - 实体具有翻译名称
- exception-translations - 异常信息是可翻译的
- icon-translations - 实体实现图标翻译
- reconfiguration-flow - 集成应该有重新配置流程
- repair-issues - 维修问题和维修流程在需要用户干预时使用
- stale-devices - 过时设备被移除
🏆 铂金
- async-dependency - 依赖是异步的
- inject-websession - 集成依赖支持传入 websession
- strict-typing - 严格类型