ARTICLE DETAIL

资讯详情

深耕网站视觉设计与运营推广的一线实战洞察。

使用 Home Assistant 的 habitica.reject_quest 动作拒绝 Habitica 任务邀请:UI 与 YAML 完整指南

使用 Home Assistant 的 habitica.reject_quest 动作拒绝 Habitica 任务邀请:UI 与 YAML 完整指南 使用 Home Assistant 的 habitica.reject_quest 动作拒绝 Habitica 任务邀请UI 与 YAML 完整指南【免费下载链接】home-assistant.io:blue_book: Home Assistant User documentation项目地址: https://gitcode.com/GitHub_Trending/ho/home-assistant.ioHabitica 是一款将日常任务和习惯管理游戏化的任务管理器角色会收到来自队友的任务Quest邀请。本文基于 Home Assistant 官方文档仓库中的habitica.reject_quest动作文档完整讲解如何在 Home Assistant 中通过可视化界面或 YAML 编写自动化为指定 Habitica 角色拒绝待处理的任务邀请并深入解析其配置项、底层依赖配置条目与速率限制等实战要点。任务邀请机制与 reject_quest 的定位在 Habitica 中任务Quest通常由队伍Party发起队长可以邀请队员加入某个任务。被邀请的队员会收到一条待处理的邀请直到其接受、拒绝或邀请过期为止。Home Assistant 的 Habitica 集成 会将这一状态暴露为一个二进制传感器Pending quest invitation当角色存在等待响应的任务邀请时该传感器为on否则为off。而habitica.reject_quest动作正是对该邀请的拒绝操作为选定的 Habitica 角色拒绝一条待处理的任务邀请。与之配套的动作还包括habitica.accept_quest接受待处理的任务邀请habitica.leave_quest离开当前参与的任务habitica.start_quest、habitica.abort_quest等其他任务生命周期动作。从源码结构看这些动作均位于 source/_actions 目录 下共享同一套动作文档模板actions/ui_header.md、actions/yaml_header.md等因此它们的 UI 操作流程与 YAML 参数结构高度一致——唯一的核心参数都是config_entry。在 UI 中配置拒绝任务邀请的动作如果你更习惯用可视化方式构建自动化Home Assistant 会引导你逐步完成动作配置无需编写任何 YAML。在自动化或脚本中配置该动作的步骤如下打开设置自动化与场景Settings Automations scenes。打开现有自动化或脚本若新建选择创建自动化创建新自动化。若是新自动化在当When部分添加触发器。脚本无需触发器——它们在被其他内容调用时运行。在然后执行Then do部分选择添加动作Add action。在搜索框中搜索并选择Habitica: 拒绝任务邀请Habitica: Reject a quest invitation。为执行拒绝操作的角色选择配置条目Config entry。点击保存。UI 中的选项在界面中该动作只有一个配置项选项说明是否必填选择角色Select character拒绝任务邀请的 Habitica 角色必填该动作不支持目标targetshabitica.reject_quest动作不支持目标targets。在 UI 中你不会被提示选择区域、设备、实体或标签。这是因为拒绝邀请的操作对象是一个配置条目对应一个 Habitica 账号角色而不是某个实体或设备。在 YAML 中调用 habitica.reject_quest如果你直接编写 YAML或者想确切了解 Home Assistant 底层做了什么可以参考以下技术参考。该部分列出了 YAML 中使用的字段名、类型以及哪些是必填的。在 YAML 中该动作以habitica.reject_quest引用完整示例如下action: habitica.reject_quest data: config_entry: 6b4be47a1fa7c3764f14cf756dc9899d其中config_entry的值为你的 Habitica 配置条目的 ID见下文详解。YAML 选项字段说明必填类型config_entry拒绝任务邀请的 Habitica 角色是字符串string关于 config_entry 参数config_entry是 Home Assistant 中配置条目的标识符一个配置条目对应一个已通过设置 设备与服务Settings Devices services添加的 Habitica 账号即一个角色/角色配置。同一个config_entryID 在整个自动化中被用于所有 Habitica 动作例如habitica.accept_quest和habitica.leave_quest使用完全相同的参数结构。要获取该 ID你可以在 UI 中配置动作时直接选择下拉列表中的配置条目或在 YAML 模式下通过开发者工具 动作调用一次该动作后从自动化日志、模板或 UI 生成的动作示例中复制config_entry的值。提示上例中的6b4be47a1fa7c3764f14cf756dc9899d是文档演示用的占位 ID实际使用时应替换为你自己的配置条目 ID。自动化实战把拒绝逻辑接入状态变化将habitica.reject_quest与集成的Pending quest invitation二进制传感器source/_integrations/habitica.markdown配合使用即可实现邀请一来就自动拒绝的自动化。参考集成文档中自动接受邀请的示例source/_integrations/habitica.markdown将其中的动作替换为拒绝动作即可得到如下完整 YAMLtriggers: - trigger: state entity_id: binary_sensor.habitica_pending_quest_invitation from: off to: on actions: - action: habitica.reject_quest data: config_entry: config_entry_id - action: notify.persistent_notification data: title: 任务邀请已拒绝 message: 检测到新的任务邀请已为你的角色自动拒绝。在这个自动化中触发器监听binary_sensor.habitica_pending_quest_invitation从off变为on——表示收到了新邀请动作先调用habitica.reject_quest拒绝邀请再通过持久通知告知你结果。把config_entry_id替换为实际配置条目 ID 后即可运行。需要注意如果你希望保留某个角色的邀请而拒绝另一个角色的请务必为每个角色分别配置 config entry并在自动化中指定正确的 ID。手动测试开发者工具中的执行动作如果你只是想先手动验证该动作是否按预期工作而不想编写任何 YAML可以这样做打开设置 工具 动作Settings Tools Actions搜索该动作填写字段然后点击执行动作。你会在真实的实体上看到实际发生的结果。执行前请确认你的 Habitica 角色确实有一条待处理的任务邀请否则该动作可能会因为没有待拒绝的邀请而报错或无效。注意事项与速率限制在把该动作投入高频自动化前请留意 Habitica 集成文档 中记录的已知限制Habitica 对第三方应用实施每分钟 30 次请求的速率限制该限制适用于你使用的所有工具和集成按总量计算该集成每次数据更新每 60 秒会发起 3 次请求每个动作会消耗 1 次请求例如执行habitica.reject_quest本身并且动作执行 5 秒后还会额外发起 1 次请求用于与 Habitica 同步数据。因此在编写自动化时应避免高频率或并发触发habitica.reject_quest否则容易超出 Habitica 的请求额度。此外由于该集成通过云端轮询Cloud Polling与 Habitica 通信执行动作时需要保持网络连接稳定集成文档的故障排查部分也建议在报告问题时开启调试日志并下载诊断数据source/_integrations/habitica.markdown。总结habitica.reject_quest是 Habitica 任务生命周期中的关键一环与accept_quest、leave_quest共同构成完整的邀请处理能力。它仅需一个config_entry参数必填、字符串类型不支持目标选择可通过 UI 可视化配置或 YAML 直接调用。结合集成的Pending quest invitation二进制传感器你可以把拒绝邀请做成全自动流程同时务必注意 Habitica 每分钟 30 次请求的速率限制合理设计自动化触发频率。【免费下载链接】home-assistant.io:blue_book: Home Assistant User documentation项目地址: https://gitcode.com/GitHub_Trending/ho/home-assistant.io创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表