rack:fan 命令放行保持时间 sec,风扇断电显示「停」

Co-Authored-By: Claude Opus 5.5 <[email protected]>
这个提交包含在:
zhou yang
2026-10-06 14:35:45 +08:00
共同撰写人 Claude Opus 5.5
父节点 ece65f7c19
当前提交 f2e0a7363e
共修改 5 个文件,包含 30 行新增和 5 行删除
+9 -1
查看文件
@@ -172,7 +172,15 @@ def build_command(req: dict) -> dict:
duty = req.get("duty")
if not isinstance(duty, int) or isinstance(duty, bool) or not 0 <= duty <= 1000:
raise CmdError("风扇下限必须是 0~1000‰(0 = 自动)")
return {"cmd": cmd, "duty": duty}
out = {"cmd": cmd, "duty": duty}
# 固件 ≥0.1.21:`sec` = 这个下限保持多少秒,到期自动回落到自动(没给 = 一直保持)。
sec = req.get("sec")
if sec is not None:
if not isinstance(sec, int) or isinstance(sec, bool) or not 0 <= sec <= 86400:
raise CmdError("风扇下限的保持时间必须是 0~86400 秒(0 / 不给 = 一直保持)")
if sec:
out["sec"] = sec
return out
raise CmdError("不支持的命令:%r" % (cmd,))