Überprüfen Sie den Akkuladestand der angeschlossenen Bluetooth-Kopfhörer über die Befehlszeile

24

Ich versuche, den Akkuladestand meines drahtlosen Kopfhörers über die Befehlszeile zu überprüfen. Ich bin auf ein paar Diskussionen gestoßen , und es scheint, als ob ich nur Folgendes tun muss:

ioreg -c 'deviceName' |grep -i batterypercent

Ich habe diesen Befehl mit "Powerbeats Wireless" und "bluetoothaudiod" für den versucht 'deviceName', aber keiner hat den zurückgegeben batterypercent. Ich habe versucht ioreg -c bluetoothaudiod |grep -i battery, allgemeine Informationen über den Akku zu erhalten, und dies als Antwort erhalten:

| |   +-o AppleSmartBatteryManager  <class AppleSmartBatteryManager, id 0x100000250, registered, matched, active, busy 0 (0 ms), retain 7>
| |     +-o AppleSmartBattery  <class AppleSmartBattery, id 0x100000252, registered, matched, active, busy 0 (0 ms), retain 6>

Wenn ich die Kopfhörer an mein iPhone anschließe , wird der Akkuladestand sofort in der Symbolleiste angezeigt. Dies lässt mich glauben, dass das Gerät den Batteriestand überträgt und ich über meinen Computer auf diese Informationen zugreifen kann.

Wie kann ich den Akkuladestand meiner Bluetooth-Kopfhörer überprüfen?

Bearbeiten:

Anfangs dachte ich, das Problem sei der Gerätename, aber er scheint "Powerbeats Wireless"und bluetoothaudiodfunktioniert austauschbar. batterypercentIch kann nur nicht herausfinden, wie ich auf den Parameter zugreifen soll.

Bearbeiten 2:

In den Bluetooth-Dokumenten scheint es einen Batteriedienst zu geben, der den Batteriestatus und den Batteriestand anzeigt . Der Akkuladestand kann mit der Unterprozedur " GATT- Kennwert lesen" gelesen werden. Daher muss ich über die Befehlszeile eine Möglichkeit finden, wie die Schnittstelle mit diesem Dienst hergestellt werden kann. Ich habe das Gefühl, batterypercentnur für Standard-Peripheriegeräte (Trackpad, Maus, Tastatur) codiert zu sein, da alle Widgets zur Batterieüberwachung, die ich ausprobiert habe, nur mit solchen Geräten kompatibel sind.

Edit 3:

Wir kommen fast ein Jahr später wieder. Ich weiß, dass ich ein drahtloses Trackpad und eine drahtlose Tastatur habe und deren Akkuladezustand (sowohl in der Symbolleiste als auch in der Befehlszeile) einwandfrei erkennen kann. Trotzdem kann ich den Akkuladestand nicht aus meinen Kopfhörern abrufen und weiß nicht warum: /

Pingo
quelle
ioreg -c "Powerbeats Wireless" |grep -i batterygibt auch die allgemeinen Batterieinformationen zurück, also denke ich, dass ich den korrekten Gerätenamen habe. Aber warum batterylevelfunktioniert der Befehl nicht? Smh
Pingo
Bitte bearbeiten Sie Ihre Frage, anstatt Ihre eigene Frage zu kommentieren.
Am
@IronCraftMan-Bearbeitungen sind jetzt abgeschlossen. Sie glauben, Sie könnten Hilfe anbieten?
Pingo
Hallo - ich bin daran interessiert zu hören, ob Sie noch weiter kommen. Ich möchte die Akkulaufzeit von PS4-Controllern, die über BlueTooth mit meinem iMac verbunden sind, verlängern.
Dunxd
Funktioniert auch nicht mit meinen JVC-Bluetooth-Kopfhörern. Seltsam, denn mein 5 Jahre altes iPhone 4S hat kein Problem damit, mir den Ladezustand des Akkus beim Anschließen mitzuteilen.
John Smith

Antworten:

8

Auf meinem iMac (macOS 10.12.6) funktioniert keine der oben genannten Lösungen. Nach dem Lesen der Manpage von ioreg . Die Lösung, die auf meinem Computer funktioniert, ist:

// the -r option is used to reduce output
// the -l option is used to display properties for all object
// by default some object properties are not shown
// the -c specify device class, the class could be specific or general
ioreg -c AppleDeviceManagementHIDEventService -r -l
ioreg -c AppleDeviceManagementHIDEventService -r -l | grep -i battery

// instead of using device io class, you could also use a property key to query
// you need to know one of target device's property key(-k), for example it is BatteryPercent for Bluetooth keyboard and mouse
// any device with this property will be listed
ioreg -r -l -k "BatteryPercent"
ioreg -r -l -k "BatteryPercent" | grep -i battery

Es gibt einige andere Geräteklassen, die nach dem Argument -c gesucht werden können : AppleHSBluetoothDevice AppleHSBluetoothHIDDriver AppleMultitouchMouseHIDEventDriver AppleHIDKeyboardEventDriverV2 . Sie geben unterschiedliche Werte aus .

Minghao Ni
quelle
7

Sie müssen verwenden ioreg. Sie müssen den Namen des Geräts kennen. Folgen Sie einfach dieser Anleitung.

Kurz gesagt, der Leitfaden lässt Sie das Programm ausführen ioreg -c <devicename> |grep '"BatteryPercent" ='

Beispiel:

ioreg -c BeatsBluetoothHeadset |grep '"BatteryPercent" ='

Bildbeschreibung hier eingeben

Darüber hinaus können Sie mit den folgenden Funktionen umfassendere Informationen zum Akku abrufen:

ioreg -c BeatsBluetoothHeadset |grep Battery
wynshaft
quelle
2
Hey, danke für deine Antwort! Dieses Problem scheint spezifisch für die Beats-Kopfhörer zu sein, da ich auf die Akkuladung für meine drahtlose Tastatur und mein Trackpad zugreifen kann. Aktualisiert die ursprüngliche Frage!
Pingo
Es funktioniert nicht für mich
Jadda
1

Ich habe gerade herausgefunden, dass ich zum Überprüfen des Akkuladezustands meiner Powerbeats 3 auf meinem Mac einfach das Bluetooth-Menü im Symbolbereich oben rechts auf dem Bildschirm aufrufen, den Mauszeiger über die angeschlossenen Powerbeats halten und dann den Akkuladezustand genau dort anzeigen kann. Hoffentlich hilft das.

Keaton
quelle