[軟體] 改寫了一個 MAC 電池優化程式

看板 MAC
作者 serenemind (沉)
時間 2024-10-27 15:29:58
留言 145則留言 (76推 0噓 69→)

(更新) 我做了一些修改來支援關機時維持上限,如果你已經有下載使用要更新的話 只要在 Terminal 下執行 battery update 就可以了 ========================================= 原作者的版本 https://tinyurl.com/32ec4mzd 我改寫的版本 https://tinyurl.com/yc4bvyaj 這程式的功能跟 AlDente 差不多,就是設定充電上限,還有電池校正, 目的是延長電池壽命,適合筆電長時間插電的情況。 為什麼要改寫呢?因為七月剛買的 MBPR M1 MAX 整新機,用他的程式做了兩次校正, 健康度直接從100%掉到96%。看原作者已經沒在回應問題,所以只好自己來。 研究後發現的確有一些詭異的地方,改掉後用自己的版本做校正,第一次回復到 98%,第 二次竟然回復到 100%驚喜!!! 就這樣誤打誤撞的幫電池打通了任督二脈,完美回春!!! 後來想想,原版的功能太陽春,既然上手了,乾脆把功能擴充,希望完全取代 AlDente PRO 跟 coconutBattery。 努力了幾天,開發到現在跟原版比已經不可同日而語了,新增的功能包括 1. 原版只支援 Apple 晶片的筆電,我改成也能支援 Intel 晶片, 主要是為了我的 MBPR 2014。 2. 增加 sail mode,這樣就不需要 AlDante PRO 了 3. 增加定時校正,設定每個月哪幾天作校正,或者也可設定固定星期幾, 然後幾個星期做一次校正 4. 電池校正時如果筆電上蓋闔上了,就發出提醒通知。上蓋一被打開就自動開始校正, 超過24小時還沒打開就跳過本次校正。這主要是因為校正過程會放電,沒打開會 導致筆電進入睡眠。 5. 原版筆電睡眠或關機就無法限制充電,我改成睡眠跟關機時仍然有用,這需要用到 Apple 所提供的功能。可惜聽說從 Sequoia 開始,Apple 把這個功能拿掉了, 網路上看到討論區哀鴻遍野。所以若是已經更新到 Sequoia的話,只有開機 才能運作,這是 Apple 的決定,沒辦法。 6. 記錄每日電池容量、健康度、溫度、電壓、循環次數。每天主動發出一次通知 提供這些資訊,這樣就不需要打開 coconutBattery了。 安裝跟使用都很容易,Terminal 下打一行指令就能安裝完成,完成後設定一次以後 就可以無腦使用 - battery maintain 45 40 表示超過 45% 停止充電,低於 40% 開始充電。執行時會跳出對話框 問你要不要立刻放電到45%,可以自己決定,10秒內沒決定,我就幫你決定了。 - battery calibrate 做電池校正,先放電到 15%,接著充電到 100%,等一小時後放電到指定的上限 - battery schedule day 3 18 hour 9 minute 30 表示每月3, 18這兩天早上9:30 做校正 - battery schedule weekday 2 week_period 4 hour 9 minute 30 表示每 4 個星期在星期二早上 9:30 做校正 - battery maintain stop 停止這個程式,這樣上限就消失,會充電到100% 其他使用細節就不在這邊贅述,可以參考我上面的連結。 這樣功能應該算齊全了,分享給大家,有興趣的可以安裝試試看。 -- 參考這兩篇文章,我看過最詳細的介紹 如何延長電池壽命? https://tinyurl.com/y2ny3kc5 智慧電池如何校正? https://tinyurl.com/bdzmfrsk 簡單說如果沒做校正,顯示的電池健康度是不準確的。 下面這張圖顯示高電壓下循環 200 次健康度剩下一半 https://i.imgur.com/mh6gLGZ.jpg
這張圖顯示充放電深度對健康度的影響,100%很傷 https://i.imgur.com/zAwlD8u.jpg
就算沒有長期插電,限制充電在 80% 也比較好。高溫、高電壓這兩者是電池殺手,當充 到 100% 時電池就處於高壓狀態,接近13V,設定電池上限到 60% 約 11.6V。有些人說老 子有錢電池衰退換一個就好了,這是沒錯,但是我更在意的是電池膨脹鼓包跟危險。 再補充一點,有些人說蘋果自己就有電池最佳化了,不用搞這些有的沒的 我之前也是這樣想,相信蘋果,結果 ... https://i.imgur.com/iHZrq6C.jpg
因為當 Home Assistant 伺服器用,長期插電只循環了十次,有一天心血來潮做個校正 健康度直接從 100% 掉到 30%。這也是我為什麼買了新筆電後這麼在意電池維護的原因。 在 Terminal 下執行 curl -s https://raw.githubusercontent.com/js4jiang5/BatteryOptimizer_for_MAC/main/setup.sh | bash 不過你最好還是去上面的連結看一下完整的簡介,才能正確的使用吧 用 battery status 這個指令就能知道目前狀態了 順便補充一下跟 AlDente 還有 CoconutBattery 比的優缺點 優點 1. 佔用的記憶體是 AlDente 的 1/20,CoconutBattery 的 1/30,非常輕便 2. 功能豐富,除非你花錢買 AlDente PRO 3. 不佔 menu bar 的位置 4. 每日主動推播狀態,不用打開 缺點 1. 要更改狀態或關掉,必須打開 Terminal 下指令,久沒用的話指令會忘記還要查 2. 無圖形介面
你應該是從來沒有安裝過 xcode,所以當要安裝 brew 時自動去尋找安裝 xcode 吧。 他應該會繼續安裝,你就依照他的指示進行,過程可能會再要求你輸入密碼。 不過,就算 xcode 沒有安裝成功,也不影響 BatteryOptimzer 的運作,會出現 80% 的提示,表示目前已經限定在 80%了,你可以自己更改成你要的上限,或是進行校正。
(更新) 我做了一些修改來支援關機時維持上限,如果你已經有下載使用要更新的話 只要在 Terminal 下執行 battery update 就可以了 你的設定是什麼,右上角的電池 icon 顯示什麼狀態,可以提供畫面嗎? 我的 2014 都可以,你2016一定沒問題的。而且控制是從內部,跟外面怎們充電無關。 是的,關掉比較好 當然可以邊使用電腦,不要關機充電。 校正時把螢幕打開,這是為了普羅大眾的設計,有些人可以蓋住螢幕仍然不會睡眠 但是一般人不會這麼做,蓋上螢幕一改成電池供電就會進入睡眠。總之要維持正常 的校正,這段時間就是不能睡眠,所以養成良好的習慣,校正時就把螢幕打開。 習慣闔上mac工作,一個月打開一次讓它透透氣也不錯。
照理說我目前已經設計成關機後上限仍然有作用,除非你的作業系統已經更新到 Sequoia了 是有放電但放不到15%,還是連放電都沒放? 校正完成會回到你設定的上限,也會發出通知說 Calibration completed。 我近期會再加入兩個功能 1. 有更新時主動通知,使用者看到後就知道有新版的,自行決定要不要更新 2. 根據 macOS 的語系決定通知用的語言,當然只會有台灣的繁體中文跟英文這兩種 我想許多人還是偏好看中文 這有點匪夷所思,等於放電完成要執行下一步時的一剎那間被中斷了,機率也太低。 你可以再試一次看是否還是會發生,我下一版會針對這個情況做調整。
蘋果在電池 100% 的時候不允許放電,就算用 AlDente 也一樣,所以你要先放個電 讓他低於 100%,可以執行下面的指令先放到 80% battery discharge 80 你的電池現在健康度 104% 應該是新買的,好好維護可以用很久 目前為止有三個人碰到這個問題,我研究一下 對了,@Two4 @rickieyang 你們兩位有執行過 battery update 更新到最新版嗎? 如果沒有的話請先更新,因為我在新版有修掉一些問題,做了一些穩定度的改善 搞不好跟你們碰到的問題相關 跟 AlDente 無關,APPLE 顯示的電量跟健康度都是「快樂表」,95%~100%都會顯示100% AlDente, coconutBattery,跟我目前寫的這個程式顯示的才是真實的。其實如果你 之前有用 coconutBattery 在看電池狀態的話應該就有發現了 這不就是你要的嗎?超過你設定的上限停止充電,所以是正常的
sail mode 停在 45%後,是吃電源供應器的電,電池每天只會掉個 0.1~0.2%
※ 批踢踢實業坊(ptt.cc), 來自: 220.135.239.246 (臺灣)
※ 文章網址: https://www.ptt.cc/bbs/MAC/M.1730014202.A.7F4.html

