Condition 和 script APIs 的变更
摘要
Condition 和 script APIs 已经发生变更。
Conditions 现在是 condition classes 的实例,通过调用 async_check 方法进行求值,通过调用 async_unload 方法进行丢弃。此外,conditions 可以选择性地实现 _async_setup 或 _async_unload 方法。注意,condition 的使用者无需调用 condition 的 async_setup 方法。
在弃用期间(以 Home Assistant Core 2027.1 的发布结束),可以像 callable 一样使用 condition 对象。
Scripts 也拥有一个 async_unload 方法,当不再需要脚本时必须调用它。
对自定义集成的影响
创建 conditions 或 scripts 的自定义集成
创建 condition 对象的自定义集成应通过调用 async_check 方法来求值,并在不再需要该 condition 时调用 async_unload 方法。
示例:
创建 scripts 的自定义集成应在不再需要脚本时调用 async_unload 方法。
示例:
提供 condition platform 的自定义集成
提供 condition platform 的集成无需更改,但如果 platform 需要执行 async 初始化或 teardown,可以实现 _async_setup 和 _async_unload 方法。
示例:

