Home Assistant Integration knowledge 是一份面向 Home Assistant 集成开发、测试与审查的知识文档,来源于 Home Assistant 核心仓库。它汇总了构建、测试和审查集成时需要遵循的规范与指引。
用途 该文档用于指导开发者或审查者在处理 Home Assistant 集成时,按照统一的标准进行开发、测试和质量评估。当查看某个集成时,应将其作为主要参考。
主要能力与规范 文档规定了文件位置:集成代码位于 ./homeassistant/components/<integration_domain>/,集成测试位于 ./tests/components/<integration_domain>/。
通用准则包括:查找示例时优先选择 platinum 或 gold 质量等级的集成;轮询间隔不可由用户配置,禁止在配置流程或配置条目中添加 scan_interval、update_interval 或轮询频率选项;不允许用户在配置流程中设置配置条目名称,名称会自动生成或稍后可在 UI 中自定义,但辅助集成可能允许自定义名称;对于实体动作和实体服务,避免对已由 Home Assistant 验证模式和实体过滤器强制执行的字段请求冗余防御性检查,仅当值绕过验证或被不安全转换时才请求额外保护;当验证保证某个键存在时,优先使用直接字典索引 data["key"] 而非 .get("key"),以便无效假设快速失败。
文档还指出以下平台有额外指南:诊断(Diagnostics)参见 platform-diagnostics.md,用于诊断数据收集;修复(Repairs)参见 platform-repairs.md,用于用户可操作的修复问题。
集成质量等级 在验证质量等级规则时,应查阅 https://developers.home-assistant.io/docs/core/integration-quality-scale/rules。在实现或审查集成时,始终考虑质量等级规则,因为它们促进最佳实践。模板等级文件位于 ./script/scaffold/templates/integration/integration/quality_scale.yaml。
规则如何适用 检查 manifest.json:查找 "quality_scale" 键以确定集成等级。Bronze 规则:对于任何具有质量等级的集成始终必需。更高层级规则:仅当集成目标为该层级或更高时适用。规则状态:检查集成文件夹中的 quality_scale.yaml,其中 done 表示规则已实现,exempt 表示规则不适用(注释中说明原因),todo 表示规则需要实现。
测试要求 测试应避免交互或模拟集成内部细节。更多信息参见 https://developers.home-assistant.io/docs/development_testing/#writing-tests-for-integrations。
适用场景 适用于 Home Assistant 集成的开发、测试、审查以及质量等级评估过程。
限制 文档未提供具体的收费、价格、平台或效果信息。