Ufunin: 先幫推,晚點裝 10/27 15:38

EpicWang: 推 10/27 15:59

babylon297: 我二月跟人買的M1Pro先後用AlDente和bclm 10/27 16:10

babylon297: 目前還是100% 不過升OS15後bclm不能用了 10/27 16:10

babylon297: 就用回AlDente了 蠻樂見有人做類似開發的 10/27 16:10

babylon297: 晚點也來試試~ 推 10/27 16:10

ho83leo: 推 10/27 16:17

nippleman: 推 10/27 16:40

yizang: 推 10/27 17:21

Zyar: 神人幫推 10/27 17:45

saedn: 好厲害!希望我會用!回家研究看看 10/27 18:54

sanyoHsu: 推 10/27 18:57

twlosser: 推一個不用開GUI 10/27 19:55

Two4: 推~ 10/27 20:19

lutein: push 10/27 21:05

max8568: 推 10/27 22:15

itsdelovely: 推 10/27 22:22

jcwang: 推一個 10/27 23:47

beamen: 推 10/28 00:05

Ice9: 推 10/28 00:56

jacky81005: 推 10/28 00:57

BaWanYi: 推用心 10/28 01:00

undft082: 先推 10/28 01:10

x123987789: 太神了 10/28 01:33

gary8442: 功能真多 好強 10/28 01:57

