BCLM - это обертка для чтения и записи уровня заряда батареи MAX (BCLM)/CHWA значений для контроллера управления системой (SMC) на компьютерах Mac. Он поддерживает как Intel, так и Apple Silicon. Этот проект был вдохновлен несколькими решениями по управлению аккумуляторами, включая собственное управление аккумулятором Apple.
Целью ограничения максимальной зарядки аккумулятора является продление здоровья батареи и предотвращения повреждения батареи. Различные источники показывают, что оптимальный диапазон зарядов для работы литий-ионных батарей составляет от 40% до 80%, обычно называемый правилом 40-80 [1] [2] [3]. Этот проект особенно полезен для людей, которые оставляют свои Mac на зарядном устройстве весь день, каждый день.
Самый простой метод установки BCLM - это brew .
BCLM написан в Swift и также тривиальна для компиляции. В настоящее время он может быть составлен только на MacOS Catalina (10.15) или выше, но он может работать на OS X Mavericks (10.9) или выше.
ZIP релита также предоставлена подписанного и нотариального бинарного файла для тех, у кого нет инструментов разработки или в более старой версии MacOS.
$ brew tap zackelia/formulae
$ brew install bclm
$ make build
$ make test
$ sudo make install
$ unzip bclm.zip
$ sudo mkdir -p /usr/local/bin
$ sudo cp bclm /usr/local/bin
Примечание. Для старых версий MacOS может потребоваться установка поддержки Swift 5 Runtime для инструментов командной строки, если вы получите следующую ошибку: dyld: Symbol not found
$ bclm
OVERVIEW: Battery Charge Level Max (BCLM) Utility.
USAGE: bclm <subcommand>
OPTIONS:
--version Show the version.
-h, --help Show help information.
SUBCOMMANDS:
read Reads the BCLM value.
write Writes a BCLM value.
persist Persists bclm.
unpersist Unpersists bclm.
See 'bclm help <subcommand>' for detailed help.
Для машин Intel при написании значений macOS заряжается немного за пределы установленного значения (~ 3%). Чтобы отобразить 80% при полной зарядке, рекомендуется установить значение BCLM на 77%. При зарядке, когда система закрывается или сон, зарядка может выходить за рамки установленной стоимости более чем в среднем 3%.
$ sudo bclm write 77
$ bclm read
77
Для Apple Silicon Machines поддерживаются только значения 80 и 100 и требуются прошивки> = 13,0.
Обратите внимание, что для написания значений программа должна работать как root. Это не требуется для чтения значений.
SMC может быть сброшен с помощью ярлыка стартапа или различными другими техническими причинами. Чтобы гарантировать, что BCLM всегда находится на предполагаемом значении, его следует сохранять.
Это создаст новую плист в /Library/LaunchDaemons и загрузите его через launchctl . Это будет продолжаться с текущим значением BCLM и будет обновлен на последующих записях BCLM.
$ sudo bclm persist
Аналогичным образом, это может быть нести, что выгружает сервис и удалит плист.
$ sudo bclm unpersist