天天看點

Home Assistant智能家居+react-native設定安卓手機自動充電和斷電

NO.1使用場景

手上有舊手機或者備用機

使用了呼叫轉移,消息轉發,自動化任務或者閑置在家

Home Assistant智能家居+react-native設定安卓手機自動充電和斷電

NO.2注意事項

長期不使用時,盡量把手機電池電量保持在65%左右,日常使用盡量保持在45%-75%左右

現在的手機一般電量到了20%會提示低電量,一個是提示可能關機帶來的影響,一個是避免手機低電量時充電和從低電量一次性充到100%,容易縮短電池容量,降低使用壽命

适當的充電方式是

電量到100%時,不建議一直保持滿電狀态

不要使用山寨充電器和充電線,容易有安全隐患

長時間舊手機低電量關機待機,或者突然從關機充電一直100%,一直充電待機

都容易造成電池鼓包,電池發熱,容易産生爆炸

Home Assistant智能家居+react-native設定安卓手機自動充電和斷電

NO.3優化方法

目前有兩種方式

一種是智能插座設定定時開關,每天定時開啟幾個小時,保持手機有電就行,這樣不會造成備用機關機,也不會過度充電,缺點是不能準确判斷電池電量

一種是根據手機電池電量設定門檻值,如低于30%時插座充電,高于95%時插座斷電,這樣,隻要手機電池在合适範圍,就不會每天充放電,保證正常使用即可

這裡要細說的是第二種方式

Home Assistant智能家居+react-native設定安卓手機自動充電和斷電

NO.4電量門檻值自動充電

網上目前有幾種方案

  1. Magisk 子產品控制電池電量,需要root,可以讓手機不适用電池,而是直接使用電源(需要手機支援,相容性待定)
  2. 使用Termux設定手機終端系統,使用shell定時擷取電量并發送指令,本身可以作為伺服器,也可以作為用戶端,無需root,但是releses上次釋出停留在2022年1月
  3. app擷取電池電量,常駐手機系統保活,并關聯Home Assistant充電和斷電,重點是如何讓app在保持在背景運作任務的同時不被殺掉程序
  4. iphone設定快捷指令,關聯Home Assistant充電斷電(快捷指令可設定電量門檻值觸發條件,無需第三方支援)

本文主要讨論安卓,通過app保活+Home Assistant Mqtt通信方式設定智能插座開關充電放電

Home Assistant智能家居+react-native設定安卓手機自動充電和斷電

NO.5内容總覽

這裡簡單描述下各個子產品

一.使用React Native開發App

  1. 使用react-native-background-timer設定背景任務(定時任務)
  2. 使用react-native-device-info擷取目前手機電量
  3. 使用@openrc/react-native-mqtt進行手機MQTT通信

二.建立MQTT伺服器

使用docker-compose方式建立MQTT伺服器

使用的開源服務emqx

https://github.com/emqx/emqx

三.Home Assistant通信

  1. 在設定-內建中添加MQTT內建(需要輸入ip/域名,賬戶,密碼綁定)
  2. 在插座內建中添加自動化,設定接收MQTT後進行開關聯通

四.設定手機APP保活

本文使用小米手機

  1. 設定省點政策-無限制
  2. 設定開啟自啟動
  3. 手機管家-鎖定任務(不會被手動删除程序)
  4. 權限設定-允許鎖屏顯示,允許背景彈出界面,顯示懸浮窗,常駐通知,桌面快捷方式(總而言之,因為是自己開發的應用,所有的權限能給就給)
Home Assistant智能家居+react-native設定安卓手機自動充電和斷電

NO.6Tips

手上有一個舊手機鼓包了

同時有幾個閑置手機,需要進行智能充放電處理,避免鼓包發熱

目前APP+Home Assistant已經設定成功

END.

Home Assistant智能家居+react-native設定安卓手機自動充電和斷電