SuperAPI AI 工具集

ha-entity-lifecycle

通用与其它

查看项目

更新于 10-15 23:48

技能介绍

用途:面向 Home Assistant 自定义集成开发者,梳理实体生命周期与设备、实体注册表机制。

主要能力与流程:平台发现时调用 async_setup_entry;实体实例化后传给 async_add_entities;HA 分配 entity_id 并写入实体注册表;首次更新调用 async_added_to_hass 并写入初始状态;协调器触发 _handle_coordinator_update 更新;移除时调用 async_will_remove_from_hass 做清理。

状态恢复:async_get_last_state() 来自 RestoreEntity,不在 CoordinatorEntity 或基础 Entity 上,需混入 RestoreEntity,例如 class MyEntity(CoordinatorEntity, RestoreEntity),并在 async_added_to_hass 中调用 super() 后读取上次状态。

设备注册表:通过 device_info 返回 DeviceInfo(identifiers、name、manufacturer、model、sw_version、configuration_url)。identifiers 必须是跨重启稳定的唯一元组,否则会产生重复设备条目。

实体注册表:以 unique_id(_attr_unique_id)作为实体的永久身份,需跨重启稳定、平台内唯一,用于持久化用户自定义(重命名、禁用、区域)并在重载时识别同一实体;无 unique_id 的实体不被注册、无法经 UI 自定义。_attr_has_entity_name 启用现代命名,name 只写实体部分。entity_id 首次由平台与名称推导,此后由注册表持有,代码不应假定具体 entity_id;可用 entity_registry.async_get(hass) 查看注册表。

限制:资料未提供安装命令、版本要求、价格或完整示例代码,具体实现细节以 Home Assistant 官方文档为准。