I leave my MacBook plugged in for days at a time, so the battery stays charged to 100%. Despite Apple claims to the contrary, I believe that the battery's capacity would be better preserved if I could keep it at an 80% state-of-charge. Is there any command or setting that would let me disable charging from the power adapter?

Here are various options, (1) being my most preferred:

  1. A setting to automatically maintain battery at 80% SoC (like my Tesla has)
  2. A setting/command to use the AC adapter for running power only ("not charging" state)
  3. A command to tell my Mac to totally ignore the AC adapter power

(2) could be cobbled into (1) with some kind of script. Even if not possible from the Mac itself, (3) could be cobbled together with an IOT switch. But with (3), it's unclear the lower maintained SoC would outweigh the cost of the additional cycling.

有帮助吗?

解决方案

Use osx_battery_charge_limit.

Follow the instructions on github:

# 1. Install command-line tools
xcode-select --install

# 2. Install Homebrew
ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

# 3. Install Python3
brew install python3

Alternatively, you can also get python3 from python.org.

Then, git clone --recursive https://github.com/DevNulPavel/osx_battery_charge_limit, cd osx_battery_charge_limit, and finally sudo python3 main.py -s 80

I think it might be better if you set it even lower, for example, 60% or 70%. Then, before you need to use it on battery for a long time, sudo python3 main.py -r. You can automate this switching between 80% and full using cron.

There is also a GUI version: https://github.com/godly-devotion/charge-limiter. Both work by setting the BCLM key in SMC to a custom value.

其他提示

MacOS 11 Big Sur has this option (even a bit smarter) embedded, see Optimise battery charging

enter image description here

Edit: As Joy pointed out, this has been added already in macOS 10.15.5.

许可以下: CC-BY-SA归因
不隶属于 apple.stackexchange
scroll top