SuperAPI AI 工具集

hass-declarative

通用与其它

查看项目

更新于 10-15 21:36

技能介绍

用途:在 Nix 中声明式管理 Home Assistant 的自动化、场景和脚本,所有定义位于 modules/services/hass/_domains/ 下的各域文件,部署后由清理服务移除未声明的实体。 主要能力:每个域文件(如 ambient.nix、lighting.nix、sleep/default.nix)用 lib.mkAfter 添加自动化、场景或脚本;_lib.nix 提供 ensureEnabled 帮助函数,注入 initial_state = true,避免自动化在 HA 重启后被静默保持关闭;sweep-unmanaged.nix 与 sweep-unmanaged.py 在构建时提取声明的 ID,运行时经 WebSocket 删除未声明的孤儿实体,并按平台过滤,不触碰集成创建的实体。_tests/eval-automations.nix 作为 nix flake check 与 pre-commit 钩子进行结构断言,例如检查 initial_state、必要实体与唤醒检测的时间保护。 使用方式:在对应域文件中添加实体,自动化必须有唯一 id 并用 ensureEnabled 包裹,场景使用 name,脚本使用属性键作为 entity_id;删除实体只需从 Nix 文件移除,部署后 hass-sweep-unmanaged 服务自动清理。调试可用 hey nuc-service hass-sweep-unmanaged、journalctl 查看日志,或用 --dry-run 检查清理动作。 限制:资料未提供安装步骤、版本要求、费用与平台支持信息。清理服务的平台过滤规则为自动化仅移除 platform = "automation"、场景仅移除 platform = "homeassistant"、脚本仅移除 platform = "script",以避免误删集成实体。