手上有旧手机或者备用机
使用了呼叫转移,消息转发,自动化任务或者闲置在家
长期不使用时,尽量把手机电池电量保持在65%左右,日常使用尽量保持在45%-75%左右
现在的手机一般电量到了20%会提示低电量,一个是提示可能关机带来的影响,一个是避免手机低电量时充电和从低电量一次性充到100%,容易缩短电池容量,降低使用寿命
适当的充电方式是
电量到100%时,不建议一直保持满电状态
不要使用山寨充电器和充电线,容易有安全隐患
长时间旧手机低电量关机待机,或者突然从关机充电一直100%,一直充电待机
都容易造成电池鼓包,电池发热,容易产生爆炸
目前有两种方式
一种是智能插座设置定时开关,每天定时开启几个小时,保持手机有电就行,这样不会造成备用机关机,也不会过度充电,缺点是不能准确判断电池电量
一种是根据手机电池电量设置阈值,如低于30%时插座充电,高于95%时插座断电,这样,只要手机电池在合适范围,就不会每天充放电,保证正常使用即可
这里要细说的是第二种方式
网上目前有几种方案
-
Magisk 模块控制电池电量,需要root,可以让手机不适用电池,而是直接使用电源(需要手机支持,兼容性待定)
-
使用Termux设置手机终端系统,使用shell定时获取电量并发送指令,本身可以作为服务器,也可以作为客户端,无需root,但是releses上次发布停留在2022年1月
-
app获取电池电量,常驻手机系统保活,并联动Home Assistant充电和断电,重点是如何让app在保持在后台运行任务的同时不被杀掉进程
-
iphone设置快捷指令,联动Home Assistant充电断电(快捷指令可设置电量阈值触发条件,无需第三方支持)
本文主要讨论安卓,通过app保活+Home Assistant Mqtt通信方式设置智能插座开关充电放电
这里简单描述下各个模块
一.使用React Native开发App
-
使用react-native-background-timer设置后台任务(定时任务)
-
使用react-native-device-info获取当前手机电量
-
使用@openrc/react-native-mqtt进行手机MQTT通信
二.创建MQTT服务器
使用docker-compose方式创建MQTT服务器
使用的开源服务emqx
https://github.com/emqx/emqx
三.Home Assistant通信
-
在设置-集成中添加MQTT集成(需要输入ip/域名,账户,密码绑定)
-
在插座集成中添加自动化,设置接收MQTT后进行开关联通
四.设置手机APP保活
本文使用小米手机
-
设置省点策略-无限制
-
设置开启自启动
-
手机管家-锁定任务(不会被手动删除进程)
-
权限设置-允许锁屏显示,允许后台弹出界面,显示悬浮窗,常驻通知,桌面快捷方式(总而言之,因为是自己开发的应用,所有的权限能给就给)
手上有一个旧手机鼓包了
同时有几个闲置手机,需要进行智能充放电处理,避免鼓包发热
目前APP+Home Assistant已经设置成功
END.