Puoi trovare queste informazioni insieme a molte altre batterie e / o informazioni di sistema dal comando
ioreg
Questo comando, in base alla sua pagina man, fa:
ioreg displays the I/O Kit registry. It shows the heirarchical1 registry
structure as an inverted tree.
1 : hearcharchico [sic]
Utilizzo di un filtro per nome della 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).
From man ioreg
.
Stampa qualcosa di simile:
$ 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
(unità è milliamp-ore o mAh):
$ ioreg -brc AppleSmartBattery | grep DesignCapacity
"DesignCapacity" = 6330
Il tuo campo DesignCapacity
potrebbe non mostrare 6330
come valore. Utilizzo un rMBP da 13 "a metà 2014, ma potresti utilizzare un altro sistema con diversi valori di batteria.
Oltre alle informazioni sulla batteria, ioreg
può essere usato per scoprire di più sul tuo sistema e altre periferiche - in qualche modo come uno strumento di informazione di sistema da 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ù belle che conosca.
Disclaimer: non affiliato a SystemKit o Beltex. Solo un felice utente di SystemKit.