KINGWAP: 想請教一下 電池校正的目的為何? 10/28 04:19

despised: 推 10/28 07:31

boyea55: 不好意思,可以請問要怎麼安裝嗎?謝謝 10/28 08:51

jerryho0106: 推 10/28 09:40

gn01881106: 厲害 不過我只有mac mini 10/28 09:44

eltonchung: 推 還是希望能有GUI介面可以瀏覽目前狀態 10/28 10:11

alex780312: 有神快拜! 10/28 10:41

river800111: 推 10/28 11:06

Faing: 很方便使用,謝謝分享,推一下 10/28 11:41

bookmusic: 我有買Aldente Pro應該就不用下載了對吧?XD 蘋果官方 10/28 12:24

bookmusic: 的電佳最佳化都嘛不準 10/28 12:24

ipis: 推一個 10/28 12:33

guanting886: 好奇校正的原理是什麼 為什麼會認為是正確的? 10/28 12:51

alfahsu: 推 老MBPR路過 10/28 14:16

keyword1983: 推 厲害 10/28 14:35

rickieyang: 進maintain mode 不充電後,calibrate 會有 error 10/28 14:39

rickieyang: 說沒插充電器 10/28 14:39

pent: 感謝 10/28 15:24

pent: 祝好人 上廁所永遠有衛生紙 10/28 15:24

serenemind: @rickieyang,你可以在我的 Github 上提出 issue 10/28 15:32

serenemind: 問題討論在那邊比較恰當 10/28 15:32

dreambegins: 推! 10/28 15:36

serenemind: @rickieyang 你筆電上蓋應該沒打開對吧 10/28 16:17

ksx064: 推 10/28 16:26

