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

Ich versuche, den Akkustand meiner drahtlosen Kopfhörer über die Befehlszeile zu überprüfen. Ich bin auf ein paar Diskussionen gestoßen , und anscheinend muss ich nur Folgendes eingeben:

ioreg -c 'deviceName' |grep -i batterypercent

Ich habe diesen Befehl mit "Powerbeats Wireless" und "bluetoothaudiod" für die 'deviceName''s ausprobiert, aber keiner hat die batterypercent. Ich habe versucht ioreg -c bluetoothaudiod |grep -i battery, allgemeine Informationen über die Batterie zu erhalten, und habe 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 mit meinem iPhone verbinde, erscheint sofort der Akkustand in der Symbolleiste. Dies lässt mich glauben, dass das Gerät den Batteriestand sendet und dass ich in der Lage sein sollte, von meinem Computer aus auf diese Informationen zuzugreifen.

Wie kann ich den Akkustand meiner über Bluetooth verbundenen Kopfhörer überprüfen?

Bearbeiten:

Anfangs dachte ich, das Problem sei der Gerätename, aber es scheint "Powerbeats Wireless"und bluetoothaudiodfunktioniert austauschbar. Ich kann nur nicht herausfinden, wie ich auf die Parameter zugreifen batterypercentkann.

Bearbeiten 2:

Wenn Sie sich die Bluetooth-Dokumente ansehen, scheint es einen Batteriedienst zu geben , der den Batteriezustand und den Batteriestand offenlegt . Der Batteriestand kann mit der Unterprozedur GATT Read Characteristic Value gelesen werden , daher muss ich eine Möglichkeit finden, mit diesem Dienst über die Befehlszeile zu kommunizieren. Ich habe das Gefühl, dass batterypercentes möglicherweise nur für Standard-Peripheriegeräte (Trackpad, Maus, Tastatur) codiert ist, da alle Batterieüberwachungs-Widgets, die ich ausprobiert habe, nur mit solchen Geräten kompatibel sind.

Bearbeiten 3:

Fast ein Jahr später nochmal darauf eingehen. Ich weiß, dass ich ein drahtloses Trackpad und eine Tastatur habe und deren Akkuladestand einwandfrei sehen kann (sowohl in der Symbolleiste als auch in der Befehlszeile). Ich kann den Akkustand meiner Kopfhörer jedoch immer noch nicht abrufen und bin mir nicht sicher, warum: /

ioreg -c "Powerbeats Wireless" |grep -i batterygibt auch die allgemeinen Batterieinformationen zurück, also denke ich, dass ich den richtigen Gerätenamen habe. Aber warum batterylevelfunktioniert der Befehl nicht !! Smh
Bitte bearbeiten Sie Ihre Frage, anstatt Ihre eigene Frage zu kommentieren.
@IronCraftMan-Bearbeitungen sind jetzt abgeschlossen. Glaubst du, du könntest Hilfe anbieten?
Hallo - ich bin daran interessiert zu hören, ob Sie weitergekommen sind. Ich möchte die Akkulaufzeit von PS4-Controllern verlängern, die über BlueTooth mit meinem iMac verbunden sind.
Funktioniert auch nicht mit meinen JVC Bluetooth-Kopfhörern. Seltsam, denn mein 5 Jahre altes iPhone 4S hat kein Problem damit, mir den Akkustand mitzuteilen, wenn es angeschlossen ist.
Es sieht so aus, als ob einige Geräte und Macs nicht gut funktionieren - entweder kann die BT-Hardware im Mac dies nicht, oder (wahrscheinlicher) implementiert die Mac-Software einige Versionen des Standards nicht. Wenn wir direkt auf die BT-Hardware zugreifen könnten, gäbe es vielleicht Hoffnung? Das ist heute allerdings etwas außerhalb des Rahmens ;-) Vielleicht das?: github.com/toy/blueutil

Antworten (5)

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 Sie für das Argument -c ausprobieren können: AppleHSBluetoothDevice AppleHSBluetoothHIDDriver AppleMultitouchMouseHIDEventDriver AppleHIDKeyboardEventDriverV2 , sie geben unterschiedliche Ausgaben.

Keine der Antworten funktioniert für mich.

Diese App funktioniert bei mir:

https://github.com/jariz/Akku/ (Hinweis: An diesem Tool wird nicht mehr aktiv gearbeitet und es funktioniert nicht in Monterrey oder später)

Es ist Open Source und kostenlos.

Denken Sie daran, Version 0.1.0-beta.10 herunterzuladen.

Geben Sie hier die Bildbeschreibung ein

Habe lange nach so einer App gesucht. Danke vielmals!
Derzeit gibt es ein Problem mit Benachrichtigungen. Abgesehen davon habe ich auf 2 Geräten getestet und es hat perfekt funktioniert. :)
Hat bei mir mit JBL T460BT funktioniert. Vielen Dank.
Nette App, funktionierte aber nicht mit QC 35 II :( (kein gemeldeter Batteriezustand ...)
Meine Kopfhörer melden den Batteriestatus nicht, ohne dass dies ausdrücklich angefordert wird, und diese App fordert dies nicht an. Ich musste meine Kopfhörer auch an mein Telefon anschließen, damit es einen Bericht ausgeben kann, und diese App hat es abgefangen und angezeigt.

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 im Grunde laufenioreg -c <devicename> |grep '"BatteryPercent" ='

Beispiel:

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

Geben Sie hier die Bildbeschreibung ein

Darüber hinaus können Sie umfassendere Batterieinformationen abrufen mit:

ioreg -c BeatsBluetoothHeadset |grep Battery
Hey, danke für deine Antwort! Dieses Problem scheint spezifisch für die Beats-Kopfhörer zu sein, da ich auf den Batteriestand meiner drahtlosen Tastatur und meines drahtlosen Trackpads zugreifen kann. Wird die ursprüngliche Frage aktualisieren!
es funktioniert nicht für mich
Dieser Leitfaden sagt uns nicht, wie wir den Namen des Geräts finden können.

Ich habe gerade entdeckt, dass ich zum Überprüfen des Akkuladestands meiner Powerbeats 3 auf meinem Mac einfach zum Bluetooth-Menü im Symbolbereich oben rechts auf dem Bildschirm gehe, den Mauszeiger über Ihre verbundenen Powerbeats bewege und dann genau dort den Akkuladestand anzeigt. Ich hoffe, das hilft.

Dieser Satz von Flags reduziert die Ausgabe auf das Minimum und der folgende Code gibt Ihnen nur einen Prozentsatz als Zahl.

ioreg -r -n AppleDeviceManagementHIDEventService -k BatteryPercent | perl -nE '/"BatteryPercent" = (\d++)/ && say $1'

Ich benutze dies mit BetterTouchTool.