创建组件的检测清单
这是一份在添加新组件时需要完成事项的检查清单。
并非所有现有平台都遵循此检查清单中的要求。但这不能成为不遵循它们的理由!
需求
需求版本固定:REQUIREMENTS = [‘phue==0.8.1’]
我们不再希望需求托管在 GitHub 上。请上传到 PyPi。
需求应该只在函数内部导入。这是必要的,因为需求是动态安装的。
配置
存在用于配置验证的 Voluptuous 模式
默认参数在 Voluptuous 模式中指定,而不是在setup(…)中
模式尽可能使用来自homeassistant.const的通用配置键
如果有平台,使用PLATFORM_SCHEMA,否则使用CONFIG_SCHEMA。
如果是PLATFORM_SCHEMA,从homeassistant.helpers.config_validation导入基类。
组件 / 平台通信
如果你需要与平台共享全局数据,使用字典hass.data。优先使用hass.data[DATA_XY](其中XY是组件)而不是hass.data[DOMAIN]。
如果组件获取的数据导致其相关平台实体更新,你可以使用homeassistant.helpers.dispatcher中的调度程序代码通知它们。
总结
列出了在 Home Assistant 中创建组件时应遵循的检查清单。在需求方面,明确了版本固定、托管平台及导入位置的要求,确保组件依赖的稳定性和安全性。配置部分规范了验证模式、参数设置及模式选择,使配置管理更加统一和高效。组件 / 平台通信的规则提供了共享数据和通知更新的标准方法,增强了组件与平台之间的协作能力。整体而言,该清单为开发者创建高质量组件提供了全面指导,有助于提高组件与系统的兼容性和可维护性,尽管现有平台可能不完全符合,但新组件开发必须严格遵循这些标准,以促进 Home Assistant 项目的健康发展。