Vous pouvez trouver ces informations ainsi que beaucoup d'autres informations sur la batterie et/ou le système à partir de la commande
ioreg
Cette commande, selon sa page de manuel, le fait :
ioreg affiche le registre des kits d'E/S. Il montre l'arborescence 1 registre comme un arbre inversé.
<em><sup>1 </sup>Héréditaire [sic]</em>
Utilisation d'un filtre par nom de classe ( AppleSmartBattery
pour batterie) pour obtenir uniquement les informations relatives à la batterie :
$ ioreg -brc AppleSmartBattery
-b Show the object name in bold.
-r Show subtrees rooted by objects that match the specified criteria.
If none of -c, -k, or -n are supplied, -r has no effect.
-c Show the object properties only if the object is an instance of, or
derives from, the specified C++ class (e.g. IOService).
De man ioreg
.
Imprime quelque chose comme ceci :
$ ioreg -brc AppleSmartBattery
+-o AppleSmartBattery <class AppleSmartBattery, id 0x100000254, registered, ma$
{
"ExternalConnected" = Yes
"TimeRemaining" = 0
"InstantTimeToEmpty" = 65535
"ExternalChargeCapable" = Yes
"FullPathUpdated" = 1464849055
"CellVoltage" = (4298,4292,4299,0)
"Voltage" = 12889
"BatteryInvalidWakeSeconds" = 30
"AdapterInfo" = 0
"MaxCapacity" = 5524
"PermanentFailureStatus" = 0
"Manufacturer" = "SMP"
"Location" = 0
"CurrentCapacity" = 5524
"LegacyBatteryInfo" = {"Amperage"=0,"Flags"=5,"Capacity"=5524,"Current"=5$
"FirmwareSerialNumber" = 1
"BatteryInstalled" = Yes
"PackReserve" = 200
"CycleCount" = 318
"DesignCapacity" = 6330
"OperationStatus" = 58371
"ManufactureDate" = 17726
"AvgTimeToFull" = 65535
"BatterySerialNumber" = "D864403T3UVFVN7A6"
"BootPathUpdated" = 1464353527
"PostDischargeWaitSeconds" = 120
"Temperature" = 3096
"UserVisiblePathUpdated" = 1464849490
"InstantAmperage" = 0
"ManufacturerData" = <000000000702000a03890000034a34340330304103534449032$
"MaxErr" = 1
"FullyCharged" = Yes
"DeviceName" = "bq20z451"
"IOGeneralInterest" = "IOCommand is not serializable"
"Amperage" = 0
"IsCharging" = No
"DesignCycleCount9C" = 1000
"PostChargeWaitSeconds" = 120
"AvgTimeToEmpty" = 65535
}
Le champ que vous recherchez est DesignCapacity
. Pour plus de commodité, filtrez-le avec grep
(l'unité est le milliampère-heure, ou mAh) :
$ ioreg -brc AppleSmartBattery | grep DesignCapacity
"DesignCapacity" = 6330
Votre DesignCapacity
Le champ peut ne pas s'afficher 6330
comme sa valeur. J'utilise un rMBP 13" mi-2014, mais il se peut que vous utilisiez un autre système dont la batterie est différente.
En dehors des informations sur la batterie, ioreg
peut être utilisé pour en savoir plus sur votre système et vos autres périphériques, un peu comme un outil d'information système en ligne de commande.
Si vous cherchez une implémentation de cette commande dans le code, jetez un coup d'oeil à Le SystemKit de Beltex sur Github . C'est l'une des bibliothèques Swift les plus cool que je connaisse.
Clause de non-responsabilité : non affilié à SystemKit ou Beltex. Juste un utilisateur heureux de SystemKit.