SuperAPI AI 工具集

ha-recorder

编程与开发

查看项目

更新于 10-15 23:48

技能介绍

用途:为需要处理历史数据、统计与 recorder 的 Home Assistant 集成提供开发指南,适用于能源监测、长期趋势、高频或诊断实体排除、外部数据源自定义统计以及历史分析功能。

主要能力:说明何时使用 recorder 特性;通过实体属性(如 _attr_entity_registry_enabled_default = False)或用户 configuration.yaml 中的 recorder.exclude(entity_globs、domains)排除噪声实体,并指出隐藏仅影响 UI、仍会被记录;讲解长期统计所需条件,包括 device_class(ENERGY、GAS、WATER 等)、state_class(MEASUREMENT、TOTAL、TOTAL_INCREASING)与标准单位;区分测量型(mean/min/max,has_sum=False)与累计型(sum,has_sum=True)统计;演示用 async_add_external_statistics、async_import_statistics、get_last_statistics 导入外部历史数据,以及用 history.state_changes_during_period 和 statistics_during_period 查询历史与统计。

使用方式:在集成代码中按示例定义统计元数据与数据点,增量导入并记录上次导入时间;查询时通过 get_instance(hass).async_add_executor_job 调用 recorder 接口;设置入口时检查 RECORDER_DOMAIN 是否在 hass.config.components 中,缺失则记录警告并跳过统计。

限制与注意:recorder 可能被用户禁用;2025-10-16 起 StatisticMetaData 以 mean_type(NONE/ARITHMETIC/CIRCULAR)取代 has_mean,导入函数新增可选 unit_class,需按破坏性变更重新校验调用;MONETARY 为 sum 型但不做单位换算;domains 指实体域而非集成名。相关技能包括 ha-entity-platforms、ha-coordinator、ha-diagnostics。