
事情是这样的。
那天下午去骑车,充电桩的灯亮着,但是充电器的灯已经熄灭了。这就可以证明车已经不充电了但是电还在给钱还在烧!我立马结束充电,退了我接近一块钱。
一块钱不多。但那种「明明充满了还在扣钱」的感觉挺膈应的——就像水龙头没拧紧,一滴一滴往外漏。
于是我就想:能不能让它充满就自己停?
一、先抓包:功率是每 5 分钟更新一次
我用的桩是「莱充」。没有充满自动停。
既然它不停,那我自己来停。
抓了一下「莱充」小程序 的包,发现充电过程中它会周期性上报一个功率值,大概每 5 分钟刷新一次。这就好办了——功率掉下去,就说明充满了。
道理很简单:电池充满之后,桩子不会立刻断电,而是转入涓流,功率会掉得很低。所以只要盯住这个功率,就能反推「充没充满」。
我定的阈值是 30W。
二、第一版:青龙脚本,每 5 分钟看一眼
我把逻辑写成一个 Python 脚本,挂到青龙面板上,定时规则就一行:
*/5 * * * *判定逻辑也不复杂,核心是防抖——不能看一次就下结论:
读当前功率
├─ 功率 < 30W ?
│ ├─ 上一次也 < 30W → 判定充满 → 停止充电 + 推送消息
│ └─ 上一次不低 → 记一笔,下次再看
└─ 功率 ≥ 30W → 清空计数,继续为什么是「连续两次」?因为充电过程中功率本来就会抖,单次低于 30W 可能只是瞬时波动。连续两次都低,才敢认定是真充满了。
跑起来确实管用:充满自动停,还会推消息给我。那一刻挺爽的。
三、新麻烦:我不是时时刻刻都在充电
但很快问题就来了。
我一星期也就充两三次。剩下的时间,这个脚本每 5 分钟跑一次,跑了个寂寞,哈哈哈。虽然不怎么费电,但看着它一直在那儿空转、还时不时去请求一次接口,我这种有点强迫症的人是真难受。
摆在面前两条路:要么让它自己判断「现在到底在不在充电」,要么……干脆我手动开关它。
我选了后者。
四、第二版:给 WorkBuddy 写个 skill,微信一句话搞定
我写了个 skill,接进 WorkBuddy,再绑到微信。
现在流程变成这样:要充电了,我在微信里发一句
开启充电提示
它就去青龙面板上把那个任务启用;充满了想关掉,发一句「关闭充电提示」,它就禁用掉。
全程不用打开青龙面板,不用记任务 id,也不用去点手机上的 App。
技术上没什么玄机:这个 skill 就是一小段说明 + 一个脚本,通过青龙的开放平台 API(/open/*)去读任务、启用、禁用。认证用的是一个应用的 Client ID / Secret,权限勾上「定时任务」就行。
有个小细节我特意加了:关闭之前,它会先把命中的任务名和 id 回显给我确认。毕竟关错的是自己的任务,多问一句不亏。
五、复盘
- 抓包是第一步。 不知道数据从哪来、多久更新一次,就别谈自动化。
- 阈值 + 连续次数,是防抖的经典组合,别只看单次读数。
- 自动化不是越自动越好。 该手动的地方手动,反而更省心。
- 把「一直在跑的定时任务」和「随手能喊停的入口」拆开,是这次我最满意的设计。
一块钱没白花。

好创意
@obaby 有了AI 后啥都方便了!😂