Puoi trovare queste informazioni insieme a molte altre informazioni sulla batteria e / o sul sistema dal comando
ioreg
Questo comando, secondo la sua pagina man, fa:
ioreg visualizza il registro del kit I / O. Mostra la struttura del registro heirarchical 1 come un albero invertito.
1 : heirarchical [sic]
Utilizzo di un filtro per nome classe ( AppleSmartBattery
per batteria) per ottenere solo informazioni relative alla batteria:
$ 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).
Da man ioreg
.
Stamperà qualcosa del genere:
$ 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
}
Il campo che stai cercando è DesignCapacity
. Per comodità, filtralo con grep
(l'unità è milliamp-ora o mAh):
$ ioreg -brc AppleSmartBattery | grep DesignCapacity
"DesignCapacity" = 6330
Il tuo DesignCapacity
campo potrebbe non essere visualizzato 6330
come valore. Sto usando un rMBP da 13 "a metà 2014, ma potresti usare un altro sistema con diversi livelli di carica della batteria.
Oltre alle informazioni sulla batteria, ioreg
può essere utilizzato per ulteriori informazioni sul sistema e su altre periferiche, un po 'come uno strumento di informazioni di sistema della riga di comando.
Se stai cercando un'implementazione del codice di questo comando, dai un'occhiata a SystemKit di Beltex su Github . È una delle librerie Swift più interessanti che io conosca.
Disclaimer: non affiliato a SystemKit o Beltex. Solo un felice utente di SystemKit.