维修
Home Assistant 会跟踪需要引起用户注意的问题。这些问题可以由集成或 Home Assistant 本身创建。问题可以通过 RepairsFlow 修复,也可以通过链接到包含用户自行解决方法的网站来修复。
维修问题也是面向用户的集成中 deprecation 的宣布方式,这是它们最常见的用途之一。Core API 的 deprecation 则通过日志警告报告给开发者。
创建问题
问题的严重程度
为了更好地理解应选择哪个严重程度级别,请参阅下面的列表。
修复问题
如果问题的 is_fixable 设置为 True,用户将被允许修复该问题。成功修复的问题将从 issue registry 中移除。
如果可以进行自动修复,应使用 RepairsFlow 来实现。
提供自动修复
在集成文件夹中创建一个名为 repairs.py 的新 platform 文件,并根据下面的模式添加代码。
问题生命周期
问题持久性
问题将保留在 issue registry 中,直到被创建它的集成或用户通过修复将其移除。
is_persistent 标志控制问题是否应在 Home Assistant 重启后向用户显示:
- 如果设置了
is_persistent标志,问题将在重启后再次向用户显示。适用于只能在发生时检测到的问题(更新失败、自动化中未知操作)。 - 如果未设置
is_persistent标志,问题将在重启后不再向用户显示,直到其集成重新创建它。适用于可以检查的问题,如磁盘空间不足。
被忽略的问题
用户可以"忽略"问题。被忽略的问题将被忽略,直到被明确删除——由集成删除或用户成功走完其维修流程——并重新创建。忽略问题在 Home Assistant 重启后仍然生效,无论问题持久性如何。
删除问题
集成通常不需要删除问题,但在某些情况下可能有用。

