更新实体
更新实体用于指示某个对象是否有可用更新。 这个对象可以是设备或服务。更新类型可以是任意形式, 例如灯泡、路由器等设备的固件更新, 也可以是应用程序(以前称为附加组件)或容器的软件更新。
它可用于:
- 指示设备或服务是否存在可用更新。
- 允许安装更新,或安装软件的特定版本。
- 允许在安装新更新之前提供备份。
特性
Tip
属性应该始终只从内存返回信息,而不执行 I/O(如网络请求)。实现 update() 或 async_update() 来获取数据。
所有实体共有的其他属性(例如 device_class、entity_category、icon、name 等)仍然适用。
支持的功能
支持的功能是通过使用 UpdateEntityFeature 枚举中的值来定义的。
方法
比较版本
当需要覆盖默认版本比较逻辑时,应该实现此方法。 这是一个例子:
它允许开发者指定自定义逻辑,以判断某个版本是否比另一个版本更新。优先应基于 AwesomeVersion 库提供的策略来实现。
安装
可以实现此方法,让用户直接在 Home Assistant 中安装提供的更新。
该方法需要设置 UpdateEntityFeature.INSTALL。此外,如果集成支持安装特定版本,
或能够在开始安装更新前执行备份,则还可以分别设置
UpdateEntityFeature.SPECIFIC_VERSION 和 UpdateEntityFeature.BACKUP。
发行说明
可以实现此方法,以便用户可以在安装更新之前在 Home Assistant 前端的更多信息对话框中获取完整的发行说明。
返回的字符串可以包含 markdown,前端将正确格式化它。
该方法需要设置UpdateEntityFeature.RELEASE_NOTES。
可用设备类别
可以选择指定它是什么类型的实体。