PaganTsai: 先推已下再研究怎用 m1pro電池 88%了 care到26/9/26 10/28 16:32

heiwa: 推 10/28 16:36

Birdy: 先推再說 10/28 16:56

Miyanishi25: 推薦這篇文章 10/28 17:23

huabandd: 推一個 10/28 17:23

rickieyang: 筆電開著, 外接螢幕鍵盤. 10/28 17:28

rickieyang: 下 maintain off 後就可以 calibrate 了 10/28 17:28

babylon297: 今天心血來潮用AlDente做了校正 健康度101%了笑死 10/28 17:56

babylon297: 對了請教一下 校正時沒開蓋的提醒是怎麼提醒 10/28 18:29

evolgnitiaw: 神人推一個! 10/28 18:40

serenemind: 就 macOS 的通知功能啊,會出現在右上角 10/28 18:43

serenemind: https://i.imgur.com/5n88eQ7.jpg 10/28 18:43

idletime: 運用自己的專業去造福大家,好人! 10/28 18:51

babylon297: 我看了英文說明似乎還需要開啟睡眠時通知 10/28 18:54

babylon297: 這可能會比較耗電 此外沒開蓋也看不到 10/28 18:54

babylon297: 可能要開通知音效XD 10/28 18:54

macings: 推 10/28 19:53

weimr: 推 10/28 21:07

gary8442: 占用少記憶體是一大優點 10/28 23:11

