DOC软件文档百宝箱

通知与位置不生效的排查思路

自动化触发了手机却没动静、设备跟踪一直停在旧位置 —— 从服务端到系统权限逐层排查的固定路径。相关文档:把手机传感器用进自动化.md · 手机端连接中枢的完整流程.md · 桌面小部件与快捷磁贴怎么用.md


一、通知:先分清「没发出来」还是「没显示出来」

两端责任不同,用一条最简消息定位:在中枢的 开发者工具 → 动作 里选 notify.mobile_app_你的设备ID,只填 {"message": "Hello World"} 发送。

结果结论下一步
手机响了链路通,问题在你的自动化内容检查 payload(message 是必填字段)
动作列表里没有这个动作服务端没注册强停 App → 重开 → 重启一次中枢
动作发了、手机没反应手机端拦截见下

二、手机端拦截,三层过一遍

  1. 系统通知开关:设置 → 应用 → 通知,总开关与分渠道都要开;
  2. 后台与省电:关电池优化、允许自启动、加后台白名单、锁定最近任务卡片 —— 国产系统把 App 判成营销类强行静音的情况不少见,声音、横幅、锁屏显示逐项放开;
  3. 勿扰与专注模式:系统级勿扰、就寝模式、数字健康的免打扰列表都会吞通知。

另外,免费推送通道对每台设备有每天 500 条的上限,日常告警够用,拿它高频刷状态会开始丢 —— 这种情况用同 tag 的合并通知更合适。内网环境下可以开启本地推送:通知走与中枢之间的长连接直接下发,更快也不占限额。

三、位置:前提缺一条整条链就断

设备跟踪实体要动起来,需要同时满足:

  1. 装的是 full 版 —— minimal 版没有位置跟踪;
  2. 系统位置权限「始终允许」,安卓 12 及以上还要精确定位;
  3. 手机系统自己的 GPS 开关开着;
  4. 中枢能被 App 在后台访问到(在家或配好远程)。

位置类传感器(后台位置、地理围栏、单次精确定位)要在 Manage Sensors → Location Sensors 里确认开了没。上报一直被跳过的,开 Troubleshooting 里的 location history 看日志:最近 48 小时每次上报的来源与结果都有记录,一条历史都没有基本就是后台权限问题。

四、高精度模式与耗电的权衡

后台位置可以开高精度模式,按固定间隔连续上报,代价是电量明显下降,且系统要求挂一条常驻通知。省电的正确姿势不是关掉位置,而是加约束:连上指定蓝牙设备才开、接近某个区域才开,两者可设「同时满足」或「满足其一」。不开高精度时,后台本来就是几分钟一次的常规频率,耗电有限。

五、还是不行时的重来一遍

确认 payload 没问题、系统权限也放开了仍收不到,按这个顺序重来:清空 App 数据(不是卸载重装,卸载重装会触发自动备份恢复,把坏状态带回来)→ 中枢集成面板移除该设备的条目 → 重启中枢 → 重新登录 App → 再测那条 Hello World。

首次配对与远程连接见手机端连接中枢的完整流程.md;传感器能上报什么见把手机传感器用进自动化.md。安卓端安装包的获取入口整理在 Home Assistant 安卓端说明站。

同站更多