NO.1使用場景
手上有舊手機或者備用機
使用了呼叫轉移,消息轉發,自動化任務或者閑置在家
NO.2注意事項
長期不使用時,盡量把手機電池電量保持在65%左右,日常使用盡量保持在45%-75%左右
現在的手機一般電量到了20%會提示低電量,一個是提示可能關機帶來的影響,一個是避免手機低電量時充電和從低電量一次性充到100%,容易縮短電池容量,降低使用壽命
适當的充電方式是
電量到100%時,不建議一直保持滿電狀态
不要使用山寨充電器和充電線,容易有安全隐患
長時間舊手機低電量關機待機,或者突然從關機充電一直100%,一直充電待機
都容易造成電池鼓包,電池發熱,容易産生爆炸
NO.3優化方法
目前有兩種方式
一種是智能插座設定定時開關,每天定時開啟幾個小時,保持手機有電就行,這樣不會造成備用機關機,也不會過度充電,缺點是不能準确判斷電池電量
一種是根據手機電池電量設定門檻值,如低于30%時插座充電,高于95%時插座斷電,這樣,隻要手機電池在合适範圍,就不會每天充放電,保證正常使用即可
這裡要細說的是第二種方式
NO.4電量門檻值自動充電
網上目前有幾種方案
- Magisk 子產品控制電池電量,需要root,可以讓手機不适用電池,而是直接使用電源(需要手機支援,相容性待定)
- 使用Termux設定手機終端系統,使用shell定時擷取電量并發送指令,本身可以作為伺服器,也可以作為用戶端,無需root,但是releses上次釋出停留在2022年1月
- app擷取電池電量,常駐手機系統保活,并關聯Home Assistant充電和斷電,重點是如何讓app在保持在背景運作任務的同時不被殺掉程序
- iphone設定快捷指令,關聯Home Assistant充電斷電(快捷指令可設定電量門檻值觸發條件,無需第三方支援)
本文主要讨論安卓,通過app保活+Home Assistant Mqtt通信方式設定智能插座開關充電放電
NO.5内容總覽
這裡簡單描述下各個子產品
一.使用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保活
本文使用小米手機
- 設定省點政策-無限制
- 設定開啟自啟動
- 手機管家-鎖定任務(不會被手動删除程序)
- 權限設定-允許鎖屏顯示,允許背景彈出界面,顯示懸浮窗,常駐通知,桌面快捷方式(總而言之,因為是自己開發的應用,所有的權限能給就給)
NO.6Tips
手上有一個舊手機鼓包了
同時有幾個閑置手機,需要進行智能充放電處理,避免鼓包發熱
目前APP+Home Assistant已經設定成功
END.