
Home Assistant OneDrive 集成onedrive.delete动作完全指南删除文件的 UI 操作、YAML 配置与回收站行为解析【免费下载链接】home-assistant.io:blue_book: Home Assistant User documentation项目地址: https://gitcode.com/GitHub_Trending/ho/home-assistant.ioonedrive.delete是 Home Assistant OneDrive 集成提供的核心动作之一用于从集成专属应用文件夹中删除一个或多个文件。本文以 关联动作文档 为主体结合 OneDrive 集成文档 与配套的 onedrive.upload 动作文档完整讲解该动作的 UI 操作步骤、YAML 参数定义、批量删除写法以及删除文件是进入回收站还是被永久清除的真实行为边界帮助你安全地在自动化与脚本中管理云端文件生命周期。动作概述能做什么不能做什么onedrive.delete用于从 OneDrive 中删除一个或多个文件。它的作用范围被严格限定在集成有权访问的应用专属文件夹内文件夹路径为Apps/Home Assistant由于微软 Graph API 的已知问题有时显示为Apps/Graph详见 集成文档中的说明该文件夹即备份默认存放的Home Assistant\backups_id所在的应用文件夹集成只拥有该文件夹的读写权限无法访问 OneDrive 其他区域该动作只删除文件不删除上传过程中创建的文件夹该动作不支持 targetsUI 中不会提示选择区域area、设备device、实体entity或标签label因为删除的对象是云端的纯路径文件而非 Home Assistant 实体。文件被删除后去向何方取决于集成设置中的Delete files permanently永久删除文件选项默认情况下删除的文件进入 OneDrive 回收站Recycle Bin可在约 30 天内恢复若启用该选项文件在删除时即被立即清除按集成文档描述该选项影响备份系统清理文件时的行为。从用户界面使用该动作如果你偏好可视化搭建自动化或脚本Home Assistant 会引导你逐步完成该动作无需编写 YAML对应通用说明见 actions/ui_header.md。操作步骤如下进入设置自动化与场景Automations scenes打开现有的自动化或脚本新建时选择创建自动化创建新自动化新建自动化时在何时When部分添加触发条件脚本不需要触发条件由其他对象调用时直接运行在然后执行Then do部分选择添加动作在搜索框中搜索并选择OneDrive: Delete files选择要删除文件的 OneDrive配置条目Config entry并填写要删除文件的目标路径Destination paths点击保存。UI 中的选项选项说明是否必填Config entry ID要从中删除文件的 OneDrive 配置条目是Destination paths应用文件夹内一个或多个待删除文件的路径是在 YAML 中使用该动作如果你直接编写 YAML或想确切了解 Home Assistant 底层会做什么可以参考以下技术参考通用说明见 actions/yaml_header.md。YAML 中该动作的名称为onedrive.delete基本示例如下action: onedrive.delete data: config_entry_id: a1bee602deade2b09bc522749bbce48e destination_path: Snapshots/2025/image.jpg上面的示例会删除Snapshots/2025文件夹中的单个文件image.jpg。YAML 中的参数参数说明是否必填类型config_entry_id要从中删除文件的 OneDrive 配置条目是stringdestination_path应用文件夹内一个或多个待删除文件的路径支持子文件夹是string 或 list注意config_entry_id的取值每个 OneDrive 配置条目的 ID 都是实例特有的你可以在设置设备与服务中打开对应条目查看或在 UI 中构建动作后切换到 YAML 模式获取实际值。一个 Home Assistant 实例可配置多个 OneDrive 条目config_entry_id用于精确指定删除目标尤其适合多实例备份到同一 OneDrive 账号的场景该集成按实例唯一 id 生成独立的backups_id文件夹避免不同实例的备份混淆详见 集成文档。批量删除多个文件destination_path支持传入路径列表一次动作调用即可删除多个文件action: onedrive.delete data: config_entry_id: a1bee602deade2b09bc522749bbce48e destination_path: - Snapshots/2025/image.jpg - Snapshots/2025/image2.jpg与上传动作 onedrive.upload 不同delete的路径参数不支持 glob 通配符通配符能力目前仅存在于upload的filename参数中因此批量删除需要显式列出每一个文件路径。动手试一试想快速验证效果打开设置工具动作Actions搜索该动作填写字段后点击执行动作Perform action无需写一行 YAML 即可在真实环境观察删除行为对应通用说明见 actions/try_it.md。测试前建议先在应用文件夹中放一个无关紧要的测试文件。底层行为与边界回收站、永久删除与应用文件夹理解onedrive.delete的行为需要回到集成层面的设计约束删除范围 应用文件夹集成通过微软 Graph API 通信只申请Files.ReadWrite.AppFolder在自身专属应用文件夹内读写、offline_access无人工干预刷新令牌与openid读取基础信息三项权限因此动作只能操作Apps/Home Assistant或Apps/Graph文件夹内的文件永久删除选项集成配置option flow中的Delete files permanently默认关闭此时删除进入回收站并可保留约 30 天启用后文件将被立即清除。如果你的自动化会在删除后依赖文件已不存在的即时状态例如随后立即重新上传同名文件请注意两种模式下的可见性差异不删除文件夹动作仅删除文件本身上传时自动创建的目录结构会保留适合配合 onedrive.upload 做上传快照 → 清理旧文件的循环任务应用文件夹命名差异由于微软 API 的已知问题应用文件夹常被命名为Graph而非Home Assistant你可以手动重命名该文件夹而不破坏集成但删除动作中的路径始终是相对于应用文件夹根的路径与文件夹显示名称无关。与备份联动实际使用场景onedrive.delete最常见的真实使用场景是与 Home Assistant 备份机制联动。集成文档指出备份默认存放在应用文件夹下的Home Assistant\backups_id中且该集成质量等级为 platinum详见 集成文档。你可以用onedrive.delete实现定期清理旧备份文件仅保留最近 N 份删除不再需要的相机快照或临时上传文件配合upload动作构建上传 → 校验 → 删除本地副本的归档流程upload支持 glob 通配符与**递归匹配且会返回上传文件的元数据列表可据此构造精确的删除清单。故障排查与社区帮助若动作执行失败优先检查配置条目 ID 是否对应正确的 OneDrive 账号目标路径是否位于应用文件夹内且拼写正确包括大小写与子文件夹层级OneDrive 是否处于冻结状态长期未使用或超出配额会导致驱动器冻结此时无法上传与删除见 集成文档的故障排查部分。如果仍无法解决可以参考 actions/stuck.md 中的指引向社区求助并在提问时附上你正在调用的动作、完整 YAML 与预期结果。【免费下载链接】home-assistant.io:blue_book: Home Assistant User documentation项目地址: https://gitcode.com/GitHub_Trending/ho/home-assistant.io创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考