gary8442: 我有買Pro版確確實占用不少 (還好捏上去升級大ram 10/28 23:12

gary8442: 買丐版MACBOOK 記憶體容易不夠用 10/28 23:12

wwwsamyoui12: 推一個 感謝開源 10/28 23:25

moanchuang: 感謝 10/29 00:28

j26356147: 推! 10/29 00:44

rayray0410: 推open source 10/29 05:19

rayray0410: 想問一下關於第5點 10/29 05:24

rayray0410: 已經更新至sequoia表示蓋上筆電/關機持續充電就沒辦 10/29 05:24

rayray0410: 法限制充電上限?那只要蓋上筆電/關機不要充電就好了? 10/29 05:24

rayray0410: 另一個情況是接上電源外接螢幕, 筆電蓋起來使用 10/29 05:52

eit: 推 10/29 08:02

serenemind: Sequoia 是關機跟睡眠不行,跟螢幕有沒有蓋上無關 10/29 09:21

serenemind: 除非你一蓋上螢幕就啟動睡眠 10/29 09:21

kobe083: https://i.imgur.com/3Xa6PA5.jpeg 10/29 09:46

kobe083: 請問我剛剛安裝中有出現80%提示選項,她就自動默認安裝! 10/29 09:48

kobe083: 我這樣是完成的意思嗎?謝謝大家 10/29 09:48

kobe083: 感謝解答 10/29 10:12

kobe083: https://i.imgur.com/OEjStkc.jpeg好像快完成 10/29 10:13

babylon297: 只要關機後不插電,那個關機後的上限我認為根本沒差 10/29 12:14

babylon297: ,除非你關機前留下很低的電量,關機後又會不正常掉 10/29 12:14

babylon297: 電,所以我升Sequoia了 10/29 12:14

b6mh19841227: 插著變壓器的話,好像還是一直在充電,2016MBP 10/29 16:18

b6mh19841227: 用外接dongle供電 10/29 16:20

rayray0410: 再問一個 安裝後是不是需要關掉macbook內建電池優化 10/29 17:01

rayray0410: 謝謝 10/29 17:01

kobe083: 請問安裝後插電然後可以邊使用電腦嗎? 10/29 21:03

kobe083: 還是建議關機充電。 10/29 21:03

kobe083: 謝謝 10/29 21:03

onlywe: 感謝開源分享 10/29 22:06

onlywe: 安裝後用指令查看狀態,健康度跟Mac內建提供的數值不一樣 10/29 22:06

onlywe: 另外有一個問題,個人習慣外接螢幕闔上mac工作(螢幕供電 10/29 22:06

onlywe: 這樣使用校正時,還需要將mac打開嗎? 10/29 22:06

kobe083: https://i.imgur.com/TVf1hT8.jpeg 10/29 22:11

kobe083: 請問我插電使用只會充電到80%就不會充電了。 10/29 22:13

kobe083: 然後合蓋關機她就又自動充電到100%。 10/29 22:13

kobe083: 這樣可以吧? 10/29 22:13

kobe083: 謝謝 10/29 22:13

Two4: 試了幾次校正都顯示 Calibration Error: Discharge to 15% 10/29 22:43

Two4: fail。不曉得原因 10/29 22:43

kobe083: 有!我今天升級15.1系統,這樣可以吧?感謝 10/29 23:35

autopass: me too, 怎樣算校正完成、成功? 10/29 23:39

superstu: 推爆 10/30 00:06

Two4: 有放電到 15%。會先顯示 Discharging completed at 15%,下 10/30 00:12

Two4: 一行就跳上面的 Error,然後就回復 Battery maintain。機型 10/30 00:12

Two4: 是 2015 MPBR 13 10/30 00:12

b6mh19841227: 2016MBP插著沒有辦法discharge 10/30 08:14

b6mh19841227: https://i.imgur.com/LGIeGZB.jpeg 10/30 08:17

jimmy1112111: 推推 10/30 08:42

Newtype: 感謝分享! 10/30 09:22

b6mh19841227: 感謝大大,我測試看看,電池淘寶回來DIY的 10/30 09:35

rickieyang: 跟 Two4 一樣 10/30 10:53

rickieyang: 10/29/24-09:36:36 - Discharging completed at 15% 10/30 10:53

rickieyang: 10/29/24-09:36:36 - Calibration Error: Discharge t 10/30 10:54

rickieyang: o 15% fail 10/30 10:54

rickieyang: 10/29/24-09:36:36 - Battery maintain is already ru 10/30 10:54

rickieyang: nning 10/30 10:54

rickieyang: 然後就跳出了 10/30 10:54

rickieyang: 但明明 battery calibrate 前有先 maintain stop 了 10/30 10:56

humor0913: 大神推一個 感謝分享 10/30 14:15

babylon297: 我今天update後看battery status發現電量 10/30 15:00

babylon297: 應為80% 而log顯示76%與上面某版友一致 10/30 15:00

babylon297: 會是因為我開了AlDente的硬體電池電量嗎 10/30 15:00

b6mh19841227: 目前測試只要插上AC就沒辦法中斷充電 10/30 17:20

b6mh19841227: 插回AC後電會被充滿,然後終端機會顯示拔掉前的電量 10/30 17:22

b6mh19841227: 更正,插回剩餘容量就不會掉,系統Power內卻顯示未 10/30 17:24

b6mh19841227: 充電 10/30 17:25

icepak83: 推 晚點來裝看看 10/31 12:35

kobe083: https://i.imgur.com/nXxmfg8.jpeg 10/31 16:15

kobe083: https://i.imgur.com/KQZB1y8.jpeg 10/31 16:24

kobe083: 我終於搞懂了!謝謝版大 10/31 16:25

ballII: 請教若想解除安裝,指令是?(只是預問,不是使用不順) 11/01 10:01

Jacktang: battery uninstall 11/01 15:10

qqplusqq: 請問為何是選45%停止充電,40%開始充電?而不是80%?差 11/03 09:37

qqplusqq: 距只有5%不就蠻常要充電?想知道理由,做為設定的參考 11/03 09:37

qqplusqq: ,感謝。 11/03 09:37

qqplusqq: 原來如此,因為我的習慣是休眠就拔掉充電器,但後來的 11/03 19:45

qqplusqq: M2休眠又很耗電,才想說只有5%不就常常要充電~ 11/03 19:45

您可能感興趣