尧图网站设计 尧图网站设计YAOTU DESIGN
ARTICLE DETAIL

资讯详情

深耕网站设计与一线实操的经验洞察。

Home Assistant Habitica 集成 create_todo 动作详解:从 UI 到 YAML 的自动化任务创建指南

Home Assistant Habitica 集成 create_todo 动作详解:从 UI 到 YAML 的自动化任务创建指南 Home Assistant Habitica 集成 create_todo 动作详解从 UI 到 YAML 的自动化任务创建指南【免费下载链接】home-assistant.io:blue_book: Home Assistant User documentation项目地址: https://gitcode.com/GitHub_Trending/ho/home-assistant.io导读本文以 Home Assistant 官方文档仓库中 habitica.create_todo 动作文档 为核心系统讲解如何通过该动作在自动化automation与脚本script中为 Habitica 角色创建待办事项to-do。你将掌握 UI 图形化配置与 YAML 声明式配置两种方式理解全部可选参数优先级、截止日期、清单、提醒、标签等的类型与取值范围并了解底层请求频率限制等实操注意事项可直接用于打造家电完成即创建待办之类的自动化流程。动作概览什么是habitica.create_todohabitica.create_todo是 Habitica 集成 提供的一个动作action用于为指定 Habitica 角色创建一个待办事项to-do。Habitica 是一款将日常目标与待办转化为角色扮演游戏的 gamified 任务管理器Home Assistant 通过该集成可以监控角色进度与状态并支持对 To-Do、Dailies 等任务进行增删改查与勾选完成。该集成属于ha_integration_type: service配置流config flow开启质量等级为 platinum支持 binary_sensor、calendar、sensor、todo、notify、switch、image、button 等多种平台。在 Habitica 集成文档 的To-do lists一节中可以看到Home Assistant 中提供了todo.habitica_to_dos与todo.habitica_dailies两类待办列表实体而habitica.create_todo正是面向 To-Do 这一类的创建动作。注意本文描述的动作属于集成级服务动作与todo.add_item这类通用待办动作不同。todo.add_item面向任意支持 todo 平台的实体目标定位而habitica.create_todo直接指定 Habitica 配置条目config entry且不支持 targets——在 UI 中不会提示你选择区域、设备、实体或标签。在自动化与脚本中使用UI 图形化配置通过 UI 创建该动作的步骤如下官方动作文档进入设置Settings自动化与场景Automations scenes。打开现有的自动化或脚本或选择创建自动化Create automation创建新自动化Create new automation。若是新建自动化需在当When部分添加触发条件脚本则无需触发器脚本在别处调用时才会运行。在然后做Then do部分选择添加动作Add action。在搜索框中搜索并选择Habitica: Create to-do。选择角色的配置条目Config entry并输入任务名称Task name可选地设置其他值。选择保存Save。由于该动作不支持 targetsUI 中不会出现区域、设备、实体或标签的选择提示只需绑定配置条目即可。UI 中的选项说明文档通过{% options_ui %}声明了以下 UI 选项UI 选项说明是否必填选择角色Select character要为其创建待办的 Habitica 角色是任务名称Task name待办的标题是备注Notes待办的备注内容否清单Checklist添加到待办清单中的条目否折叠/展开清单Collapse/expand checklist清单以折叠还是展开方式显示否难度Difficulty待办难度取值为 trivial、easy、medium 或 hard 之一否截止日期Due date待办的到期日期否提醒Reminders为待办添加提醒否标签Tags为待办添加标签若标签尚不存在会自动创建否任务别名Task alias用于替代名称或任务 ID 的别名仅支持短横线、下划线与字母数字字符且别名在所有任务中必须唯一否YAML 声明式配置字段参考与完整示例对于习惯直接编写 YAML 或希望了解 Home Assistant 底层行为的用户动作文档提供了技术参考字段表见 yaml_header 模板。在 YAML 中该动作以habitica.create_todo引用action: | action: habitica.create_todo data: config_entry: 6b4be47a1fa7c3764f14cf756dc9899d name: Empty the dishwasher priority: easy date: 2026-01-31对应在自动化automation中的标准写法为- action: habitica.create_todo data: config_entry: 6b4be47a1fa7c3764f14cf756dc9899d name: Empty the dishwasher priority: easy date: 2026-01-31YAML 字段完整参考文档通过{% options_yaml %}声明了 YAML 字段的类型与必填性YAML 字段说明必填类型config_entry要为其创建待办的 Habitica 角色配置条目 ID是stringname待办的标题是stringnotes待办的备注内容否stringadd_checklist_item添加到待办清单中的条目否string / listcollapse_checklist清单显示为折叠还是展开否stringpriority待办难度取值为trivial、easy、medium或hard之一否stringdate待办的截止日期否stringreminder为待办添加的提醒否string / listtag为待办添加的标签若标签不存在则自动创建否string / listalias任务别名仅支持短横线、下划线与字母数字字符别名在所有任务中必须唯一否string值得注意的几个字段使用要点priority与 UI 中的 Difficulty 对应取值必须为trivial、easy、medium、hard四者之一示例中的easy即表示简单难度。date与 UI 中的 Due date 对应为字符串形式的截止日期示例中2026-01-31为 ISO 格式日期。add_checklist_item与reminder、tag均支持传单个字符串或字符串列表因此可在一次动作中为待办添加多个清单条目、多个提醒或多个标签标签不存在时动作会自动创建。alias有严格的字符约束仅允许短横线-、下划线_和字母数字字符且必须在该角色的全部任务中唯一。别名可用于替代名称或任务 ID 引用任务。config_entry为配置条目 ID即集成设置中该 Habitica 账户对应的条目标识。每个 Habitica 账户角色对应一个 config entry这也是 UI 中选择角色字段的底层来源。结合集成文档的深度解析数据更新与请求频率限制从 Habitica 集成文档 的 Data updates 与 Known limitations 小节可以了解到影响动作使用的关键运行约束数据更新周期集成每 60 秒与 Habitica 同步一次自身数据Party 数据含添加的队员子条目每 15 分钟刷新一次。请求频率限制Habitica 对第三方应用施加每分钟 30 次请求的速率限制该限制对用户使用的所有工具与集成整体生效。本集成每次数据更新消耗 3 次请求每 60 秒每次动作消耗 1 次请求且动作执行 5 秒后还会额外发起 1 次请求用于与 Habitica 同步数据。对自动化的影响集成文档在自动化示例旁特别提示——创建自动化时要注意速率限制频繁触发或多个并发自动化可能很快超过允许的请求数量。因此为habitica.create_todo设计自动化时应避免高频触发例如给触发器增加防抖延时并合并同类动作以减少请求开销。实战场景洗衣机完成后自动创建待办结合 Habitica 集成文档 中Create Empty the dishwasher to-do自动化示例的思路一个完整的habitica.create_todo自动化可以这样组织triggers: - trigger: state entity_id: sensor.dishwasher from: on to: off actions: - action: habitica.create_todo data: config_entry: 6b4be47a1fa7c3764f14cf756dc9899d name: Empty the dishwasher notes: Empty the clean dishes from the dishwasher and load any dirty dishes that are waiting. priority: easy date: {{ now().date() }} tag: [chores, kitchen]该自动化在洗碗机传感器状态从 on 变为 off即洗碗结束时触发调用habitica.create_todo创建一条名为 Empty the dishwasher 的待办写入备注、难度与截止日期并打上两个标签。你也可以在触发器中增加for延时做防抖避免短时间内重复触发消耗过多的 Habitica API 请求额度。如果想在不写 YAML 的情况下快速验证动作效果可以前往设置Settings工具Tools动作Actions搜索该动作、填写字段并选择执行动作Perform action参见 try_it 模板。延伸阅读与其他 Habitica 动作的配合habitica.create_todo是 Habitica 动作族的一员。仓库 source/_actions 目录下还包含同域名的其他动作例如habitica.update_todo/habitica.score_habit/habitica.score_reward更新待办、对习惯与奖励计分。habitica.create_daily/habitica.create_habit/habitica.create_reward分别创建每日任务、习惯与奖励。habitica.get_tasks查询任务列表可用于在创建前校验别名唯一性等场景。habitica.cast_skill施放任务类技能。这些动作与habitica.create_todo共享相同的config_entry角色绑定机制和速率限制约束组合使用可以构建完整的任务创建—任务更新—任务完成闭环自动化。若只想对todo.habitica_to_dos实体做通用待办操作如todo.add_item、todo.update_item可参考 To-do list 集成文档 对应的通用动作用法。【免费下载链接】home-assistant.io:blue_book: Home Assistant User documentation项目地址: https://gitcode.com/GitHub_Trending/ho/home-assistant.io创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表