Home Assistant 重启卫士
有时候需要重启Home Assistant的时候,我们都是啥也不管就直接点重启了,但是有时候这种小小的重启,可能就是直接打断了你的自动化。
重启卫士在重启的时候,如果有可能会打断你的重启,给你一条提醒,你可以根据这条提醒再来确认这次重启要不要延时。

一条横幅
对话框还是 HA 自带的那个(⋮ 菜单 → Restart Home Assistant),重启卫士只是在顶上加了条横幅。

危险的时候横幅是红色的,直接点名:哪个自动化、具体几点几分、还剩几分钟。不像某些方案只会告诉你「有 N 个任务在排队」,它连自动化叫什么名字都写出来,比如上图的「Turn On Coffee Maker Before Bedtime」,10:53 PM,还剩 3 分钟。
这时候你点重启,第一下会被吞掉,按钮进入 armed(待确认)状态,得再点一下才真正重启。就这一下,足够让你反应过来:哦对,等它跑完再重启。

反过来,60 分钟内没有任何定时任务,横幅就是绿色的「Safe to restart」。

就算安全,它也会把下一次运行的时间告诉你。比如绿色横幅上写着「Safe to restart – next run in 58 min」,下面跟着「11:53 PM – in 58 min」。

时间格式跟着系统走,12 小时制、24 小时制自动适配。快速重载(Quick reload)永远不会被拦截,它只重载配置、不重启,随便点。
它盯着的也不只是这一个按钮。所有「重启类」操作它都盯着:HACS 的重启按钮、出现「restart required」修复提示时的修复流程、Core/OS/Supervisor 更新完之后的自动重启、hassio.host_reboot / host_shutdown、开发者工具里或仪表盘按钮/脚本触发的 homeassistant.restart,连 Core 更新实体上的 update.install 都在内。

该安静的时候,它很安静
判断会不会出事,用的是实时状态,不是死板的静态扫描:
-
conditions 块当前根本不满足的自动化,就算触发了也是空操作,不警告;
-
choose 没有 default、if 没有 else 的可跳过分支,整条链路算下来是 no-op,不警告;
-
多触发器按 trigger id 逐个判断,没写 id 的触发器满足不了 condition: trigger 分支;
-
实体 unavailable 的时候静默处理。
拿不准的时候它也会显示出以放万一,被它判定为「会触发但没实际动作」的运行,记在 skipped 属性里并附上原因。
如果你装了 scheduler-component 这个组件,它自动就能识别,不用额外配置。
它读日程的 next_trigger 属性,只把「已启用」的日程算进去;没起名字的日程就显示成它控制的对象名,比如「Schedule: Office Climate」。
日程里的条件(is/not/above/below,还有 and/or 组合)它也会一并评估。
入口在 设备与服务 → Restart Guard → Configure:
|
|
|
|
|---|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
sensor.restart_guard 报告距下一个定时自动化的分钟数,窗口内没有任务时是 9999。官方建议优先用 count 属性。
安装
HACS 装(推荐):
-
HACS → ⋮ 菜单 → Custom repositories
-
添加仓库地址,类别选 Integration
-
安装集成,重启 Home Assistant
-
设置 → 设备与服务 → 添加集成
下次再想半夜手痒重启,先让它替你多看 60 分钟。
仓库地址后台私信发“重启卫士”不含引号
更多实用集成分享,关注我哟