36 votes

Vérifier le niveau de la batterie des écouteurs Bluetooth connectés à partir de la ligne de commande

J'essaie de vérifier le niveau de la batterie de mes écouteurs sans fil à partir de la ligne de commande. Je suis tombé sur un quelques discussions et il semble que tout ce que j'ai à faire est d'entrer ce qui suit :

ioreg -c 'deviceName' |grep -i batterypercent

J'ai essayé cette commande en utilisant "Powerbeats Wireless" et "bluetoothaudiod" pour l'interface. 'deviceName' mais ni l'un ni l'autre ne renvoie le batterypercent . J'ai essayé ioreg -c bluetoothaudiod |grep -i battery pour obtenir des informations générales sur la batterie, et obtenir ceci comme réponse :

| |   +-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>

Si je connecte les écouteurs à mon iPhone le niveau de la batterie immédiatement s'affiche dans la barre d'outils. Cela me porte à croire que l'appareil diffuse le niveau de la batterie et que je devrais pouvoir accéder à cette information depuis mon ordinateur.

Comment puis-je vérifier le niveau de la batterie de mes écouteurs connectés en bluetooth ?

Edit :

Au début, je pensais que le problème venait du nom du périphérique, mais il semble que "Powerbeats Wireless" et bluetoothaudiod sont interchangeables. Je n'arrive juste pas à trouver comment accéder au batterypercent param.

Edit 2 :

En regardant la documentation sur le Bluetooth, il semble qu'il y ait un Service des batteries qui expose le État de la batterie et Niveau de la batterie . Le niveau de la batterie peut être lu à l'aide du GATT Sous-procédure de lecture de la valeur de la caractéristique J'ai donc besoin de trouver un moyen d'interagir avec ce service à partir de la ligne de commande. J'ai l'impression que batterypercent ne peut être codé que pour les périphériques standard (trackpad, souris, clavier), car tous les widgets de surveillance de la batterie que j'ai essayés ne sont compatibles qu'avec ces périphériques.

Edit 3 :

Je reviens sur ce sujet presque un an plus tard. Je sais que j'ai un trackpad et un clavier sans fil, et je peux parfaitement voir le niveau de leur batterie (dans la barre d'outils ou la ligne de commande). Je n'arrive toujours pas à obtenir le niveau de batterie de mes écouteurs, mais je ne sais pas pourquoi :/.

14voto

Minghao Ni Points 131

Sur mon iMac(MacOS 10.12.6), aucune des solutions mentionnées ci-dessus ne fonctionne. Après avoir lu la page de manuel de ioreg . La solution qui fonctionne sur mon ordinateur est la suivante :

// 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

Il y a d'autres classes de périphériques à essayer pour l'argument -c : AppleHSBluetoothDevice Pilote AppleHSBluetoothHIDDriver Pilote AppleMultitouchMouseHIDEventDriver Pilote AppleHIDKeyboardEventDriverV2 ils donnent des résultats différents.

10voto

Statham Points 226

Aucune des réponses ne me convient.

Cette application fonctionne pour moi :

https://github.com/jariz/Akku/ (note : cet outil n'est plus activement travaillé et ne fonctionnera pas à partir de Monterrey).

Il s'agit d'un logiciel libre et gratuit.

N'oubliez pas de télécharger la version 0.1.0-beta.10.

enter image description here

9voto

coddiwomplefrog Points 278

Vous devez utiliser ioreg . Vous devrez connaître le nom de l'appareil. Suivez simplement ce guide.

Le guide, en bref, vous demande essentiellement de faire le ioreg -c <devicename> |grep '"BatteryPercent" ='

Exemple :

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

enter image description here

De plus, vous pouvez récupérer des informations plus larges sur la batterie avec :

ioreg -c BeatsBluetoothHeadset |grep Battery

2voto

Gobii Points 11

Je viens de découvrir que pour vérifier le niveau de la batterie de mes Powerbeats 3 sur mon Mac, il suffit d'aller dans le menu Bluetooth dans la zone d'icônes en haut à droite de l'écran, de passer la souris sur vos Powerbeats connectés et il affiche le niveau de la batterie juste là. J'espère que cela vous aidera.

0voto

Yuriy Ershov Points 121

Cet ensemble de drapeaux réduit la sortie au minimum et le code suivant vous donne juste le pourcentage sous forme de nombre.

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

Je l'utilise avec BetterTouchTool.

LesApples.com

LesApples est une communauté de Apple où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres utilisateurs d'appareils Apple, poser vos propres questions ou résoudre celles des autres.

Powered by:

X