支持配置项卸载
import RelatedRules from './_includes/related_rules.jsx'
推理
集成应支持卸载配置条目(config entry)。 这样 Home Assistant 就能在运行时卸载集成,让用户无需重启 Home Assistant 也能删除或重新加载集成。
这改善了用户体验,因为用户无需重新启动 Home Assistant 即可执行更多操作。
实施示例
在 async_unload_entry 函数中,集成应清理所有订阅,并关闭设置配置条目期间打开的所有连接。
例如,如果我们把一个监听器存放在配置条目(config entry)的 runtime_data 中,就应在卸载时清理它,以避免内存泄漏。
ZZ保护0ZZ:
Info
集成可以使用 entry.async_on_unload 注册回调;当配置条目被卸载、卸载被取消或设置失败时,这些回调会被调用。
这对于清理资源很有用,而无需自己跟踪删除方法。
在以下情况下,已注册的回调会被调用:
async_setup_entry触发ConfigEntryError、ConfigEntryAuthFailed或ConfigEntryNotReadyasync_unload_entry成功,即返回 True 并且不触发。
请注意,集成始终需要实现 async_unload_entry 来支持配置条目卸载,仅调用 entry.async_on_unload 并不足够。
其他资源
有关配置条目(config entry)及其生命周期的更多信息,请参阅 config entry documentation。
例外情况
这条规则没有例外。

