BCLM es un envoltorio para leer y escribir el nivel de carga de la batería Max (BCLM)/valores CHWA al controlador de administración del sistema (SMC) en las computadoras Mac. Admite Intel y Apple Silicon. Este proyecto se inspiró en varias soluciones de gestión de baterías, incluida la propia gestión de salud de la batería de Apple.
El propósito de limitar la carga máxima de la batería es prolongar la salud de la batería y evitar daños a la batería. Varias fuentes muestran que el rango de carga óptimo para el funcionamiento de las baterías de iones de litio es de entre 40 y 80%, comúnmente denominado regla 40-80 [1] [2] [3]. Este proyecto es especialmente útil para las personas que dejan sus Mac en el cargador todo el día, todos los días.
El método más fácil para instalar BCLM es a través de brew .
BCLM está escrito en Swift y también es trivial para compilar. Actualmente, solo se puede compilar en MacOS Catalina (10.15) o superior, pero puede ejecutarse en OS X Mavericks (10.9) o superior.
Un lanzamiento de lanzamiento también se proporciona con un binario firmado y notarizado para aquellos que no tienen herramientas de desarrollo o están en una versión de MacOS más antigua.
$ 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
Nota: Para versiones anteriores de MacOS, puede ser necesario instalar el soporte de tiempo de ejecución Swift 5 para las herramientas de línea de comandos si recibe el siguiente error: 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.
Para las máquinas Intel, al escribir valores, MacOS cobra ligeramente más allá del valor establecido (~ 3%). Para mostrar el 80% cuando se le cobra por completo, se recomienda establecer el valor BCLM en 77%. Al cargar mientras el sistema se apaga o duerme, la carga puede ir más allá del valor establecido más del promedio del 3%.
$ sudo bclm write 77
$ bclm read
77
Para las máquinas de silicio de Apple, solo los valores 80 y 100 son compatibles y se requiere firmware> = 13.0.
Tenga en cuenta que para escribir valores, el programa debe ejecutarse como root. Esto no es necesario para los valores de lectura.
El SMC se puede restablecer mediante un atajo de inicio u varias otras razones técnicas. Para garantizar que el BCLM esté siempre en su valor previsto, debe persistir.
Esto creará una nueva Plist In /Library/LaunchDaemons y lo cargará a través de launchctl . Persistirá con el valor actual de BCLM y se actualizará en las escrituras posteriores de BCLM.
$ sudo bclm persist
Del mismo modo, se puede no asaltar, lo que descargará el servicio y eliminará el PLIST.
$ sudo bclm unpersist