Wie bestimmt Coconut Battery die Designkapazität eines Macbook-Akkus?

11

Der Akku eines Macbooks hat drei Ladungsnummern:

  1. Die aktuelle Ladung
  2. Die maximale Ladung
  3. Die Designkapazität

Selbst wenn ein Macbook angeschlossen bleibt, versucht OS X nicht, es aufzuladen - solange (1) 95% von (2) beträgt, liegt der Prozentsatz in der Benachrichtigungsleiste häufig zwischen 95% und 100%.

Diese beiden Zahlen stehen im Gegensatz zur "Auslegungskapazität" einer Batterie. Coconut Battery ist die einzige Software, die ich gefunden habe und die die "Designkapazität" eines Macbook-Akkus meldet.

Diese Entwurfskapazität wird in den Apple-Spezifikationen, in den Systeminformationen oder auf everymac.com nicht angezeigt.

Wie bestimmt Coconut Battery die Auslegungskapazität einer Batterie?

Calaf
quelle
iStat-Menüs zeigen auch die Kapazität des Batteriedesigns an
möglicherweise am
6
Und hier dachte ich, eine Kokosnussbatterie sei so etwas wie eine Zitronenzelle . Wie enttäuschend.
Wildcard

Antworten:

27

Sie finden diese Informationen zusammen mit vielen anderen Batterie- und / oder Systeminformationen im Befehl

ioreg

Dieser Befehl führt laut seiner Manpage Folgendes aus:

ioreg zeigt die E / A-Kit-Registrierung an. Es zeigt die heirarchische 1- Registrierungsstruktur als invertierten Baum.

1 : heirarchisch

Verwenden eines Filters nach Klassennamen ( AppleSmartBatteryfür Batterie), um nur batteriebezogene Informationen zu erhalten:

$ 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).

Von man ioreg.

Wird so etwas drucken:

$ 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
}

Das Feld, das Sie suchen, ist DesignCapacity. Filtern Sie es zur Vereinfachung mit grep(Einheit ist Milliampere-Stunden oder mAh):

$ ioreg -brc AppleSmartBattery | grep DesignCapacity
      "DesignCapacity" = 6330

Ihr DesignCapacityFeld wird möglicherweise nicht 6330als Wert angezeigt . Ich verwende einen 13 "rMBP Mitte 2014, aber möglicherweise verwenden Sie ein anderes System mit anderen Batteriebewertungen.

ioregKann neben Batterieinformationen verwendet werden, um mehr über Ihr System und andere Peripheriegeräte zu erfahren - ähnlich wie bei einem Befehlszeilen-Systeminformationstool.


Wenn Sie nach einer Code-Implementierung dieses Befehls suchen, schauen Sie sich Beltex SystemKit auf Github an . Es ist eine der coolsten Swift-Bibliotheken, die ich kenne.

Haftungsausschluss: nicht mit SystemKit oder Beltex verbunden. Nur ein glücklicher Benutzer von SystemKit.

Vielleicht kann es sein
quelle