定时任务
定时任务用于让设备智能体保存未来执行的对话指令;在对话里说清任务、时间和目标设备即可创建,读取状态或下发命令时需确保目标设备已通过 MQTT、SDK 或模拟器在线,并让任务描述保持完整。
创建任务
在设备智能体工作区选中目标设备,然后输入自然语言请求:
text
1 分钟后把当前温控器的目标温度设为 24 度。设备智能体会把请求保存为一次性、固定间隔或 cron 计划,并返回下一次运行时间。
| 任务类型 | 示例 |
|---|---|
| 延迟执行 | 1 分钟后把当前温控器的目标温度设为 24 度。 |
| 固定间隔 | 每 5 分钟检查一次当前温度,超过 30 度就把目标温度设为 24 度。 |
| 每日执行 | 每天早上 9 点把当前温控器切换到节能模式。 |

查看执行结果
任务到期后,网关会以 cron:<timerId> 启动独立执行。测试时以 日志 中的 Timer 模块为准:
text
[14:27:17] [INFO ] [Timer] Scheduled task 8362d16a-e712-4f4d-9d08-caaa6a88f7eb fired {"timerId":"8362d16a-e712-4f4d-9d08-caaa6a88f7eb","scheduleKind":"once","scheduleExpr":"1m","status":"fired"}
[14:27:21] [INFO ] [Timer] Scheduled task 8362d16a-e712-4f4d-9d08-caaa6a88f7eb completed {"timerId":"8362d16a-e712-4f4d-9d08-caaa6a88f7eb","scheduleKind":"once","scheduleExpr":"1m","status":"complete"}执行失败时,同一个 timerId 会出现 status:"error"。Web 控制台打开时也会显示开始、完成或失败通知;点击通知里的 查看日志 会带着 timerId 跳到日志页并直接筛选相关记录。
如果原会话还能接收回复,执行结果可能回到原会话;如果不能,网关会忽略这次会话回复。无论回复是否进入会话,Timer 日志都会记录触发和终态。
查询和取消任务
可以继续在对话里管理定时任务:
text
列出当前还在运行的定时任务。text
刚才创建的目标温度任务还剩多久执行?text
取消刚才创建的目标温度定时任务。如果存在多个相似任务,先列出任务,再按任务 ID 或任务内容取消。取消后任务会被标记为已删除,不再触发。周期任务不再需要时应及时取消。
验证设备动作
定时任务只负责在指定时间唤起设备智能体。任务是否真正改变设备状态,还需要在设备状态、设备日志或 MQTT 消息中验证。设备控制动作仍然必须匹配设备规格中定义的命令。