BCLM est un wrapper pour lire et écrire des valeurs de charge de charge de batterie (BCLM) / CHWA au contrôleur de gestion du système (SMC) sur les ordinateurs Mac. Il prend en charge Intel et Apple Silicon. Ce projet a été inspiré par plusieurs solutions de gestion de la batterie, notamment la propre gestion de la santé de Battery d'Apple.
Le but de limiter la charge maximale de la batterie est de prolonger la santé de la batterie et d'éviter d'endommager la batterie. Diverses sources montrent que la plage de charge optimale pour le fonctionnement des batteries au lithium-ion se situe entre 40% et 80%, communément appelé la règle 40-80 [1] [2] [3]. Ce projet est particulièrement utile aux personnes qui laissent leurs Mac sur le chargeur toute la journée, tous les jours.
La méthode la plus simple pour installer BCLM est via brew .
BCLM est écrit en Swift et est également trivial à compiler. Actuellement, il ne peut être compilé que sur MacOS Catalina (10,15) ou plus, mais il peut fonctionner sur OS X Mavericks (10,9) ou plus.
Un zip de version est également fourni avec un binaire signé et notarié pour ceux qui n'ont pas d'outils de développement ou qui sont sur une ancienne version 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
Remarque: Pour les anciennes versions de macOS, il peut être nécessaire d'installer la prise en charge d'exécution Swift 5 pour les outils de ligne de commande si vous obtenez l'erreur suivante: 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.
Pour les machines Intel, lors de l'écriture de valeurs, MacOS charge légèrement au-delà de la valeur définie (~ 3%). Afin d'afficher 80% lorsqu'il est complètement chargé, il est recommandé de régler la valeur BCLM à 77%. Lors de la charge pendant que le système est fermé ou endormi, la charge peut aller au-delà de la valeur définie plus de 3% en moyenne.
$ sudo bclm write 77
$ bclm read
77
Pour les machines en silicium Apple, seules les valeurs 80 et 100 sont prises en charge et le micrologiciel> = 13,0 est requis.
Notez que pour écrire des valeurs, le programme doit être exécuté sous forme de racine. Ce n'est pas requis pour la lecture des valeurs.
Le SMC peut être réinitialisé par un raccourci de démarrage ou diverses autres raisons techniques. Pour s'assurer que le BCLM est toujours à sa valeur prévue, il doit être persisté.
Cela créera un nouveau PLIST dans /Library/LaunchDaemons et le chargera via launchctl . Il persistera avec la valeur BCLM actuelle et mettra à jour sur les écritures BCLM suivantes.
$ sudo bclm persist
De même, il peut être non réservé qui déchargera le service et supprimera le plist.
$ sudo bclm unpersist